Majordomo port, by Daniel Hartmeier.

This commit is contained in:
espie 2000-05-22 16:33:43 +00:00
parent 466bb39975
commit f8c1a41be8
16 changed files with 467 additions and 0 deletions

60
mail/majordomo/Makefile Normal file
View File

@ -0,0 +1,60 @@
# $OpenBSD: Makefile,v 1.1.1.1 2000/05/22 16:33:43 espie Exp $
DISTNAME= majordomo-1.94.5
CATEGORIES= mail
NEED_VERSION= 1.282
HOMEPAGE= http://www.greatcircle.com/majordomo/
MAINTAINER= daniel@reichardt.ch
# I sent a mail to greatcircle.com asking for these permissions.
# Until I get an answer, I assume nothing.
# Read http://www.greatcircle.com/majordomo/LICENSE
PERMIT_PACKAGE_CDROM= No
PERMIT_PACKAGE_FTP= No
PERMIT_DISTFILES_CDROM= No
PERMIT_DISTFILES_FTP= No
MASTER_SITES= ftp://ftp.greatcircle.com/pub/majordomo/1.94.5/
MAKE_FLAGS= W_HOME=${PREFIX}/lib/majordomo
MAKE_FLAGS+= W_PATH=/bin:/usr/bin
MAKE_FLAGS+= W_MAJORDOMO_CF=/etc/mail/majordomo.cf
MAKE_FLAGS+= POSIX=""
ALL_TARGET= wrapper
FAKE= Yes
FAKE_FLAGS= W_HOME=${WRKINST}${PREFIX}/lib/majordomo
FAKE_FLAGS+= MAN=${WRKINST}${PREFIX}/man
FAKE_FLAGS+= PERL=/usr/bin/perl
FAKE_FLAGS+= W_USER=0
FAKE_FLAGS+= W_GROUP=0
FAKE_FLAGS+= HOME_MODE=755
FAKE_FLAGS+= EXEC_MODE=755
FAKE_FLAGS+= FILE_MODE=644
FAKE_FLAGS+= WRAPPER_OWNER=0
FAKE_FLAGS+= WRAPPER_GROUP=0
FAKE_FLAGS+= WRAPPER_MODE=644
FAKE_FLAGS+= TMPDIR=${WRKDIST}
FAKE_TARGET= install-scripts install-wrapper install-man
DOCDIR=${PREFIX}/share/doc/majordomo
post-install:
@${INSTALL_DATA} ${WRKSRC}/sample.cf ${PREFIX}/lib/majordomo
@${INSTALL_DATA_DIR} ${DOCDIR}
@${INSTALL_DATA} ${WRKSRC}/Changelog ${DOCDIR}
@${INSTALL_DATA} ${WRKSRC}/FUTURE ${DOCDIR}
@${INSTALL_DATA} ${WRKSRC}/INSTALL ${DOCDIR}
@${INSTALL_DATA} ${WRKSRC}/LICENSE ${DOCDIR}
@${INSTALL_DATA} ${WRKSRC}/NEWLIST ${DOCDIR}
@${INSTALL_DATA} ${WRKSRC}/README ${DOCDIR}
@${INSTALL_DATA} ${WRKSRC}/Doc/FAQ ${DOCDIR}
@${INSTALL_DATA} ${WRKSRC}/Doc/README.sequencer ${DOCDIR}
@${INSTALL_DATA} ${WRKSRC}/Doc/list-owner-info ${DOCDIR}
@${INSTALL_DATA} ${WRKSRC}/Doc/majordomo-faq.html ${DOCDIR}
@${INSTALL_DATA} ${WRKSRC}/Doc/majordomo.lisa6.ps ${DOCDIR}
@${INSTALL_DATA} ${WRKSRC}/Doc/majordomo.ora ${DOCDIR}
@${INSTALL_DATA} ${FILESDIR}/post-install-notes ${DOCDIR}
.include <bsd.port.mk>

3
mail/majordomo/files/md5 Normal file
View File

