commit-womb
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-womb] gnumaint README gnumaint Makefile mailtemplate-...


From: Karl Berry
Subject: [Commit-womb] gnumaint README gnumaint Makefile mailtemplate-...
Date: Tue, 02 Jan 2007 18:41:00 +0000

CVSROOT:        /sources/womb
Module name:    gnumaint
Changes by:     Karl Berry <karl>       07/01/02 18:41:00

Modified files:
        .              : README gnumaint 
Added files:
        .              : Makefile mailtemplate-active.txt 

Log message:
        more help msg changes/user level names/etc.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnumaint/README?cvsroot=womb&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/gnumaint/gnumaint?cvsroot=womb&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/gnumaint/Makefile?cvsroot=womb&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gnumaint/mailtemplate-active.txt?cvsroot=womb&rev=1.1

Patches:
Index: README
===================================================================
RCS file: /sources/womb/gnumaint/README,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- README      29 Dec 2006 02:20:48 -0000      1.2
+++ README      2 Jan 2007 18:41:00 -0000       1.3
@@ -1,57 +1,13 @@
 gnumaint is a manager for the /gd/gnuorg/maintainers file, the
 official list of GNU packages and maintainers.
+It was written by Jose Marchesi in 2006-07.
 
 You can get listings (see ./gnumaint help list),
-send the contact emails (./gnumaint help sendemail),
-and receive the answers from the maintainers (./gnumaint help recemail).
+send email to maintainers (./gnumaint help sendemail),
+and receive answers from the maintainers (./gnumaint help recemail).
 
-gnumaint suppor the `sendemail' operation, where you should specify
-which kind of email you want to send to all the maintainers. Now there
-is only one type of email: `activity'.
-So you want to run gnumaint as:
+If any questions/sugestions, please email address@hidden
 
-    gnumaint sendemail activity
-
-Before to run the script (from a crontab job or by hand) you need to
-setup several variables in the Global variables section of the script:
-
-   mail_activity
-
-       This is the place where the template for activity checking
-       emails is stored. See below for how to write an email
-       template. 
-
-   formail
-  
-       This is the location of the `formail' executable, used by
-       gnumaint to format emails.
-
-   sendmail
-
-       This is the location of the sendmail-compatible executable,
-       used by gnumaint to actually send the emails.
-
-
-There is an example of template file (i used this one for testing
-purposes):
-
---- begin of template file ---
-maintenance activity test
-
-Dear %MAINTAINER_NAME
-
-Please answer this email in order we can make sure you
-are still actively maintaining the following packages:
-
-%PACKAGE_LIST
-
-Sinceresly,
-GNU Project Spamming Section
---- end of template file ---
-
-The first line of the template is the subject line. The rest of the
-file is the body of the email. Note the substitution keywords
-%PACKAGE_LIST and %MAINTAINER_NAME.
 
 Ok. An example email generated by that template follows.
 

Index: gnumaint
===================================================================
RCS file: /sources/womb/gnumaint/gnumaint,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- gnumaint    31 Dec 2006 22:56:13 -0000      1.12
+++ gnumaint    2 Jan 2007 18:41:00 -0000       1.13
@@ -2,7 +2,7 @@
 #
 # gnumaint - GNU maintainers file maintenance (/gd/gnuorg/maintainers)
 #
-# Copyright (C) 2006 Free Software Foundation Inc.
+# Copyright (C) 2007 Free Software Foundation Inc.
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -15,29 +15,29 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 
USA.
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 # Originally written by Jose Marchesi.
 
 ## Global variables (configuration section)
 
 variable maintainers_file "maintainers.new"
-variable mail_activity    "mailtestforactivity.txt"
+variable mailtemplate_active  "mailtemplate-active.txt"
 variable formail          "/usr/bin/formail"
 variable sendmail         "/usr/sbin/sendmail"
-variable logfile          "/tmp/gnumaint.log"
+variable log_file             "gnumaint.log"
 variable email_originator "address@hidden"
 variable email_reply      "address@hidden"
 variable lockfile_command "/usr/bin/lockfile"
 
 proc do_help_usage {} {
   global maintainers_file
-  global mail_activity
+  global log_file
 
   puts "Usage: gnumaint OPERATION \[ARG\]..."
   puts ""
-  puts "Manage GNU maintainer information."
+  puts "Manage the GNU maintainer list (/gd/gnuorg/maintainers)."
   puts ""
   puts "Available OPERATIONs:"
   puts "   list - retrieve information"
@@ -49,26 +49,85 @@
   puts ""
   puts "The maintainer information is taken from the file"
   puts "  $maintainers_file (GNUMAINT_MAINTAINERS_FILE envvar overrides)."
-  puts "The mail activity is recorded in the file"
-  puts "  $mail_activity (GNUMAINT_MAIL_ACTIVITY envvar overrides)."
+  puts "Log messages are written to the file"
+  puts "  $log_file"
   puts ""
-  puts "Please use the address@hidden address for any discussion."
+  puts "Please email address@hidden with any discussion."
 }
 
-# Maintainers database structure:
-#
-#   { {MAINTAINER-NAME MAINTAINER-EMAIL MAINTAINER-NOTES {PACKAGE1 PACKAGE2 
...}} ...}
-#
-set maintainersdb {}
+proc do_help_list {} {
+  puts "Usage: gnumaint list TOPIC \[ARG\]..."
+  puts ""
+  puts "List information about GNU maintainers to stdout."
+  puts ""
+  puts "Allowed TOPICs:"
+  puts "  packages \[ARG\]"
+  puts "    all \[or no argument\] - list all packages"
+  puts "    maintained - list all maintained packages"
+  puts "    unmaintained - list all unmaintained packages"
+  puts "    maintainer MAINTAINER - list MAINTAINER's packages"
+  puts "      (search is done in both names and email addresses)"
+  puts ""
+  puts "  maintainers \[ARG\]"
+  puts "    all \[or no argument\] - list all maintainers"
+  puts "    package PACKAGE - list maintainers of PACKAGE"
+  puts "      search is done for \"*PACKAGE*\", case-insensitive"
+  puts "    GLOB"
+  puts "      search for GLOB in maintainers file"
+}
+
+proc do_help_sendemail {} {
+  variable mailtemplate_active
+
+  puts "Usage: gnumaint sendemail EMAIL-TYPE"
+  puts ""
+  puts "Send email to maintainers.  At present we have one EMAIL-TYPE:"
+  puts "  active - send email to all maintainers requesting a reply"
+  puts "           to confirm that they are active.  Template file:"
+  puts "           $mailtemplate_active"
+}
+
+proc do_help_recemail {} {
+  puts "gnumaint recemail - receive an email from a maintainer"
+  puts "Usage:"
+  puts {}
+  puts "  gnumaint recemail"
+  puts {}
+}
+
+proc do_help_operation {topic} {
+  switch $topic {
+    sendemail {
+      do_help_sendemail
+    }
+    recemail {
+      do_help_recemail
+    }
+    list {
+      do_help_list
+    }
+    default {
+      puts "Unknown operation `$topic'"
+      do_help_usage
+    }
+  }
+}
 
 proc add_to_log {text} {
-    variable logfile
+    global log_file
 
-    set flog [open $logfile a]
+    set flog [open $log_file a]
     puts $flog "[exec date]: $text"
     close $flog
 }
 
