Sun Dec 20 12:50:44 2020 UTC ()
majordomo: make the List-Id header RFC2919 compliant


(spz)
diff -r1.57 -r1.58 pkgsrc/mail/majordomo/Makefile
diff -r1.20 -r1.21 pkgsrc/mail/majordomo/distinfo
diff -r1.5 -r1.6 pkgsrc/mail/majordomo/patches/patch-ai

cvs diff -r1.57 -r1.58 pkgsrc/mail/majordomo/Makefile (expand / switch to unified diff)

--- pkgsrc/mail/majordomo/Makefile 2020/08/31 18:09:57 1.57
+++ pkgsrc/mail/majordomo/Makefile 2020/12/20 12:50:44 1.58
@@ -1,17 +1,17 @@ @@ -1,17 +1,17 @@
1# $NetBSD: Makefile,v 1.57 2020/08/31 18:09:57 wiz Exp $ 1# $NetBSD: Makefile,v 1.58 2020/12/20 12:50:44 spz Exp $
2 2
3DISTNAME= majordomo-1.94.5 3DISTNAME= majordomo-1.94.5
4PKGREVISION= 25 4PKGREVISION= 26
5CATEGORIES= mail 5CATEGORIES= mail
6MASTER_SITES= ftp://ftp.sgi.com/other/majordomo/1.94.5/ 6MASTER_SITES= ftp://ftp.sgi.com/other/majordomo/1.94.5/
7MASTER_SITES+= ftp://ftp-europe.sgi.com/other/majordomo/1.94.5/ 7MASTER_SITES+= ftp://ftp-europe.sgi.com/other/majordomo/1.94.5/
8EXTRACT_SUFX= .tgz 8EXTRACT_SUFX= .tgz
9 9
10MAINTAINER= spz@NetBSD.org 10MAINTAINER= spz@NetBSD.org
11HOMEPAGE= https://www.greatcircle.com/majordomo/ 11HOMEPAGE= https://www.greatcircle.com/majordomo/
12COMMENT= The Majordomo mailing list manager 12COMMENT= The Majordomo mailing list manager
13 13
14LICENSE= majordomo-license 14LICENSE= majordomo-license
15 15
16PKG_DESTDIR_SUPPORT= destdir 16PKG_DESTDIR_SUPPORT= destdir
17MAKE_JOBS_SAFE= NO 17MAKE_JOBS_SAFE= NO

cvs diff -r1.20 -r1.21 pkgsrc/mail/majordomo/distinfo (expand / switch to unified diff)

