[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commit-womb] gnumaint Makefile README gm gnumaint sendmaintm...
From: |
Karl Berry |
Subject: |
[commit-womb] gnumaint Makefile README gm gnumaint sendmaintm... |
Date: |
Fri, 15 Feb 2008 19:06:53 +0000 |
CVSROOT: /sources/womb
Module name: gnumaint
Changes by: Karl Berry <karl> 08/02/15 19:06:53
Modified files:
. : Makefile README gm gnumaint sendmaintmail
Added files:
. : mailtoname
Log message:
record real names in activity-report.txt
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnumaint/Makefile?cvsroot=womb&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/gnumaint/README?cvsroot=womb&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/gnumaint/gm?cvsroot=womb&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnumaint/gnumaint?cvsroot=womb&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/gnumaint/sendmaintmail?cvsroot=womb&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/gnumaint/mailtoname?cvsroot=womb&rev=1.1
Patches:
Index: Makefile
===================================================================
RCS file: /sources/womb/gnumaint/Makefile,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- Makefile 15 Feb 2008 01:35:41 -0000 1.14
+++ Makefile 15 Feb 2008 19:06:53 -0000 1.15
@@ -9,7 +9,7 @@
test-rece:
# gnumaint recemail </etc/issue
# gnumaint recemail <testjunk1.msg
-# gnumaint recemail <testgood1.msg
+ gnumaint recemail <testgood1.msg
# gnumaint recemail <testaddr+real.msg
# gnumaint recemail <testaddrangle.msg
# gnumaint recemail <testaddrcase.msg
@@ -43,6 +43,9 @@
gnumaint help list $(sep)
gnumaint help $(sep)
+test-activity-convert:
+ mailtoname
+
test-maint-convert:
# maintfileupgrade $(gorg)/maintainers | dos2unix
maintfileupgrade m.src | dos2unix | tee m.new
Index: README
===================================================================
RCS file: /sources/womb/gnumaint/README,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- README 30 Dec 2007 17:05:09 -0000 1.9
+++ README 15 Feb 2008 19:06:53 -0000 1.10
@@ -38,5 +38,4 @@
no non-email maintainers in .bypkg
multiple email fields -> error
on receipt, have to match any altemail not just primary
-activity-report should record name, not mutable email
must ignore maintainers without email, not send to empty
Index: gm
===================================================================
RCS file: /sources/womb/gnumaint/gm,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- gm 15 Feb 2008 01:35:41 -0000 1.8
+++ gm 15 Feb 2008 19:06:53 -0000 1.9
@@ -1,5 +1,5 @@
#!/usr/bin/env perl
-# $Id: gm,v 1.8 2008/02/15 01:35:41 karl Exp $
+# $Id: gm,v 1.9 2008/02/15 19:06:53 karl Exp $
# More gnumaint-related stuff, since I think better in Perl than TCL.
#
# Copyright 2007, 2008 Free Software Foundation Inc.
@@ -112,7 +112,7 @@
&debug ("$p recently released, skipping");
} elsif (exists $activity{$p}) {
- # xx have to only check back to a certain date eventually
+ # xx must check back to some cutoff, eventually
&debug ("$p got activity reply, skipping");
} elsif ($pkgs{$p}[0]->{"name"} eq "unmaintained") {
@@ -259,7 +259,7 @@
open (ACTIVITY_FILE) || die "open($ACTIVITY_FILE) failed: $!";
while (<ACTIVITY_FILE>) {
- my ($email,$pkg,$time) = split (/\|/);
+ my ($name,$email,$pkg,$time) = split (/\|/);
# later entries will simply overwrite earlier ones; seems ok?
if ($how eq "by-package") {
Index: gnumaint
===================================================================
RCS file: /sources/womb/gnumaint/gnumaint,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- gnumaint 21 Aug 2007 23:16:17 -0000 1.39
+++ gnumaint 15 Feb 2008 19:06:53 -0000 1.40
@@ -1,6 +1,6 @@
#!/usr/bin/env tclsh
# gnumaint - GNU maintainers file maintenance (/gd/gnuorg/maintainers)
-# $Id: gnumaint,v 1.39 2007/08/21 23:16:17 karl Exp $
+# $Id: gnumaint,v 1.40 2008/02/15 19:06:53 karl Exp $
#
# Copyright 2007 Free Software Foundation Inc.
#
@@ -352,6 +352,7 @@
;# Collect information for this maintainer
foreach maintainer $maintainersdb {
if {[lindex $maintainer 1] == $maintainer_email} then {
+ set maintainer_name [lindex $maintainer 0]
set maintainer_packages [lindex $maintainer 3]
break;
}
@@ -361,7 +362,7 @@
set fout [open $report_file a]
foreach pkg $maintainer_packages {
- set pkgline "$maintainer_email|$pkg|[timestamp]"
+ set pkgline "$maintainer_name|$maintainer_email|$pkg|[timestamp]"
puts $fout $pkgline
}
Index: sendmaintmail
===================================================================
RCS file: /sources/womb/gnumaint/sendmaintmail,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- sendmaintmail 21 Aug 2007 23:16:17 -0000 1.6
+++ sendmaintmail 15 Feb 2008 19:06:53 -0000 1.7
@@ -1,5 +1,5 @@
#!/usr/bin/env perl
-# $Id: sendmaintmail,v 1.6 2007/08/21 23:16:17 karl Exp $
+# $Id: sendmaintmail,v 1.7 2008/02/15 19:06:53 karl Exp $
# Send or refrain from sending a message to a maintainer.
#
# Copyright 2007 Free Software Foundation Inc.
@@ -53,14 +53,14 @@
# recently enough in activity-report.txt.
#
my $now = time ();
- my $cutoff = $now - 300 * 24 * 60 * 60; # don't bother them for 300 days
+ my $cutoff = $now - 512 * 24 * 60 * 60; # don't bother them for 512 days
#warn "cutoff seconds: $cutoff\n";
#
chomp (my @activity = `cat activity-report.txt`);
@activity = reverse @activity; # newest first
#
for my $a (@activity) {
- my ($email,$pkg,$time) = split (/\|/, $a);
+ my ($name, $email,$pkg,$time) = split (/\|/, $a);
next unless $time; # last_sendemail has two fields
$time =~ tr/./ /; # date -d wants a space between date and time
substr ($time,13,2) = ""; # wipe out seconds, date -d can't handle
Index: mailtoname
===================================================================
RCS file: mailtoname
diff -N mailtoname
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ mailtoname 15 Feb 2008 19:06:53 -0000 1.1
@@ -0,0 +1,99 @@
+#!/usr/bin/env perl
+# We originally used email addresses in activity-report.txt; turns out
+# it's much better to include real names, since email addresses change and
+# vary. This one-time script does a simplistic conversion, with hand
+# clean-up needed afterwards.
+
+exit (&main ());
+
+sub main
+{
+ my %names = &read_maintainers ("by-email");
+ my @activity = &read_activity ("activity-report.txt");
+
+ for my $a (@activity) {
+ my ($email,$pkg,$date) = split (/\|/, $a);
+ print $names{lc ($email)};
+ print "|$email|$pkg|$date";
+ }
+
+ return 0;
+}
+
+
+
+# just do very basic parsing for this one-time job.
+# return hash where keys are email addresses and values are names.
+# we record all emails we can find.
+#
+sub read_maintainers
+{
+ my %ret;
+
+ $MAINTAINERS_FILE = "m.link";
+ open (MAINTAINERS_FILE) || die "open($MAINTAINERS_FILE) failed: $!";
+
+ # ignore first part of maintainers, through the first form feed.
+ while (<MAINTAINERS_FILE>) {
+ chomp;
+ last if /^\f$/;
+ }
+
+ # read the real information.
+ my (@email_list, $name);
+ while (<MAINTAINERS_FILE>) {
+ chomp;
+ next if /^#/; # ignore comments
+
+ # at a blank line, save the maintainer info we've accumulated, if any.
+ if (/^\s*$/) {
+ for my $e (@email_list) {
+ if (exists $ret{$e}) {
+ warn "already saw email $e for $ret{$e}, now have $name";
+ } else {
+ $ret{$e} = $name;
+ }
+ }
+
+ @email_list = ();
+ $name = undef;
+
+ last if /^\f$/; # form feed marks end of info.
+ next;
+ }
+
+ # key is everything before the first colon.
+ # value is everything after the first colon and whitespace.
+ my ($key,$val) = split (/:\s*/, $_, 2);
+
+ # just want name and email addresses.
+ if ($key eq "name") {
+ $name = $val;
+ } elsif ($key =~ /email/) {
+ push (@email_list, lc ($val));
+ }
+ }
+
+ # skip the rest.
+ close (MAINTAINERS_FILE) || warn "close($MAINTAINERS_FILE) failed: $!";
+
+ return %ret;
+}
+
+
+
+sub read_activity
+{
+ my ($file) = @_;
+ my (@ret);
+
+ local *FILE;
+ $FILE = $file;
+ open (FILE) || die "open($FILE) failed: $!";
+ while (<FILE>) {
+ push (@ret, $_);
+ }
+ close (FILE) || warn "close($FILE) failed: $!";
+
+ return @ret;
+}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [commit-womb] gnumaint Makefile README gm gnumaint sendmaintm...,
Karl Berry <=