+# 
+# Maintainers database structure:
+#
+#   { {MAINTAINER-NAME MAINTAINER-EMAIL MAINTAINER-NOTES {PACKAGE1 PACKAGE2 
...}} ...}
+#
+set maintainersdb {}
+
 proc get_entry_value {entry text} {
 
     set label_regexp "${entry}:"
@@ -215,103 +274,6 @@
     close $finput
 }
 
-proc get_environment {} {
-    
-    global env
-    global maintainers_file
-    global mail_test_for_activity
- 
-    # GNUMAINT_MAINTAINERS_FILE variable
-    if {[info exists env(GNUMAINT_MAINTAINERS_FILE)]} then {
-
-       set maintainers_file $env(GNUMAINT_MAINTAINERS_FILE)
-
-    }
-    # GNUMAINT_MAIL_ACTIVITY_FILE
-    if {[info exists env(GNUMAINT_MAIL_ACTIVITY_FILE)]} then {
-
-       set mail_test_for_activity $env(GNUMAINT_MAIL_ACTIVITY_FILE)
-
-    }
-
-}
-
-proc do_help_list {} {
-    puts "Usage: gnumaint list TOPIC \[ARG\]..."
-    puts ""
-    puts "List information about GNU maintainers to stdout."
-    puts ""
-    puts "Allowed TOPICs:"
-    puts "  packages \[ARG\]"
-    puts "    all \[or no argument\] - list all packages"
-    puts "    maintained - list all maintained packages"
-    puts "    unmaintained - list all unmaintained packages"
-    puts "    maintainer MAINTAINER - list MAINTAINER's packages"
-    puts "      (search is done in both names and email addresses)"
-    puts ""
-    puts "  maintainers \[ARG\]"
-    puts "    all \[or no argument\] - list all maintainers"
-    puts "    package PACKAGE - list maintainers of PACKAGE"
-    puts "      search is done for \"*PACKAGE*\", case-insensitive"
-    puts "    GLOB"
-    puts "      search for GLOB in maintainers file"
-}
-
-proc do_help_sendemail {} {
-
-    variable mail_activity
-
-    puts "gnumaint sendemail - send several kind of emails to maintainers"
-    puts "Usage:"
-    puts {}
-    puts "  gnumaint sendemail EMAIL-TYPE"
-    puts {}
-    puts "Allowed EMAIL-TYPEs are:"
-    puts {}
-    puts "   activity - send an email to maintainers requesting a reply to 
test activity"
-    puts "              this command uses the template located in "
-    puts "              $mail_activity"
-    puts {}
-}
-
-proc do_help_recemail {} {
-
-    variable mail_activity
-
-    puts "gnumaint recemail - receive an email from a maintainer"
-    puts "Usage:"
-    puts {}
-    puts "  gnumaint recemail"
-    puts {}
-}
-
-proc do_help_operation {topic} {
-
-    switch $topic {
-
-       sendemail {
-           
-           do_help_sendemail
-       }
-       recemail {
-
-           do_help_recemail
-
-       }
-       list {
-
-           do_help_list
-
-       }
-       default {
-
-           puts "Unknown operation `$topic'"
-           do_help_usage
-       }
-    }
-
-}
-
 proc do_recemail_operation {opargs} {
 
     variable maintainersdb
@@ -385,29 +347,24 @@
 }
 
 proc activity_annotate {} {
-
-
 }
 