--- pkgsrc/mail/majordomo/distinfo 2017/11/26 09:11:03 1.20
+++ pkgsrc/mail/majordomo/distinfo 2020/12/20 12:50:44 1.21
@@ -1,20 +1,20 @@ @@ -1,20 +1,20 @@
1$NetBSD: distinfo,v 1.20 2017/11/26 09:11:03 spz Exp $ 1$NetBSD: distinfo,v 1.21 2020/12/20 12:50:44 spz Exp $
2 2
3SHA1 (majordomo-1.94.5.tgz) = 44b18c7b9133f2cd992f6e718551d613d9d45c00 3SHA1 (majordomo-1.94.5.tgz) = 44b18c7b9133f2cd992f6e718551d613d9d45c00
4RMD160 (majordomo-1.94.5.tgz) = 7f6b48fb5cc5b23948133658b055588d0d6608c4 4RMD160 (majordomo-1.94.5.tgz) = 7f6b48fb5cc5b23948133658b055588d0d6608c4
5SHA512 (majordomo-1.94.5.tgz) = d771ee99f31110676ce526687c8c2f47e0b45afd14643fb10b46bed0e238cd9edc6394fb385ac5ed0bbf19e5ca3c368f7af06a3dc17ccccddac4999678285136 5SHA512 (majordomo-1.94.5.tgz) = d771ee99f31110676ce526687c8c2f47e0b45afd14643fb10b46bed0e238cd9edc6394fb385ac5ed0bbf19e5ca3c368f7af06a3dc17ccccddac4999678285136
6Size (majordomo-1.94.5.tgz) = 312244 bytes 6Size (majordomo-1.94.5.tgz) = 312244 bytes
7SHA1 (patch-aa) = 63bfda66e5a6435926110449b76326198565ff78 7SHA1 (patch-aa) = 63bfda66e5a6435926110449b76326198565ff78
8SHA1 (patch-ab) = 58aec7d2ad3625caf8bdcd9b41792a2075605fa5 8SHA1 (patch-ab) = 58aec7d2ad3625caf8bdcd9b41792a2075605fa5
9SHA1 (patch-ac) = 3f8973808314927f167392d640aefc67cd504a70 9SHA1 (patch-ac) = 3f8973808314927f167392d640aefc67cd504a70
10SHA1 (patch-ad) = 418f7fc79217871e608ca0ab2f71d477804fc7fb 10SHA1 (patch-ad) = 418f7fc79217871e608ca0ab2f71d477804fc7fb
11SHA1 (patch-ae) = 99285559c0fe86084fedbaad5a482062187b404d 11SHA1 (patch-ae) = 99285559c0fe86084fedbaad5a482062187b404d
12SHA1 (patch-af) = 1626b7580f3d4f00b3b8c0ed567bad7da84a30b2 12SHA1 (patch-af) = 1626b7580f3d4f00b3b8c0ed567bad7da84a30b2
13SHA1 (patch-ag) = 759a32dacb26221d83de97b463b2131b0f52a914 13SHA1 (patch-ag) = 759a32dacb26221d83de97b463b2131b0f52a914
14SHA1 (patch-ah) = ac08fa5d2fa321afe7fdf72783f8f2c887073bcd 14SHA1 (patch-ah) = ac08fa5d2fa321afe7fdf72783f8f2c887073bcd
15SHA1 (patch-ai) = b890754ba3b0b1311f82745ecc8949b127fe0ee2 15SHA1 (patch-ai) = ed36da4ae9aced322dd5c9c2119becf54f12a6aa
16SHA1 (patch-aj) = e423f61f6b493ae6ae30dda8b0de3ffa10caeefe 16SHA1 (patch-aj) = e423f61f6b493ae6ae30dda8b0de3ffa10caeefe
17SHA1 (patch-ak) = ea8a6b5e7ae563dd91fcb727d8c2634bdc65de02 17SHA1 (patch-ak) = ea8a6b5e7ae563dd91fcb727d8c2634bdc65de02
18SHA1 (patch-al) = 776088c5916b1b0516e8abaecd69870ba57f4a76 18SHA1 (patch-al) = 776088c5916b1b0516e8abaecd69870ba57f4a76
19SHA1 (patch-am) = 74e46f28cb152e152594d949b0116f1370dd1ae3 19SHA1 (patch-am) = 74e46f28cb152e152594d949b0116f1370dd1ae3
20SHA1 (patch-an) = 2e9a38d7d9eb46f472cec555349f19cad0a5036b 20SHA1 (patch-an) = 2e9a38d7d9eb46f472cec555349f19cad0a5036b

cvs diff -r1.5 -r1.6 pkgsrc/mail/majordomo/patches/patch-ai (expand / switch to unified diff)

--- pkgsrc/mail/majordomo/patches/patch-ai 2011/10/28 06:16:12 1.5
+++ pkgsrc/mail/majordomo/patches/patch-ai 2020/12/20 12:50:44 1.6
@@ -1,16 +1,18 @@ @@ -1,16 +1,18 @@
1$NetBSD: patch-ai,v 1.5 2011/10/28 06:16:12 spz Exp $ 1$NetBSD: patch-ai,v 1.6 2020/12/20 12:50:44 spz Exp $
2 2
3Quite messages from perl 5.14.1, this is very old code. 3Quiet messages from perl 5.14.1, this is very old code.
 4Be RFC2919 compliant (List-Id)
 5Add Mail-Reply-To and Mail-Followup-To headers