@ -0,0 +1,3 @@
MD5 (majordomo-1.94.5.tar.gz) = 337b2bbcc866803c6700e403e27390a7
RMD160 (majordomo-1.94.5.tar.gz) = 7f6b48fb5cc5b23948133658b055588d0d6608c4
SHA1 (majordomo-1.94.5.tar.gz) = 44b18c7b9133f2cd992f6e718551d613d9d45c00

View File

@ -0,0 +1,30 @@
Post-Install Notes for Majordomo
================================
Before you can use Majordomo, you will need to complete a few steps
manually:
- read README, FAQ and NEWLIST in /usr/local/share/doc/majordomo
- review /etc/mail/majordomo.cf
- run '/usr/local/lib/majordomo/wrapper config-test'
as ordinary user (not root or majordom) to test your
installation.
- make 'majordom' a trusted sendmail user so it can use
parameter -f (changing the from address) without causing
a warning header. Read the documentation of the features
'confTRUSTED_USERS' and 'use_ct_file' in
/usr/share/sendmail/README.
- add majordomo aliases to /etc/aliases (or create a
separate aliases file for majordomo, see sendmail
feature `ALIAS_FILE'). You will need at least the
following aliases:
majordomo: "|/usr/local/lib/majordomo/wrapper majordomo"
Majordomo-Owner: postmaster
Enjoy Majordomo!

View File

@ -0,0 +1,11 @@
$OpenBSD: patch-approve,v 1.1.1.1 2000/05/22 16:33:43 espie Exp $
--- approve.orig Mon May 15 02:40:09 2000
+++ approve Mon May 15 02:40:33 2000
@@ -63,7 +63,6 @@
#
# $Locker: $
-$MAILER = '/usr/lib/sendmail' if -x '/usr/lib/sendmail';
$MAILER = '/usr/sbin/sendmail' if -x '/usr/sbin/sendmail';
die "Couldn't find a sendmail to invoke, please define!"

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-archive2_pl,v 1.1.1.1 2000/05/22 16:33:49 espie Exp $
--- archive2.pl.orig Mon May 15 02:40:47 2000
+++ archive2.pl Mon May 15 02:41:06 2000
@@ -88,7 +88,7 @@
exit 1;
}
-$sendmail_command = $sendmail_command || "/usr/lib/sendmail";
+$sendmail_command = $sendmail_command || "/usr/sbin/sendmail";
$bounce_mailer = $bounce_mailer || "$sendmail_command -f\$sender -t";
&set_abort_addr($whoami_owner);
&set_mail_from($whoami);

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-bounce,v 1.1.1.1 2000/05/22 16:33:43 espie Exp $
--- bounce.orig Mon May 15 02:35:45 2000
+++ bounce Mon May 15 02:36:04 2000
@@ -41,7 +41,7 @@
# $Locker: $
#
-$MAILER = "/usr/lib/sendmail";
+$MAILER = "/usr/sbin/sendmail";
$default_maxage = 21;

View File

@ -0,0 +1,44 @@
$OpenBSD: patch-config-test,v 1.1.1.1 2000/05/22 16:33:43 espie Exp $
--- config-test.orig Wed Aug 27 17:17:13 1997
+++ config-test Mon May 22 16:58:08 2000
@@ -125,6 +125,7 @@ if (eval "require '$cf'") {
&bad("something's wrong with $cf: $@");
}
+unshift(@INC, $homedir);
foreach (@requires) {
if (require $_) {
&good("found $_ okay.");
@@ -237,9 +238,9 @@ elsif ($sendmail_command) {
else {
print "You have defined neither \$mailer, nor \$sendmail_command.\n";
print "Majordomo will use\n";
- print "/usr/lib/sendmail -f\\\$sender\n";
+ print "/usr/sbin/sendmail -f\\\$sender\n";
print "to deliver mail to the list.\n";
- $x = "/usr/lib/sendmail";
+ $x = "/usr/sbin/sendmail";
}
print "Attempting to verify that this is a valid mailer...";
@@ -266,9 +267,9 @@ elsif ($sendmail_command) {
else {
print "You have defined neither \$mailer, nor \$sendmail_command.\n";
print "Majordomo will use\n";
- print "/usr/lib/sendmail -f\\\$sender -t\n";
+ print "/usr/sbin/sendmail -f\\\$sender -t\n";
print "to deliver administrative mail.\n";
- $x = "/usr/lib/sendmail";
+ $x = "/usr/sbin/sendmail";
}
print "Attempting to verify that this is a valid mailer...";
@@ -375,7 +376,7 @@ ZOT
print RF $majordomo_version;
close RF;
- $sendmail_command = "/usr/lib/sendmail"
+ $sendmail_command = "/usr/sbin/sendmail"
unless defined $sendmail_command;
$bounce_mailer = "$sendmail_command -f\$sender -t"
unless defined $bounce_mailer;

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-digest,v 1.1.1.1 2000/05/22 16:33:43 espie Exp $
--- digest.orig Mon May 15 02:41:18 2000
+++ digest Mon May 15 02:48:55 2000
@@ -335,7 +335,7 @@
# Define all of the mailer properties:
# It is possible that one or both of $sendmail_command and $bounce_mailer
# are not defined, so we provide reasonable defaults.
-$sendmail_command = "/usr/lib/sendmail"
+$sendmail_command = "/usr/sbin/sendmail"
unless defined $sendmail_command;
$mailer = "$sendmail_command -oi -oee -f\$sender"
unless defined $mailer;
@@ -414,7 +414,7 @@
# Define all of the mailer properties:
# The majordomo.cf file isn't used in this option, so fake everything.
-$sendmail_command = "/usr/lib/sendmail"
+$sendmail_command = "/usr/sbin/sendmail"
unless defined $sendmail_command;
$mailer = "$sendmail_command -oi -oee -f\$sender"
unless defined $mailer;

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-majordomo,v 1.1.1.1 2000/05/22 16:33:43 espie Exp $
--- majordomo.orig Mon May 15 02:41:58 2000
+++ majordomo Mon May 15 02:42:35 2000
@@ -75,7 +75,7 @@
# Define all of the mailer properties:
# It is possible that one or both of $sendmail_command and $bounce_mailer
# are not defined, so we provide reasonable defaults.
-$sendmail_command = "/usr/lib/sendmail"
+$sendmail_command = "/usr/sbin/sendmail"
unless defined $sendmail_command;
$bounce_mailer = "$sendmail_command -f\$sender -t"
unless defined $bounce_mailer;

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-request-answer,v 1.1.1.1 2000/05/22 16:33:43 espie Exp $
--- request-answer.orig Mon May 15 02:43:14 2000
+++ request-answer Mon May 15 02:43:32 2000
@@ -51,7 +51,7 @@
# Define all of the mailer properties:
# It is possible that one or both of $sendmail_command and $bounce_mailer
# are not defined, so we provide reasonable defaults.
-$sendmail_command = "/usr/lib/sendmail"
+$sendmail_command = "/usr/sbin/sendmail"
unless defined $sendmail_command;
$bounce_mailer = "$sendmail_command -f\$sender -t"
unless defined $bounce_mailer;

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-resend,v 1.1.1.1 2000/05/22 16:33:49 espie Exp $
--- resend.orig Mon May 15 02:43:44 2000
+++ resend Mon May 15 02:44:27 2000
@@ -111,7 +111,7 @@
# XXX It is possible that owner-$opt_l won't be the right address, but we
# have little choice. Sending the bounces to $whoami_owner is an option,
# but might not clearly indicate the list name.
-$sendmail_command = $sendmail_command || "/usr/lib/sendmail";
+$sendmail_command = $sendmail_command || "/usr/sbin/sendmail";
$bounce_mailer = $bounce_mailer || "$sendmail_command -f\$sender -t";
&set_mail_from("owner-$opt_l");
&set_mail_sender("owner-$opt_l");
@@ -936,7 +936,7 @@
else {
# Painful, but we have to provide some kind of backwards
# compatibility and this is what 1.93 used
- $mailcmd = "/usr/lib/sendmail -f$sender -t";
+ $mailcmd = "/usr/sbin/sendmail -f$sender -t";
}
# clean up the addresses, for use on the sendmail command line

View File

@ -0,0 +1,75 @@
$OpenBSD: patch-sample_cf,v 1.1.1.1 2000/05/22 16:33:49 espie Exp $
--- sample.cf.orig Wed Aug 27 17:00:31 1997
+++ sample.cf Mon May 22 16:37:49 2000
@@ -10,7 +10,7 @@ $whereami = "example.com";
# $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?
#
@@ -27,7 +27,7 @@ if ( defined $ENV{"HOME"}) {
# $listdir -- Where are the mailing lists?
#
-$listdir = "$homedir/lists";
+$listdir = "/var/spool/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
@@ -35,18 +35,18 @@ $listdir = "$homedir/lists";
# /usr/local/mail/digest/bblisa
# as its directory.
#
-$digest_work_dir = "/usr/local/mail/digest";
+$digest_work_dir = "/var/spool/majordomo/digests";
# $log -- Where do I write my log?
#
-$log = "$homedir/Log";
+$log = "/var/spool/majordomo/log";
# $sendmail_command -- Pathname to the sendmail program
# 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?
@@ -80,15 +80,15 @@ $bounce_mailer = "$sendmail_command -oi
# high by uncommenting the following lines. THIS ONLY WORKS if your "uptime"
# command (usually found in /usr/bin/uptime or /usr/bsd/uptime)
# returns a string like:
-# 5:23pm up 5:51, 9 users, load average: 0.19, 0.25, 0.33
+# 5:23pm up 5:51, 9 users, load averages: 0.19, 0.25, 0.33
#
-#$max_loadavg = 10; # Choose the maximum allowed load
+$max_loadavg = 10; # Choose the maximum allowed load
#
-#$uptime = `/usr/bin/uptime` if -x '/usr/bin/uptime'; # Get system uptime
+$uptime = `/usr/bin/uptime` if -x '/usr/bin/uptime'; # Get system uptime
#$uptime = `/usr/bsd/uptime` if -x '/usr/bsd/uptime'; # or uptime is over here.
#
#($avg_1_minute, $avg_5_minutes, $avg_15_minutes) =
-# $uptime =~ /average:\s+(\S+),\s+(\S+),\s+(\S+)/;
+# $uptime =~ /averages:\s+(\S+),\s+(\S+),\s+(\S+)/;
#
#exit 75 if ($avg_15_minutes >= $max_loadavg); # E_TEMPFAIL
#
@@ -188,9 +188,8 @@ die "Perl version $] too old\n" if ($] <
# Directory where resend temporarily puts its rewritten output message.
# For the paranoid, this could be changed to a directory that only
# majordomo has r/w permission to.
-# Uses the environment variable TMPDIR, since that's pretty common
#
-$TMPDIR = $ENV{'TMPDIR'} || "/usr/tmp";
+$TMPDIR = "/var/spool/majordomo/tmp";
# Tune how long set_lock tries to obtain a lock before giving up. Each
# attempt waits 1 to 10 seconds before trying again and waittime is

View File

@ -0,0 +1 @@
Majordomo mailing list manager

11
mail/majordomo/pkg/DESCR Normal file
View File

@ -0,0 +1,11 @@
Majordomo is a program which automates the management of Internet mailing
lists. Commands are sent to Majordomo via electronic mail to handle all
aspects of list maintenance. Once a list is set up, virtually all operations
can be performed remotely, requiring no intervention upon the postmaster of
the list site.
majordomo - n: a person who speaks, makes arrangements, or takes
charge for another. From latin "major domus" - "master of the
house".
See http://www.greatcircle.com/majordomo/

95
mail/majordomo/pkg/INSTALL Executable file
View File

@ -0,0 +1,95 @@
#! /bin/sh
# $OpenBSD: INSTALL,v 1.1.1.1 2000/05/22 16:33:49 espie Exp $
#
# Pre/post-installation setup of majordomo
set -e
PATH=/bin:/usr/bin:/sbin:/usr/sbin
PREFIX=${PKG_PREFIX:-/usr/local}
do_create_user()
{
echo "Majordomo requires a user majordom for its wrapper program."
echo -n "Let's see if there already is a user majordom... "
if id -u majordom >/dev/null 2>/dev/null
then
echo "yes"
else
echo "no"
group add majordom
user add -d /root -g majordom -c Majordomo -s /sbin/nologin majordom
fi
}
do_create_local_dirs()
{
echo -n "Creating local directories... "
if [ ! -d /var/spool/majordomo ]; then
mkdir /var/spool/majordomo
chmod 755 /var/spool/majordomo
fi
if [ ! -d /var/spool/majordomo/lists ]; then
mkdir /var/spool/majordomo/lists
chmod 755 /var/spool/majordomo/lists
fi
if [ ! -d /var/spool/majordomo/digests ]; then
mkdir /var/spool/majordomo/digests
chmod 750 /var/spool/majordomo/digests
fi
if [ ! -d /var/spool/majordomo/tmp ]; then
mkdir /var/spool/majordomo/tmp
chmod 750 /var/spool/majordomo/tmp
fi
chown -R majordom.majordom /var/spool/majordomo
echo "ok"
}
do_set_file_permissions()
{
echo -n "Changing ownership of majordomo files... "
chown -R majordom.majordom ${PREFIX}/lib/majordomo
chmod -R 755 ${PREFIX}/lib/majordomo
echo "ok"
echo -n "Making wrapper suid & guid majordom... "
chmod 6555 ${PREFIX}/lib/majordomo/wrapper
echo "ok"
}
do_install_configuration()
{
echo -n "Let's see if there is already a configuration file... "
if [ -f /etc/mail/majordomo.cf ]; then
echo "yes"
echo "Please compare your existing configuration with"
echo "${PREFIX}/lib/majordomo/sample.cf"
else
echo "no"
echo -n "Copying sample configuration file... "
sed -e "s/example.com/$(hostname)/" ${PREFIX}/lib/majordomo/sample.cf > /etc/mail/majordomo.cf
echo "ok"
echo "Please review new configuration /etc/mail/majordomo.cf"
fi
}
if [ $# -ne 2 ]; then
echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2
exit 1
fi
case $2 in
PRE-INSTALL)
do_create_user
;;
POST-INSTALL)
do_create_local_dirs
do_set_file_permissions
do_install_configuration
cat ${PREFIX}/share/doc/majordomo/post-install-notes
;;
*)
echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2
exit 1
;;
esac
exit 0

47
mail/majordomo/pkg/PLIST Normal file
View File

@ -0,0 +1,47 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2000/05/22 16:33:49 espie Exp $
lib/majordomo/archive2.pl
lib/majordomo/bounce-remind
lib/majordomo/config_parse.pl
lib/majordomo/config-test
lib/majordomo/digest
lib/majordomo/majordomo
lib/majordomo/majordomo.pl
lib/majordomo/majordomo_version.pl
lib/majordomo/request-answer
lib/majordomo/resend
lib/majordomo/shlock.pl
lib/majordomo/wrapper
lib/majordomo/sample.cf
lib/majordomo/bin/approve
lib/majordomo/bin/bounce
lib/majordomo/bin/medit
lib/majordomo/Tools/archive.pl
lib/majordomo/Tools/archive_mh.pl
lib/majordomo/Tools/digest.send
lib/majordomo/Tools/makeindex.pl
lib/majordomo/Tools/logsummary.pl
lib/majordomo/Tools/new-list
lib/majordomo/Tools/sequencer
man/man1/approve.1
man/man1/bounce.1
man/man1/bounce-remind.1
man/man1/digest.1
man/man1/resend.1
man/man8/majordomo.8
share/doc/majordomo/Changelog
share/doc/majordomo/FUTURE
share/doc/majordomo/INSTALL
share/doc/majordomo/LICENSE
share/doc/majordomo/NEWLIST
share/doc/majordomo/README
share/doc/majordomo/FAQ
share/doc/majordomo/README.sequencer
share/doc/majordomo/list-owner-info
share/doc/majordomo/majordomo-faq.html
share/doc/majordomo/majordomo.lisa6.ps
share/doc/majordomo/majordomo.ora
share/doc/majordomo/post-install-notes
@dirrm lib/majordomo/bin
@dirrm lib/majordomo/Tools
@dirrm lib/majordomo
@dirrm share/doc/majordomo