summaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authorJames FitzGibbon <jfitz@FreeBSD.org>1996-10-26 18:21:17 +0000
committerJames FitzGibbon <jfitz@FreeBSD.org>1996-10-26 18:21:17 +0000
commit268003829330c6a646b1868f7f2a570aed9ca941 (patch)
tree0425362118e9d0426a783211269689ce17c35c4e /mail
parent1.0.84 --> 1.0.86 (diff)
Upgrade to majordomo v1.94 release
Use new INSTALL_ aliases Clean up creation of majordom user and group Fix problem where the local host was set to 'thud.cdrom.com' in everyone's config by default.
Notes
Notes: svn path=/head/; revision=4162
Diffstat (limited to 'mail')
-rw-r--r--mail/majordomo/Makefile72
-rw-r--r--mail/majordomo/distinfo2
-rw-r--r--mail/majordomo/files/aliases.majordomo12
-rw-r--r--mail/majordomo/files/patch-aa135
-rw-r--r--mail/majordomo/files/patch-ab148
-rw-r--r--mail/majordomo/files/patch-ac169
-rw-r--r--mail/majordomo/files/post-install-notes10
-rw-r--r--mail/majordomo/files/test-l.info4
-rw-r--r--mail/majordomo/pkg-descr4
-rw-r--r--mail/majordomo/pkg-plist63
-rw-r--r--mail/majordomo/scripts/configure28
-rw-r--r--mail/majordomo/scripts/createuser50
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 );
+}