4 6
5--- resend.orig 2000-01-07 15:32:39.000000000 +0000 7--- resend.orig 2000-01-07 15:32:39.000000000 +0000
6+++ resend 8+++ resend
7@@ -71,15 +71,15 @@ if ($ARGV[0] =~ /^\@/) { 9@@ -71,15 +71,15 @@ if ($ARGV[0] =~ /^\@/) {
8 # getopts.pl was place where it's supposed to be. This changes previous 10 # getopts.pl was place where it's supposed to be. This changes previous
9 # behavior which allowed getopts.pl to be in the same place as 11 # behavior which allowed getopts.pl to be in the same place as
10 # majordomo.cf. 12 # majordomo.cf.
11-require "getopts.pl"; 13-require "getopts.pl";
12-&Getopts("C:c:Aa:df:h:I:l:M:p:Rr:s") || die("resend: Getopts() failed: $!"); 14-&Getopts("C:c:Aa:df:h:I:l:M:p:Rr:s") || die("resend: Getopts() failed: $!");
13+use Getopt::Std; 15+use Getopt::Std;
14+getopts("C:c:Aa:df:h:I:l:M:p:Rr:s") || die("resend: Getopts() failed: $!"); 16+getopts("C:c:Aa:df:h:I:l:M:p:Rr:s") || die("resend: Getopts() failed: $!");
15  17
16 if (! defined($opt_l)) { 18 if (! defined($opt_l)) {
@@ -37,27 +39,27 @@ Quite messages from perl 5.14.1, this is @@ -37,27 +39,27 @@ Quite messages from perl 5.14.1, this is
37@@ -316,7 +316,7 @@ $is_admin_header .= "\$taboo = \"\";\n}; 39@@ -316,7 +316,7 @@ $is_admin_header .= "\$taboo = \"\";\n};
38 if (! defined($admin_body)) { 40 if (! defined($admin_body)) {
39 &bitch("resend: \$admin_body not defined in $cf !!\n" . 41 &bitch("resend: \$admin_body not defined in $cf !!\n" .
40 "Majordomo will only catch \"subscribe\" and \"unsubscribe\" in\n" . 42 "Majordomo will only catch \"subscribe\" and \"unsubscribe\" in\n" .
41- "the body.\nLook at $homedir/sample.cf for a good definition."); 43- "the body.\nLook at $homedir/sample.cf for a good definition.");
42+ "the body.\nLook at $bindir/sample.cf for a good definition."); 44+ "the body.\nLook at $bindir/sample.cf for a good definition.");
43 @admin_body = ('/^subject:\s*subscribe\b/i' , 45 @admin_body = ('/^subject:\s*subscribe\b/i' ,
44 '/^subject:\s*unsubscribe\b/i'); 46 '/^subject:\s*unsubscribe\b/i');
45 } else { 47 } else {
46@@ -747,12 +747,20 @@ sub parse_header { 48@@ -747,12 +747,20 @@ sub parse_header {
47  49
48 # add new header fields 50 # add new header fields
49 print OUT "Sender: $sender\n"; 51 print OUT "Sender: $sender\n";
50+ print OUT "List-Id: ".$opt_l.".".$whereami."\n"; 52+ print OUT "List-Id: <".$opt_l.".".$whereami.">\n";
51+ 53+
52 if (defined($opt_p)) { 54 if (defined($opt_p)) {
53 print OUT "Precedence: $opt_p\n"; 55 print OUT "Precedence: $opt_p\n";
54 } 56 }
55  57
56 if (defined($opt_r)) { 58 if (defined($opt_r)) {
57 print OUT "Reply-To: ", &config'substitute_values($opt_r), "\n"; #'; 59 print OUT "Reply-To: ", &config'substitute_values($opt_r), "\n"; #';
58+ if (defined $reply_to) { 60+ if (defined $reply_to) {
59+ print OUT "Mail-Reply-To: $reply_to\n"; #'; 61+ print OUT "Mail-Reply-To: $reply_to\n"; #';
60+ } else { 62+ } else {
61+ print OUT "Mail-Reply-To: $from\n"; #'; 63+ print OUT "Mail-Reply-To: $from\n"; #';
62+ } 64+ }
63+ print OUT "Mail-Followup-To: ", &config'substitute_values($opt_r), "\n"; #'; 65+ print OUT "Mail-Followup-To: ", &config'substitute_values($opt_r), "\n"; #';