[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-womb] gnumaint README gnumaint Makefile mailtemplate-...,
Karl Berry <=