diff options
author | James FitzGibbon <jfitz@FreeBSD.org> | 1996-10-26 18:21:17 +0000 |
---|---|---|
committer | James FitzGibbon <jfitz@FreeBSD.org> | 1996-10-26 18:21:17 +0000 |
commit | 268003829330c6a646b1868f7f2a570aed9ca941 (patch) | |
tree | 0425362118e9d0426a783211269689ce17c35c4e /mail/majordomo | |
parent | 5c040824fe9bad32acc87bd74da96dc175ce46b0 (diff) | |
download | ports-268003829330c6a646b1868f7f2a570aed9ca941.tar.gz ports-268003829330c6a646b1868f7f2a570aed9ca941.zip |
Notes
Diffstat (limited to 'mail/majordomo')
-rw-r--r-- | mail/majordomo/Makefile | 72 | ||||
-rw-r--r-- | mail/majordomo/distinfo | 2 | ||||
-rw-r--r-- | mail/majordomo/files/aliases.majordomo | 12 | ||||
-rw-r--r-- | mail/majordomo/files/patch-aa | 135 | ||||
-rw-r--r-- | mail/majordomo/files/patch-ab | 148 | ||||
-rw-r--r-- | mail/majordomo/files/patch-ac | 169 | ||||
-rw-r--r-- | mail/majordomo/files/post-install-notes | 10 | ||||
-rw-r--r-- | mail/majordomo/files/test-l.info | 4 | ||||
-rw-r--r-- | mail/majordomo/pkg-descr | 4 | ||||
-rw-r--r-- | mail/majordomo/pkg-plist | 63 | ||||
-rw-r--r-- | mail/majordomo/scripts/configure | 28 | ||||
-rw-r--r-- | mail/majordomo/scripts/createuser | 50 |
12 files changed, 320 insertions, 377 deletions
diff --git a/mail/majordomo/Makefile b/mail/majordomo/Makefile index 99c7f69b9732..93415b4c0ae1 100644 --- a/mail/majordomo/Makefile +++ b/mail/majordomo/Makefile @@ -1,25 +1,77 @@ # New ports collection makefile for: majordomo -# Version required: 1.93 -# Date created: 8 Jul 1996 -# Whom: james@nexis.net +# Version required: 1.94 +# Date created: 23 October 1996 +# Whom: jfitz@FreeBSD.ORG # -# $Id$ +# $Id: Makefile,v 1.1.1.1 1996/07/20 01:39:21 asami Exp $ # -DISTNAME= majordomo-1.93 +DISTNAME= majordomo-1.94 CATEGORIES+= mail -MASTER_SITES= ftp://ftp.greatcircle.com/pub/majordomo/ +MASTER_SITES= ftp://ftp.greatcircle.com/pub/majordomo/ \ + ftp://ftp.sgi.com/other/majordomo/ \ + ftp://ftp-europe.sgi.com/other/majordomo/ + EXTRACT_SUFX= .tar.Z -MAINTAINER= james@nexis.net +MAINTAINER= jfitz@FreeBSD.ORG # Needs to create a user and group IS_INTERACTIVE= yes NO_PACKAGE= yes -ALL_TARGET= default -INSTALL_TARGET= install install-wrapper install-archive2 + +ALL_TARGET= wrapper +INSTALL_TARGET= install install-wrapper + +pre-configure: + @ ${SETENV} ${MAKE_ENV} /usr/bin/perl ${SCRIPTDIR}/createuser + @ ${CP} ${FILESDIR}/aliases.majordomo ${WRKSRC} + +pre-install: + @ ${CP} ${WRKSRC}/sample.cf ${WRKSRC}/majordomo.cf post-install: - cp -p ${FILESDIR}/post-install-notes ${PREFIX}/majordomo/Doc + @ ln -sf ${PREFIX}/majordomo/Tools/digest ${PREFIX}/majordomo + @ for dir in tmp lists/test-l.archive lists/test-l-digest.archive digests/test-l-digest doc; do \ + ${MKDIR} -p ${PREFIX}/majordomo/$$dir; \ + done + @ /usr/sbin/chown majordom.majordom ${PREFIX}/majordomo/tmp + @ /bin/chmod 700 ${PREFIX}/majordomo/tmp + @ /bin/chmod 755 ${PREFIX}/majordomo + @ for dir in digests lists lists/test-l.archive lists/test-l-digest.archive digests/test-l-digest doc; do \ + /usr/sbin/chown majordom.majordom ${PREFIX}/majordomo/$$dir; \ + /bin/chmod 775 ${PREFIX}/majordomo/$$dir; \ + done +.if !defined(NOPORTDOCS) + @ for file in Changelog FUTURE INSTALL LICENSE NEWLIST README; do \ + ${INSTALL_DATA} ${WRKSRC}/$$file ${PREFIX}/majordomo/doc; \ + done + @ for file in FAQ README.sequencer list-owner-info majordomo-faq.html majordomo.lisa6.ps majordomo.ora; do \ + ${INSTALL_DATA} ${WRKSRC}/Doc/$$file ${PREFIX}/majordomo/doc; \ + done + @ ${INSTALL_DATA} ${FILESDIR}/post-install-notes ${PREFIX}/majordomo/doc +.endif + @ ${INSTALL_DATA} ${WRKSRC}/aliases.majordomo ${PREFIX}/majordomo + @ for file in test-l test-l-digest test-l.passwd test-l.info; do \ + ${INSTALL_DATA} ${FILESDIR}/$$file ${PREFIX}/majordomo/lists; \ + done + @ ln -sf ${PREFIX}/majordomo/lists/test-l.info ${PREFIX}/majordomo/lists/test-l-digest.info + @ ln -sf ${PREFIX}/majordomo/lists/test-l.passwd ${PREFIX}/majordomo/lists/test-l-digest.passwd + @ /bin/chmod 660 ${PREFIX}/majordomo/lists/test-l.passwd +.if !defined(NOMANCOMPRESS) + @ for file in approve bounce-remind digest; do \ + gzip -9nf ${PREFIX}/man/man1/$$file.1; \ + done + @ gzip -9nf ${PREFIX}/man/man8/majordomo.8 +.endif + @ /usr/sbin/chown -R majordom.majordom ${PREFIX}/majordomo/lists + @ /bin/chmod -R 664 ${PREFIX}/majordomo/lists + @ /bin/chmod 775 ${PREFIX}/majordomo/lists + @ /bin/chmod 775 ${PREFIX}/majordomo/lists/test-l.archive + @ /bin/chmod 775 ${PREFIX}/majordomo/lists/test-l-digest.archive + @ /bin/chmod 660 ${PREFIX}/majordomo/lists/*.passwd +.if !defined(BATCH) + @ /usr/bin/more -e ${FILESDIR}/post-install-notes +.endif .include <bsd.port.mk> diff --git a/mail/majordomo/distinfo b/mail/majordomo/distinfo index d1434c302e44..87fc80d5d9db 100644 --- a/mail/majordomo/distinfo +++ b/mail/majordomo/distinfo @@ -1 +1 @@ -MD5 (majordomo-1.93.tar.Z) = c589a3c3d420d68e096eafdfdac0c8aa +MD5 (majordomo-1.94.tar.Z) = bbe4136d19b6ef640006890c251e29cb diff --git a/mail/majordomo/files/aliases.majordomo b/mail/majordomo/files/aliases.majordomo index b68cf7b935c1..f9085edd4b16 100644 --- a/mail/majordomo/files/aliases.majordomo +++ b/mail/majordomo/files/aliases.majordomo @@ -18,7 +18,7 @@ majordom: majordomo-owner #bounces-approval:owner-bounces #owner-bounces-outgoing:owner-bounces -#bounces: "|/usr/local/majordomo/wrapper resend -l bounces -h thud.cdrom.com bounces-outgoing" +#bounces: "|/usr/local/majordomo/wrapper resend -l bounces -h %%HOSTNAME%% bounces-outgoing" #bounces-outgoing::include:/usr/local/majordomo/lists/bounces @@ -34,7 +34,7 @@ owner-test-l-digest-outgoing:owner-test-l test-l-approval:owner-test-l test-l-digest-approval:owner-test-l -test-l: "|/usr/local/majordomo/wrapper resend -l test-l -h thud.cdrom.com test-l-outgoing" +test-l: "|/usr/local/majordomo/wrapper resend -l test-l -h %%HOSTNAME%% test-l-outgoing" test-l-digest:test-l test-l-outgoing::include:/usr/local/majordomo/lists/test-l, "|/usr/local/majordomo/wrapper archive -a -m -f /usr/local/majordomo/lists/test-l.archive/test-l.archive", @@ -65,7 +65,7 @@ test-l-digest-request: "|/usr/local/majordomo/wrapper majordomo -l test-l-digest #owner-listname-outgoing:owner-listname #listname-approval:owner-listname -#listname: "|/usr/local/majordomo/wrapper resend -l listname -h thud.cdrom.com listname-outgoing" +#listname: "|/usr/local/majordomo/wrapper resend -l listname -h %%HOSTNAME%% listname-outgoing" #listname-outgoing::include:/usr/local/majordomo/lists/listname #listname-request: "|/usr/local/majordomo/wrapper majordomo -l listname" @@ -78,7 +78,7 @@ test-l-digest-request: "|/usr/local/majordomo/wrapper majordomo -l test-l-digest #owner-listname-outgoing:owner-listname #listname-approval:owner-listname -#listname: "|/usr/local/majordomo/wrapper resend -l listname -h thud.cdrom.com listname-outgoing" +#listname: "|/usr/local/majordomo/wrapper resend -l listname -h %%HOSTNAME%% listname-outgoing" #listname-outgoing::include:/usr/local/majordomo/lists/listname, # "|/usr/local/majordomo/wrapper archive -a -m -f /usr/local/majordomo/lists/listname.archive/listname.archive" @@ -95,7 +95,7 @@ test-l-digest-request: "|/usr/local/majordomo/wrapper majordomo -l test-l-digest #listname-approval:owner-listname #listname-digest-approval:owner-listname -#listname: "|/usr/local/majordomo/wrapper resend -l listname -h thud.cdrom.com listname-outgoing" +#listname: "|/usr/local/majordomo/wrapper resend -l listname -h %%HOSTNAME%% listname-outgoing" #listname-digest:listname #listname-outgoing::include:/usr/local/majordomo/lists/listname, # "|/usr/local/majordomo/wrapper digest -r -C -l listname-digest listname-digest-outgoing" @@ -115,7 +115,7 @@ test-l-digest-request: "|/usr/local/majordomo/wrapper majordomo -l test-l-digest #listname-approval:owner-listname #listname-digest-approval:owner-listname -#listname: "|/usr/local/majordomo/wrapper resend -l listname -h thud.cdrom.com listname-outgoing" +#listname: "|/usr/local/majordomo/wrapper resend -l listname -h %%HOSTNAME%% listname-outgoing" #listname-digest:listname #listname-outgoing::include:/usr/local/majordomo/lists/listname, # "|/usr/local/majordomo/wrapper archive -a -m -f /usr/local/majordomo/lists/listname.archive/listname.archive", diff --git a/mail/majordomo/files/patch-aa b/mail/majordomo/files/patch-aa index 9d843a19c6c0..120331739208 100644 --- a/mail/majordomo/files/patch-aa +++ b/mail/majordomo/files/patch-aa @@ -1,81 +1,54 @@ -*** Makefile.orig Mon Jul 8 23:41:43 1996 ---- Makefile Tue Jul 9 11:24:56 1996 -*************** -*** 19,31 **** - # - - # This is where "wrapper" looks for the programs it's supposed to run. -! W_BIN=/tools/majordomo-1.93 - - # This is the environment that (along with LOGNAME and USER inherited from the - # parent process, and without the leading "W_" in the variable names) gets - # passed to processes run by "wrapper" - -! W_PATH=/bin:/usr/bin:/usr/ucb - W_HOME=${W_BIN} - W_SHELL=/bin/csh - W_MAJORDOMO_CF=$(W_BIN)/majordomo.cf ---- 19,31 ---- - # - - # This is where "wrapper" looks for the programs it's supposed to run. -! W_BIN=@@PREFIX@@/majordomo - - # This is the environment that (along with LOGNAME and USER inherited from the - # parent process, and without the leading "W_" in the variable names) gets - # passed to processes run by "wrapper" - -! W_PATH=/bin:/usr/bin: - W_HOME=${W_BIN} - W_SHELL=/bin/csh - W_MAJORDOMO_CF=$(W_BIN)/majordomo.cf -*************** -*** 45,52 **** - # and comment out the BSD settings above. - # - # -! W_UID = 54 -! W_GID = 54 - W_CHOWN=root - W_CHMOD=4755 - WRAPPER_FLAGS = -DBIN=\"${W_BIN}\" -DPATH=\"PATH=${W_PATH}\" \ ---- 45,52 ---- - # and comment out the BSD settings above. - # - # -! W_UID = @@UID@@ -! W_GID = @@GID@@ - W_CHOWN=root - W_CHMOD=4755 - WRAPPER_FLAGS = -DBIN=\"${W_BIN}\" -DPATH=\"PATH=${W_PATH}\" \ -*************** -*** 83,99 **** - # proper place unless a majordomo.cf file exists in whcih case the - # majordomo.cf file will be used. - install-cf: -! (test ! -f majordomo.cf && echo "using sample.cf" && \ -! cp sample.cf $(W_BIN)/majordomo.cf; exit 0) -! (test -f majordomo.cf && echo "using majordomo.cf" && \ -! cp majordomo.cf $(W_BIN)/majordomo.cf; exit 0) - - install-man: -! @-test -d $(W_BIN)/man || mkdir $(W_BIN)/man -! @-test -d $(W_BIN)/man/man1 || mkdir $(W_BIN)/man/man1 -! @-test -d $(W_BIN)/man/man8 || mkdir $(W_BIN)/man/man8 -! cp Doc/man/approve.1 $(W_BIN)/man/man1 -! cp Doc/man/majordomo.8 $(W_BIN)/man/man8 - - install-shared: install-wrapper-shared install-scripts - ---- 83,93 ---- - # proper place unless a majordomo.cf file exists in whcih case the - # majordomo.cf file will be used. - install-cf: -! cp sample.cf $(W_BIN)/majordomo.cf - - install-man: -! cp Doc/man/approve.1 @@PREFIX@@/man/man1 -! cp Doc/man/majordomo.8 @@PREFIX@@/man/man8 - - install-shared: install-wrapper-shared install-scripts - +--- Makefile.orig Sun Oct 20 09:23:18 1996 ++++ Makefile Wed Oct 23 15:56:10 1996 +@@ -12,7 +12,7 @@ + # + # Where is Perl located? + +-PERL = /bin/perl5 ++PERL = ${PREFIX}/bin/perl + + # + # If your default 'chown' doesn't support the USER.GROUP syntax, +@@ -23,15 +23,15 @@ + # + # The location of Majordomo. Wrapper looks here for programs to run. + +-W_HOME = /usr/test/majordomo-$(VERSION) ++W_HOME = ${PREFIX}/majordomo + + # + # Where do you want the manual pages installed? By default, this is + # $(W_HOME)/man/man[18] + # +-W_MAN = $(W_HOME)/man +-MAN1 = $(W_HOME)/man/man1 +-MAN8 = $(W_HOME)/man/man8 ++W_MAN = ${PREFIX}/man ++MAN1 = ${PREFIX}/man/man1 ++MAN8 = $(PREFIX)/man/man8 + + # What permissions does wrapper need? + # (6755 = -rwsr-s-r-x, 4755 = -rwsr-xr-x) +@@ -43,7 +43,7 @@ + # parent process, and without the leading "W_" in the variable names) gets + # passed to processes run by "wrapper" + +-W_PATH = /bin:/usr/bin:/usr/ucb ++W_PATH = /bin:/usr/bin + W_BIN = $(W_HOME) + W_SHELL = /bin/csh + W_MAJORDOMO_CF = $(W_BIN)/majordomo.cf +@@ -53,11 +53,11 @@ + + # majordomo on my system + # +-W_USER = 443 ++W_USER = %%MJUID%% + # + # daemon on my system + # +-W_GROUP = 1 ++W_GROUP = %%MJGID%% + # + # You might need to change : to . + # diff --git a/mail/majordomo/files/patch-ab b/mail/majordomo/files/patch-ab index c1c351d15ab9..80f44cc40c37 100644 --- a/mail/majordomo/files/patch-ab +++ b/mail/majordomo/files/patch-ab @@ -1,89 +1,59 @@ -*** sample.cf.orig Tue Jul 9 09:32:19 1996 ---- sample.cf Tue Jul 9 09:35:46 1996 -*************** -*** 1,5 **** - # $whereami -- What machine am I running on? -! $whereami = "foo.GreatCircle.COM"; - - # $whoami -- Who do users send requests to me as? - $whoami = "Majordomo@$whereami"; ---- 1,5 ---- - # $whereami -- What machine am I running on? -! $whereami = "@@HOSTNAME@@"; - - # $whoami -- Who do users send requests to me as? - $whoami = "Majordomo@$whereami"; -*************** -*** 12,29 **** - if ( defined $ENV{"HOME"}) { - $homedir = $ENV{"HOME"}; - } else { -! $homedir = "/usr/local/majordomo-1.92"; - } - - # $listdir -- Where are the mailing lists? -! $listdir = "/usr/local/mail/lists"; - - # $digest_work_dir -- the parent directory for digest's queue area - # Each list must have a subdirectory under this directory in order for - # digest to work. E.G. The bblisa list would use: - # /usr/local/mail/digest/bblisa - # as its directory. -! $digest_work_dir = '/usr/local/mail/digest'; - - # $log -- Where do I write my log? - $log = "$homedir/Log"; ---- 12,29 ---- - if ( defined $ENV{"HOME"}) { - $homedir = $ENV{"HOME"}; - } else { -! $homedir = "/usr/local/majordomo-1.93"; - } - - # $listdir -- Where are the mailing lists? -! $listdir = "@@PREFIX@@/majordomo/lists"; - - # $digest_work_dir -- the parent directory for digest's queue area - # Each list must have a subdirectory under this directory in order for - # digest to work. E.G. The bblisa list would use: - # /usr/local/mail/digest/bblisa - # as its directory. -! $digest_work_dir = "@@PREFIX@@/majordomo/digests"; - - # $log -- Where do I write my log? - $log = "$homedir/Log"; -*************** -*** 33,39 **** - # however the $to variable is provided by the person sending mail, - # and much mischief can be had by playing with this variable. - # Use $to with care. -! $mailer = "/usr/lib/sendmail -f\$sender -t"; - - # Majordomo will look for "get" and "index" files related to $list in - # directory "$filedir/$list$filedir_suffix", so set $filedir and ---- 33,39 ---- - # however the $to variable is provided by the person sending mail, - # and much mischief can be had by playing with this variable. - # Use $to with care. -! $mailer = "/usr/sbin/sendmail -f\$sender -t"; - - # Majordomo will look for "get" and "index" files related to $list in - # directory "$filedir/$list$filedir_suffix", so set $filedir and -*************** -*** 73,79 **** - # the safe locations for archive directories. This should be defined as - # a series of root anchored directory paths as will be used as prefixes - # to the file names specified to the archive2.pl script. -! @archive_dirs = ( "/spool/archive/bblisa", "/usr/spool/archive/firewalls" ); - - - # Set this to 1 if you want to use the experimental mechanism for allowing ---- 73,80 ---- - # the safe locations for archive directories. This should be defined as - # a series of root anchored directory paths as will be used as prefixes - # to the file names specified to the archive2.pl script. -! @archive_dirs = ( "@@PREFIX@@/majordomo/lists/test-l.archive", -! ); - - - # Set this to 1 if you want to use the experimental mechanism for allowing +--- sample.cf.orig Tue Oct 8 15:02:14 1996 ++++ sample.cf Sat Oct 26 13:19:04 1996 +@@ -1,23 +1,19 @@ + # $whereami -- What machine am I running on? + # +-$whereami = "foo.NOWHERE.COM"; ++$whereami = "%%HOSTNAME%%"; + + # $whoami -- Who do users send requests to me as? + # +-$whoami = "Majordomo\@$whereami"; ++$whoami = "majordomo\@$whereami"; + + # $whoami_owner -- Who is the owner of the above, in case of problems? + # +-$whoami_owner = "Majordomo-Owner\@$whereami"; ++$whoami_owner = "majordomo-owner\@$whereami"; + + # $homedir -- Where can I find my extra .pl files, like majordomo.pl? + # the environment variable HOME is set by the wrapper + # +-if ( defined $ENV{"HOME"}) { +- $homedir = $ENV{"HOME"}; +-} else { +- $homedir = "/usr/test/majordomo"; +-} ++$homedir = "%%PREFIX%%/majordomo"; + + # $listdir -- Where are the mailing lists? + # +@@ -29,7 +25,7 @@ + # /usr/local/mail/digest/bblisa + # as its directory. + # +-$digest_work_dir = '/usr/local/mail/digest'; ++$digest_work_dir = "%%PREFIX%%/majordomo/digests"; + + # $log -- Where do I write my log? + # +@@ -39,8 +35,8 @@ + # usually /usr/lib/sendmail, but some newer BSD systems + # seem to prefer /usr/sbin/sendmail + # +-$sendmail_command = "/usr/lib/sendmail"; +-# $sendmail_command = "/usr/sbin/sendmail"; ++# $sendmail_command = "/usr/lib/sendmail"; ++$sendmail_command = "/usr/sbin/sendmail"; + + # $mailer -- What program and args do I use to send mail to the list? + # $bounce_mailer -- What is used to send mail anywhere else? +@@ -152,7 +148,7 @@ + # majordomo has r/w permission to. + # Uses the environment variable TMPDIR, since that's pretty common + # +-$TMPDIR = $ENV{'TMPDIR'} || '/usr/tmp'; ++$TMPDIR = '%%PREFIX%%/majordomo/tmp'; + + # Tune the number of retries that shlock does before aborting. + # This defaults to 600, with a random sleep from 1-10 seconds between diff --git a/mail/majordomo/files/patch-ac b/mail/majordomo/files/patch-ac index 622e5d18433e..efe35459933f 100644 --- a/mail/majordomo/files/patch-ac +++ b/mail/majordomo/files/patch-ac @@ -1,158 +1,11 @@ -*** majordomo.pl.orig Tue Jul 9 12:59:43 1996 ---- majordomo.pl Tue Jul 9 13:00:47 1996 -*************** -*** 241,247 **** - } - - # Globals referenced by &set_mail* and &sendmail -! $mail_prog = "/usr/lib/sendmail -f\$sender -t"; - $mail_from = "Majordomo"; - $mail_sender = "Majordomo-Owner"; - ---- 241,247 ---- - } - - # Globals referenced by &set_mail* and &sendmail -! $mail_prog = "/usr/sbin/sendmail -f\$sender -t"; - $mail_from = "Majordomo"; - $mail_sender = "Majordomo-Owner"; - -*** request-answer.orig Tue Jul 9 13:07:44 1996 ---- request-answer Tue Jul 9 13:09:07 1996 -*************** -*** 38,44 **** - $list = $ARGV[0]; - - sub do_exec_sendmail { -! exec("/usr/lib/sendmail", "-f$list-request", "-t") || - die("Failed to exec sendmail"); - } - ---- 38,44 ---- - $list = $ARGV[0]; - - sub do_exec_sendmail { -! exec("/usr/sbin/sendmail", "-f$list-request", "-t") || - die("Failed to exec sendmail"); - } - -*** resend.orig Tue Jul 9 13:09:13 1996 ---- resend Tue Jul 9 13:09:57 1996 -*************** -*** 348,354 **** - &bounce("Approval required"); - } - -! $sendmail_cmd = "/usr/lib/sendmail $opt_m -f$sendmail_sender " . - join(" ", @ARGV); - - if (defined($opt_d)) { ---- 348,354 ---- - &bounce("Approval required"); - } - -! $sendmail_cmd = "/usr/sbin/sendmail $opt_m -f$sendmail_sender " . - join(" ", @ARGV); - - if (defined($opt_d)) { -*************** -*** 464,472 **** - if (defined($opt_d)) { - # debugging, so just say it, don't do it - open(MAIL, ">-"); -! print MAIL ">>> /usr/lib/sendmail -f$sendmail_sender -t\n"; - } else { -! local(@mailer) = split(' ',"/usr/lib/sendmail -f$sendmail_sender -t"); - open(MAIL, "|-") || &do_exec_sendmail(@mailer); - } - ---- 464,472 ---- - if (defined($opt_d)) { - # debugging, so just say it, don't do it - open(MAIL, ">-"); -! print MAIL ">>> /usr/sbin/sendmail -f$sendmail_sender -t\n"; - } else { -! local(@mailer) = split(' ',"/usr/sbin/sendmail -f$sendmail_sender -t"); - open(MAIL, "|-") || &do_exec_sendmail(@mailer); - } - -*** bounce.orig Tue Jul 9 13:10:07 1996 ---- bounce Tue Jul 9 13:11:03 1996 -*************** -*** 71,78 **** - if (defined($opt_d)) { - open(MSG, ">&STDOUT"); - } else { -! open(MSG, "|/usr/lib/sendmail $majordomo{$list}") || -! die("open(MSG, \"|/usr/lib/sendmail $majordomo{$list}\"): $!\nStopped"); - } - - print MSG <<EOF; ---- 71,78 ---- - if (defined($opt_d)) { - open(MSG, ">&STDOUT"); - } else { -! open(MSG, "|/usr/sbin/sendmail $majordomo{$list}") || -! die("open(MSG, \"|/usr/sbin/sendmail $majordomo{$list}\"): $!\nStopped"); - } - - print MSG <<EOF; -*** new-list.orig Fri Jul 12 10:49:21 1996 ---- new-list Fri Jul 12 10:49:39 1996 -*************** -*** 39,45 **** - - open(MAIL, "|-") || - &do_exec_sendmail(split(' ', -! "/usr/lib/sendmail -f$list-approval -t")); - - print MAIL <<"EOM"; - To: $reply_to ---- 39,45 ---- - - open(MAIL, "|-") || - &do_exec_sendmail(split(' ', -! "/usr/sbin/sendmail -f$list-approval -t")); - - print MAIL <<"EOM"; - To: $reply_to -*** bounce-remind.orig Fri Jul 12 10:48:48 1996 ---- bounce-remind Fri Jul 12 10:49:17 1996 -*************** -*** 33,40 **** - # All these should be in the standard PERL library - unshift(@INC, $homedir); - -! open(MSG, "|/usr/lib/sendmail bounces@$whereami") || -! die("open(MSG, \"|/usr/lib/sendmail bounces@$whereami\"): $!\nStopped"); - - print MSG <<EOF; - To: Bounces@$whereami ---- 33,40 ---- - # All these should be in the standard PERL library - unshift(@INC, $homedir); - -! open(MSG, "|/usr/sbin/sendmail bounces@$whereami") || -! die("open(MSG, \"|/usr/sbin/sendmail bounces@$whereami\"): $!\nStopped"); - - print MSG <<EOF; - To: Bounces@$whereami -*** digest/digest.orig Sat Jul 13 12:21:12 1996 ---- digest/digest Sat Jul 13 12:21:28 1996 -*************** -*** 214,220 **** - - close(DIGEST); - -! system("/usr/lib/sendmail -f$V{'ERRORS-TO'} $V{'REALLY-TO'} < $DIGEST"); - - if ( ! defined($opt_C) ) { - open(NUM_FILE, ">$V{'NUM_FILE'}") || ---- 214,220 ---- - - close(DIGEST); - -! system("/usr/sbin/sendmail -f$V{'ERRORS-TO'} $V{'REALLY-TO'} < $DIGEST"); - - if ( ! defined($opt_C) ) { - open(NUM_FILE, ">$V{'NUM_FILE'}") || +--- contrib/digest.orig Sat Oct 26 13:53:02 1996 ++++ contrib/digest Sat Oct 26 13:53:23 1996 +@@ -318,7 +318,7 @@ + } else { + # Read and execute the .cf file + $cf = $ENV{"MAJORDOMO_CF"} || +- "/etc/majordomo.cf"; ++ "%%PREFIX%%/majordomo/majordomo.cf"; + if (! -r $cf) { + &abort("$cf not readable; stopped"); + } diff --git a/mail/majordomo/files/post-install-notes b/mail/majordomo/files/post-install-notes index c729a62a41cf..d63b0c60f19b 100644 --- a/mail/majordomo/files/post-install-notes +++ b/mail/majordomo/files/post-install-notes @@ -1,4 +1,4 @@ -Post-Install Notes for Majordomo v1.93 +Post-Install Notes for Majordomo v1.94 ====================================== Before you can use Majordomo, you will need to complete a few steps @@ -18,13 +18,15 @@ manually: be done by adding a line similar to the following to /etc/sendmail.cf : - OA/etc/aliases.majordomo (for 8.6.x Sendmail) + OA/usr/local/majordomo/aliases.majordomo + (for 8.6.x Sendmail) - O AliasFile=/etc/aliases,/etc/aliases.majordomo (for 8.7.x Sendmail) + O AliasFile=/etc/aliases,/usr/local/majordomo/aliases.majordomo + (for 8.7.x and up) or a line similar to the following to your m4 macros file : - define(`ALIAS_FILE',/etc/aliases,/etc/aliases.majordomo') + define(`ALIAS_FILE',/etc/aliases,/usr/local/majordomo/aliases.majordomo') Enjoy Majordomo! diff --git a/mail/majordomo/files/test-l.info b/mail/majordomo/files/test-l.info new file mode 100644 index 000000000000..41fec21c5da9 --- /dev/null +++ b/mail/majordomo/files/test-l.info @@ -0,0 +1,4 @@ +This is a tester list installed with the FreeBSD port of majordomo. + +See ~majordom/doc/post-install-notes for more detail. + diff --git a/mail/majordomo/pkg-descr b/mail/majordomo/pkg-descr index 63c923320fda..a58b9a2911cb 100644 --- a/mail/majordomo/pkg-descr +++ b/mail/majordomo/pkg-descr @@ -9,8 +9,8 @@ Majordomo is a program which automates the management of Internet house". _ -Be sure to read Doc/post-install-notes for important configuration details -after installation. +Be sure to read /usr/local/majordomo/doc/post-install-notes for important +configuration details after installation. -- j. diff --git a/mail/majordomo/pkg-plist b/mail/majordomo/pkg-plist index e0261f87a9e2..cd494f1661b4 100644 --- a/mail/majordomo/pkg-plist +++ b/mail/majordomo/pkg-plist @@ -1,31 +1,58 @@ -majordomo/aliases.majordomo -majordomo/archive +majordomo/bin/approve +majordomo/bin/bounce +majordomo/bin/medit majordomo/bounce-remind majordomo/config_parse.pl -majordomo/digest majordomo/majordomo -majordomo/majordomo.cf majordomo/majordomo.pl majordomo/majordomo_version.pl -majordomo/new-list majordomo/request-answer majordomo/resend -majordomo/resend.README majordomo/shlock.pl -majordomo/test -majordomo/wrapper +majordomo/config-test majordomo/Tools/archive2.pl -majordomo/bin/approve -majordomo/bin/bounce -majordomo/bin/medit +majordomo/Tools/archive.pl +majordomo/Tools/archive_mh.pl +majordomo/Tools/digest.send +majordomo/Tools/makeindex.pl +majordomo/Tools/logsummary.pl +majordomo/Tools/new-list +majordomo/Tools/sequencer +majordomo/Tools/digest +majordomo/majordomo.cf +majordomo/sample.cf +majordomo/wrapper majordomo/lists/test-l -majordomo/lists/test-l.info +majordomo/lists/test-l-digest majordomo/lists/test-l.passwd -majordomo/Doc/FAQ -majordomo/Doc/README -majordomo/Doc/list-owner-info -majordomo/Doc/majordomo.lisa6.ps -majordomo/Doc/majordomo.ora -majordomo/Doc/post-install-notes +majordomo/lists/test-l.info +majordomo/lists/test-l-digest.info +majordomo/lists/test-l-digest.passwd +majordomo/doc/Changelog +majordomo/doc/FUTURE +majordomo/doc/INSTALL +majordomo/doc/LICENSE +majordomo/doc/NEWLIST +majordomo/doc/README +majordomo/doc/FAQ +majordomo/doc/README.sequencer +majordomo/doc/list-owner-info +majordomo/doc/majordomo-faq.html +majordomo/doc/majordomo.lisa6.ps +majordomo/doc/majordomo.ora +majordomo/doc/post-install-notes +majordomo/aliases.majordomo +man/man1/digest.1.gz man/man1/approve.1.gz +man/man1/bounce-remind.1.gz man/man8/majordomo.8.gz +@dirrm majordomo/bin +@dirrm majordomo/doc +@dirrm majordomo/digests/test-l-digest +@dirrm majordomo/digests +@dirrm majordomo/lists/test-l-digest.archive +@dirrm majordomo/lists/test-l.archive +@dirrm majordomo/lists +@dirrm majordomo/tmp +@dirrm majordomo/Tools +@dirrm majordomo diff --git a/mail/majordomo/scripts/configure b/mail/majordomo/scripts/configure index 3f25be3f3956..1cad4b5af6b2 100644 --- a/mail/majordomo/scripts/configure +++ b/mail/majordomo/scripts/configure @@ -5,11 +5,23 @@ eval '(exit $?0)' && eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' & eval 'exec /usr/bin/perl -S $0 $argv:q' if 0; -chop( $HOSTNAME=`hostname` ); -@files = ( "$ENV{'WRKSRC'}/Makefile", "$ENV{'WRKSRC'}/sample.cf", "$ENV{'FILESDIR'}/aliases.majordomo" ); - -( $null, $null, $mjUID, $mjGID ) = getpwnam( "majordom" ); -system( "perl -pi -e 's|@@PREFIX@@|$ENV{'PREFIX'}|g' @files" ); -system( "perl -pi -e 's|@@HOSTNAME@@|$HOSTNAME|g' @files" ); -system( "perl -pi -e 's|@@UID@@|$mjUID|g' @files" ); -system( "perl -pi -e 's|@@GID@@|$mjGID|g' @files" ); +if( getpwnam( "majordom" ) ) { + ( $null, $null, $mjUID ) = getpwnam( "majordom" ); +} else { + print "\nMajordomo user not found - aborting!\n\n"; + exit 1; +} + +if( getgrnam( "majordom" ) ) { + ( $null, $null, $mjGID ) = getgrnam( "majordom" ); +} else { + print "\nMajordomo group not found - aborting!\n\n"; + exit 1; +} + +chop( $hostname = `hostname` ); + +system( "/usr/bin/perl -pi -e 's|%%MJUID%%|$mjUID|g' $ENV{'WRKSRC'}/Makefile" ); +system( "/usr/bin/perl -pi -e 's|%%MJGID%%|$mjGID|g' $ENV{'WRKSRC'}/Makefile" ); +system( "/usr/bin/perl -pi -e 's|%%HOSTNAME%%|$hostname|g' $ENV{'WRKSRC'}/sample.cf $ENV{'WRKSRC'}/aliases.majordomo" ); +system( "/usr/bin/perl -pi -e 's|%%PREFIX%%|$ENV{'PREFIX'}|g' $ENV{'WRKSRC'}/sample.cf $ENV{'WRKSRC'}/contrib/digest" ); diff --git a/mail/majordomo/scripts/createuser b/mail/majordomo/scripts/createuser new file mode 100644 index 000000000000..a3671cdf4ab5 --- /dev/null +++ b/mail/majordomo/scripts/createuser @@ -0,0 +1,50 @@ +#!/usr/bin/perl +# + +eval '(exit $?0)' && eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' +& eval 'exec /usr/bin/perl -S $0 $argv:q' +if 0; + +if( $> ) { + print "\nYou must be root to run this step!\n\n"; + exit 1; +} + +if( getpwnam( "majordom" ) ) { + ( $null, $null, $mjUID ) = getpwnam( "majordom" ); +} else { + $mjUID = 54; + while( getpwuid( $mjUID ) ) { + $mjUID++; + } +} + +if( getgrnam( "majordom" ) ) { + ( $null, $null, $mjGID ) = getgrnam( "majordom" ); +} else { + $mjGID = 54; + while( getgrgid( $mjGID ) ) { + $mjGID++; + } + &append_file( "/etc/group", "majordom:*:$mjGID:" ); +} + +print "majordom user using uid $mjUID\n"; +print "majordom user using gid $mjGID\n"; + +system( "/usr/bin/chpass -a \"majordom:*:$mjUID:$mjGID::0:0:Majordomo pseudo-user:$ENV{'PREFIX'}/majordomo:/nonexistent\"" ); + +sub append_file { + local($file,@list) = @_; + local($LOCK_EX) = 2; + local($LOCK_NB) = 4; + local($LOCK_UN) = 8; + + open(F, ">> $file") || die "$file: $!\n"; + while( ! flock( F, $LOCK_EX | $LOCK_NB ) ) { + exit 1; + } + print F join( "\n", @list) . "\n"; + close F; + flock( F, $LOCK_UN ); +} |