+# 
 proc do_sendemail_operation {opargs} {
-
     if {[llength $opargs] == 1} then {
-
+    puts "Please specify sendemail type"
        do_help_sendemail
        exit 1
     }
 
     switch [lindex $opargs 1] {
-
-       activity {
-           
-           do_sendemail_operation_activity
+    active {
+      do_sendemail_operation_active
        }
        default {
-
+      puts "Unknown sendemail type `[lindex $opargs 1]'"
            do_help_sendemail
            exit 1
-
        }
     }
 }
@@ -422,17 +379,17 @@
     return $email_template
 }
 
-proc do_sendemail_operation_activity {} {
-    
+proc do_sendemail_operation_active {} {
     variable maintainersdb
     variable formail
     variable sendmail
-    variable mail_activity
+    variable mailtemplate_active
     variable email_originator
     variable email_reply
+    set maintainer_count 0
 
     ;# Read the email template
-    set email_contents_file [open $mail_activity r]
+    set email_contents_file [open $mailtemplate_active r]
     gets $email_contents_file subject_template
     set email_template [read -nonewline $email_contents_file]
     close $email_contents_file
@@ -456,7 +413,7 @@
         ;# Build the packages names list
         set pkg_list_str {}
         foreach pkg $maintainer_pkgs {
-            append pkg_list_str "- ${pkg}\n"
+            append pkg_list_str "- ${pkg}"
         }
 
         ;# Fill the template with this package/maintainer pair info
@@ -501,7 +458,11 @@
 
         ;# Append an entry into the log file
         add_to_log "sent activity control email to $maintainer_email for 
packages $pkg_list_str" 
+        
+        incr maintainer_count;
     }
+
+  puts "Sent email to $maintainer_count maintainers."
 }
 
 proc do_list_operation {opargs} {
@@ -734,8 +695,25 @@
     }
 }
 
-proc main {} {
+# 
+proc get_environment {} {
+    global env
+    global maintainers_file
+    global mailtemplate_active
 
+    # GNUMAINT_MAINTAINERS_FILE variable
+    if {[info exists env(GNUMAINT_MAINTAINERS_FILE)]} then {
+      set maintainers_file $env(GNUMAINT_MAINTAINERS_FILE)
+    }
+
+    # GNUMAINT_MAILTEMPLATE_ACTIVE
+    if {[info exists env(GNUMAINT_MAILTEMPLATE_ACTIVE)]} then {
+      set mailtemplate_active $env(GNUMAINT_MAILTEMPLATE_ACTIVE)
+    }
+
+}
+
+proc main {} {
     variable maintainersdb
     
     # Override configuration variables from

Index: Makefile
===================================================================
RCS file: Makefile
diff -N Makefile
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ Makefile    2 Jan 2007 18:41:00 -0000       1.1
@@ -0,0 +1,20 @@
+sep = | dos2unix; true ------------------------------------- 
+
+test-send:
+       gnumaint sendemail active $(sep)
+       
+test-list-maintainers:
+       gnumaint list maintainers $(sep)
+       gnumaint list maintainers package karl1test  $(sep)
+       gnumaint list maintainers karl $(sep)
+       
+test-list-packages:
+       gnumaint list packages $(sep)
+       gnumaint list packages maintained $(sep)
+       gnumaint list packages unmaintained $(sep)
+       gnumaint list packages maintainer karl $(sep)
+       
+test-help:
+       gnumaint help sendemail $(sep)
+       gnumaint help list $(sep)
+       gnumaint help $(sep)

Index: mailtemplate-active.txt
===================================================================
RCS file: mailtemplate-active.txt
diff -N mailtemplate-active.txt
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ mailtemplate-active.txt     2 Jan 2007 18:41:00 -0000       1.1
@@ -0,0 +1,9 @@
+%PACKAGE_LIST maintenance activity test
+
+Dear %MAINTAINER_NAME <%MAINTAINER_EMAIL>,
+
+Please answer this email in order we can make sure you
+are still actively maintaining %PACKAGE_LIST blah blah blah
+
+Sinceresly,
+GNU Project Spamming Section




reply via email to

[Prev in Thread] Current Thread [Next in Thread]