File majordomo-1.94.5.SuSE.diff of Package majordomo
--- Makefile
+++ Makefile 2000/01/21 14:57:24
@@ -13,29 +13,29 @@
#
# Put the location of your Perl binary here:
-PERL = /bin/perl
+PERL = /usr/bin/perl
# What do you call your C compiler?
CC = cc
# Where do you want Majordomo to be installed? This CANNOT be the
# current directory (where you unpacked the distribution)
-W_HOME = /usr/test/majordomo-$(VERSION)
+W_HOME = /usr/lib/majordomo
# Where do you want man pages to be installed?
-MAN = $(W_HOME)/man
+MAN = /usr/man
# You need to have or create a user and group which majordomo will run as.
# Enter the numeric UID and GID (not their names!) here:
-W_USER = 123
-W_GROUP = 45
+W_USER = 28
+W_GROUP = 28
# These set the permissions for all installed files and executables (except
# the wrapper), respectively. Some sites may wish to make these more
# lenient, or more restrictive.
FILE_MODE = 644
EXEC_MODE = 755
-HOME_MODE = 751
+HOME_MODE = 755
# If your system is POSIX (e.g. Sun Solaris, SGI Irix 5 and 6, Dec Ultrix MIPS,
# BSDI or other 4.4-based BSD, Linux) use the following four lines. Do not
@@ -62,11 +62,11 @@
# parent process, and without the leading "W_" in the variable names) gets
# passed to processes run by "wrapper"
W_SHELL = /bin/sh
-W_PATH = /bin:/usr/bin:/usr/ucb
-W_MAJORDOMO_CF = $(W_HOME)/majordomo.cf
+W_PATH = /bin:/usr/bin
+W_MAJORDOMO_CF = /etc/majordomo.cf
# A directory for temp files..
-TMPDIR = /usr/tmp
+TMPDIR = /var/lib/majordomo/tmp
#--------YOU SHOULDN'T HAVE TO CHANGE ANYTHING BELOW THIS LINE.-------------
@@ -94,7 +94,7 @@
majordomo_version.pl request-answer resend \
shlock.pl config-test archive2.pl digest
-INSTALL_FLAGS = -O $(W_USER) -g $(W_GROUP)
+INSTALL_FLAGS =
default:
@echo "make what?"
@@ -117,7 +117,7 @@
install-wrapper: wrapper
- $(INSTALL) -o $(WRAPPER_OWNER) -g $(WRAPPER_GROUP) \
+ $(INSTALL) -o $(WRAPPER_OWNER) \
-m $(WRAPPER_MODE) wrapper $(W_HOME)/wrapper
@echo ""
@echo "To verify that all the permissions and etc are correct,"
@@ -144,13 +144,10 @@
install-scripts: config-scripts
$(INSTALL) -m $(HOME_MODE) $(INSTALL_FLAGS) . $(W_HOME)
- $(INSTALL) -m $(EXEC_MODE) $(INSTALL_FLAGS) . $(W_HOME)/bin
- @echo "Copying tools to $(W_HOME)/bin"
-
- @for file in $(BINBIN); do \
+ for file in $(BINBIN); do \
$(INSTALL) -m $(EXEC_MODE) $(INSTALL_FLAGS) \
- $(TMP)/$$file $(W_HOME)/bin/$$file; \
+ $(TMP)/$$file /usr/bin/$$file; \
done
@echo "Copying Majordomo files to $(W_HOME)"
@@ -187,7 +184,7 @@
else \
echo "Using sample.cf"; \
$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \
- sample.cf $(W_HOME)/majordomo.cf; \
+ sample.cf /etc/majordomo.cf; \
fi; \
else \
echo "Using installed majordomo.cf"; \
@@ -197,12 +194,6 @@
install-man:
@echo "Installing manual pages in $(MAN)"
- @$(INSTALL) -m $(EXEC_MODE) $(INSTALL_FLAGS) \
- . $(MAN)
- @$(INSTALL) -m $(EXEC_MODE) $(INSTALL_FLAGS) \
- . $(MAN)/man1
- @$(INSTALL) -m $(EXEC_MODE) $(INSTALL_FLAGS) \
- . $(MAN)/man8
@$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \
Doc/man/approve.1 $(MAN)/man1/approve.1
@$(INSTALL) -m $(FILE_MODE) $(INSTALL_FLAGS) \
--- README.linux
+++ README.linux 2000/01/21 14:57:24
@@ -0,0 +1,50 @@
+Here is an overview on how to use majordomo:
+- The configuration file is /etc/majordomo.cf and you normally don't
+ have to change it.
+- /etc/aliases should contain entries to start majordomo. See below for
+ sample entries, if they do not already exist in your /etc/aliases.
+- All data will be in /var/lib/majordomo.
+
+How to create a new list:
+- mailing lists can be administrated via email. So the responsible person
+ needn't have an account on your machine.
+- Modify /etc/aliases for the new list. Use the existing example for
+ a list called "test".
+- Use "echo writeconfig test test.admin | mail majordomo" to create a new
+ config file for the list "test". "test.admin" is the default admin password
+ as long as there is no password given in the config file.
+- You can have a second/different password in the file
+ "/var/lib/majordomo/lists/test.passwd".
+
+Being administrator of a mailing list:
+- create a "~/.majordomo" file with perms 0600, which contains on each line
+ the name of the mailing list, the password and the email-address of the
+ majordomo host:
+ donut-makers !BooM! majordomo@bakers.org
+ mud-wrestlers GoJoan majordomo@foo.bar.com
+
+Please add the following lines to /etc/aliases and then run "newaliases":
+
+-------------- /etc/aliases --------------------------------------------
+majordomo: "|/usr/lib/majordomo/wrapper majordomo"
+owner-majordomo: root,
+majordomo-owner: root,
+
+# sample entry for a majordomo mailing-list called "test"
+# read /usr/doc/packages/majordomo/README.linux for more information
+# replace "test" with a new name and put the administrator into
+# the "owner-test" alias instead of "root".
+#
+#test: "|/usr/lib/majordomo/wrapper resend -l test test-outgoing"
+#test-outgoing: :include:/var/lib/majordomo/lists/test
+#test-request: "|/usr/lib/majordomo/wrapper majordomo -l test"
+#test-approval: owner-test,
+#owner-test-outgoing: owner-test,
+#owner-test-request: owner-test,
+#owner-test: root,
+
+# if you have bulk_mailer installed, you can replace the above
+# "test-outgoing" line with the following:
+#test-outgoing: "|/usr/bin/bulk_mailer owner-test@host.com /var/lib/majordomo/lists/test"
+-------------- /etc/aliases --------------------------------------------
+
--- bounce-remind
+++ bounce-remind 2000/01/21 14:57:24
@@ -30,7 +30,7 @@
require "$cf";
# Go to the home directory specified by the .cf file
-chdir("$homedir");
+chdir("$homedir2");
# All these should be in the standard PERL library
unshift(@INC, $homedir);
--- config-test
+++ config-test 2000/01/21 14:57:24
@@ -148,10 +148,10 @@
&header("Home");
-if (chdir($homedir)) {
- &good("changedir to $homedir succeeded.");
+if (chdir($homedir2)) {
+ &good("changedir to $homedir2 succeeded.");
} else {
- &bad("changedir to $homedir failed, $!");
+ &bad("changedir to $homedir2 failed, $!");
}
if (open(TEST, ">cftest.$$")) {
&good("Created a mock lock file.");
@@ -286,7 +286,7 @@
print "your majordomo.cf file...";
open($cf, $cf) || &bad("Couldn't open $cf for reading, $!");
-open(S, 'sample.cf') || &bad("Couldn't open sample.cf for reading, $!");
+open(S, '/usr/lib/majordomo/sample.cf') || &bad("Couldn't open sample.cf for reading, $!");
while (<S>) {
next unless /^\s*(\$\w+(('|::)\w+)*)/;
--- digest
+++ digest 2000/01/21 14:57:24
@@ -22,7 +22,7 @@
&init;
&readconfig;
$TEMP = (defined $TMPDIR && -d $TMPDIR) ?
- "$TMPDIR/digest.$$" : "/usr/tmp/digest.$$";
+ "$TMPDIR/digest.$$" : "/var/lib/majordomo/tmp/digest.$$";
if (defined($opt_r)) {
&receive_message;
--- majordomo
+++ majordomo 2000/01/21 14:57:24
@@ -47,7 +47,7 @@
require "$cf";
# Go to the home directory specified by the .cf file
-chdir("$homedir") || die "chdir to $homedir failed, $!\n";
+chdir("$homedir2") || die "chdir to $homedir2 failed, $!\n";
# If standard error is not attached to a terminal, redirect it to a file.
if (! -t STDERR) {
--- majordomo.pl
+++ majordomo.pl 2000/01/21 14:57:24
@@ -324,7 +324,7 @@
}
# These are package globals referenced by &setlogfile and &log
-$log_file = "/tmp/log.$$";
+$log_file = "$main'TMPDIR/log.$$";
$log_host = "UNKNOWN";
$log_program = "UNKNOWN";
$log_session = "UNKNOWN";
--- request-answer
+++ request-answer 2000/01/21 15:00:24
@@ -25,7 +25,7 @@
}
require "$cf";
-chdir($homedir) || die("Can't chdir(\"$homedir\"): $!");
+chdir($homedir2) || die("Can't chdir(\"$homedir2\"): $!");
unshift(@INC, $homedir);
require "shlock.pl";
require "majordomo.pl";
--- resend
+++ resend 2000/01/21 14:57:24
@@ -90,7 +90,7 @@
require "$cf";
-chdir($homedir) || die("Can't chdir(\"$homedir\"): $!");
+chdir($homedir2) || die("Can't chdir(\"$homedir2\"): $!");
unshift(@INC, $homedir);
require "ctime.pl"; # For logging purposes
@@ -120,9 +120,9 @@
&set_log($log, $opt_h, "resend", $opt_l);
if (! defined ($TMPDIR)) {
- &bitch("\$TMPDIR wasn't defined in $cf. Using /usr/tmp instead.\n".
+ &bitch("\$TMPDIR wasn't defined in $cf. Using /var/lib/majordomo/tmp instead.\n".
"Please define in $cf.\n");
- $TMPDIR = '/usr/tmp';
+ $TMPDIR = '/var/lib/majordomo/tmp';
}
# if we're running from a tty, just spit to stderr, else
--- sample.cf
+++ sample.cf 2000/01/21 14:57:24
@@ -6,7 +6,8 @@
# $whereami -- What machine am I running on?
#
-$whereami = "example.com";
+#$whereami = "example.com";
+chop($whereami = `hostname -f`);
# $whoami -- Who do users send requests to me as?
#
@@ -22,12 +23,13 @@
if ( defined $ENV{"HOME"}) {
$homedir = $ENV{"HOME"};
} else {
- $homedir = "/usr/test/majordomo";
+ $homedir = "/usr/lib/majordomo";
}
+$homedir2 = "/var/lib/majordomo";
# $listdir -- Where are the mailing lists?
#
-$listdir = "$homedir/lists";
+$listdir = "/var/lib/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 +37,18 @@
# /usr/local/mail/digest/bblisa
# as its directory.
#
-$digest_work_dir = "/usr/local/mail/digest";
+$digest_work_dir = "/var/lib/majordomo/digest";
# $log -- Where do I write my log?
#
-$log = "$homedir/Log";
+$log = "/var/lib/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?
@@ -82,15 +84,15 @@
# returns a string like:
# 5:23pm up 5:51, 9 users, load average: 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+)/;
+($avg_1_minute, $avg_5_minutes, $avg_15_minutes) =
+ $uptime =~ /average:\s+(\S+),\s+(\S+),\s+(\S+)/;
#
-#exit 75 if ($avg_15_minutes >= $max_loadavg); # E_TEMPFAIL
+exit 75 if ($avg_15_minutes >= $max_loadavg); # E_TEMPFAIL
#
# Set the default subscribe policy for new lists here.
@@ -156,7 +158,7 @@
# following variable to 1. This affects the welcome message that is
# sent to a new subscriber as well as the help text that is generated.
#
-$majordomo_request = 0;
+$majordomo_request = 1;
# If you have lists that have who turned off, but still allow which
# requests to work for subscribed members, and you don't want to have
@@ -190,7 +192,7 @@
# majordomo has r/w permission to.
# Uses the environment variable TMPDIR, since that's pretty common
#
-$TMPDIR = $ENV{'TMPDIR'} || "/usr/tmp";
+$TMPDIR = $ENV{'TMPDIR'} || "/var/lib/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
--- wrapper.c
+++ wrapper.c 2000/01/21 14:57:24
@@ -31,7 +31,7 @@
#endif
#ifndef PATH
-# define PATH "PATH=/bin:/usr/bin:/usr/ucb"
+# define PATH "PATH=/bin:/usr/bin"
#endif
#ifndef HOME