diff src/mlmmj-make-ml.in @ 749:fdc57c9e5f56

Remove .sh from mlmmj-make-ml.sh; symlink original name
author Ben Schmidt
date Sun, 03 Oct 2010 22:12:33 +1100
parents src/mlmmj-make-ml.sh.in@dfc9ab125fd4
children 3c4d1e8bc452
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mlmmj-make-ml.in	Sun Oct 03 22:12:33 2010 +1100
@@ -0,0 +1,184 @@
+#!/bin/sh
+#
+# mlmmj-make-ml - henne@hennevogel.de
+#
+
+VERSION="0.1"
+DEFAULTDIR="/var/spool/mlmmj"
+ALIASFILE=/etc/aliases
+
+USAGE="mlmmj-make-ml "$VERSION"
+"$0" [OPTIONS]
+
+-h	display this help text
+-L	the name of the mailinglist
+-s	your spool directory if not "$DEFAULTDIR"
+-a	create the needed entrys in your $ALIASFILE file
+-z	nuffn for now
+-c	chown the spool dir"
+
+while getopts ":hL:s:azc:" Option
+do
+case "$Option" in 
+	h )
+	echo -e "$USAGE"
+	exit 0
+	;;
+	z )
+	echo -n "nothing"
+	exit 0
+	;;
+	L )
+	LISTNAME="$OPTARG"
+	;;
+	s )
+	SPOOLDIR="$OPTARG"
+	;;
+	a )
+	A_CREATE="YES"
+	;;
+	c )
+	DO_CHOWN=1
+	CHOWN="$OPTARG"
+	;;
+	* )
+	echo -e "$0: invalid option\nTry $0 -h for more information."
+	exit 1
+esac
+done
+SHIFTVAL=$((OPTIND-1))
+shift $SHIFTVAL
+
+if [ -z "$SPOOLDIR" ]; then
+	SPOOLDIR="$DEFAULTDIR"
+fi
+
+echo "Creating Directorys below $SPOOLDIR. Use '-s spooldir' to change"
+
+if [ -z "$LISTNAME" ]; then
+	echo -n "What should the name of the Mailinglist be? [mlmmj-test] : "
+	read LISTNAME
+	if [ -z "$LISTNAME" ]; then
+	LISTNAME="mlmmj-test"
+	fi
+fi
+
+LISTDIR="$SPOOLDIR/$LISTNAME"
+
+mkdir -p $LISTDIR
+
+for DIR in incoming queue queue/discarded archive text subconf unsubconf \
+	   bounce control moderation subscribers.d digesters.d requeue \
+	   nomailsubs.d
+do
+	mkdir "$LISTDIR"/"$DIR"
+done
+
+test -f "$LISTDIR"/index || touch "$LISTDIR"/index
+
+echo -n "The Domain for the List? [] : "
+read FQDN
+if [ -z "$FQDN" ]; then
+	FQDN=`domainname -f`
+fi
+
+echo -n "The emailaddress of the list owner? [postmaster] : "
+read OWNER
+if [ -z "$OWNER" ]; then
+	OWNER="postmaster"
+fi
+echo "$OWNER" > "$LISTDIR"/"control/owner"
+
+(
+	cd "@textlibdir@"
+	echo
+	echo "For the list texts you can choose between the following languages or"
+	echo "give a absolute path to a directory containing the texts."
+	echo
+	echo "Available languages:"
+	ls
+
+	TEXTPATHDEF=en
+	echo -n "The path to texts for the list? [$TEXTPATHDEF] : "
+	read TEXTPATHIN
+	if [ -z "$TEXTPATHIN" ] ; then
+		TEXTPATH="$TEXTPATHDEF"
+	else
+		TEXTPATH="$TEXTPATHIN"
+	fi
+	if [ ! -d "$TEXTPATH" ]; then
+		echo
+		echo "**NOTE** Could not copy the texts for the list"
+		echo "Please manually copy the files from the listtexts/ directory"
+		echo "in the source distribution of mlmmj."
+		sleep 2
+	else
+		cp "$TEXTPATH"/* "$LISTDIR"/"text"
+	fi
+)
+
+LISTADDRESS="$LISTNAME@$FQDN"
+echo "$LISTADDRESS" > "$LISTDIR"/control/"listaddress"
+
+MLMMJRECEIVE=`which mlmmj-receive 2>/dev/null`
+if [ -z "$MLMMJRECEIVE" ]; then
+	MLMMJRECEIVE="/path/to/mlmmj-receive"
+fi
+
+MLMMJMAINTD=`which mlmmj-maintd 2>/dev/null`
+if [ -z "$MLMMJMAINTD" ]; then
+	MLMMJMAINTD="/path/to/mlmmj-maintd"
+fi
+
+ALIAS="$LISTNAME:  \"|$MLMMJRECEIVE -L $SPOOLDIR/$LISTNAME/\""
+CRONENTRY="0 */2 * * * \"$MLMMJMAINTD -F -L $SPOOLDIR/$LISTNAME/\""
+
+if [ -n "$A_CREATE" ]; then
+	echo "I want to add the following to your $ALIASFILE file:"
+	echo "$ALIAS"
+
+	echo -n "is this ok? [y/N] : "
+	read OKIDOKI
+	case $OKIDOKI in
+		y|Y)
+		echo "$ALIAS" >> $ALIASFILE
+		;;
+		n|N)
+		exit 0
+		;;
+		*)
+		echo "Options was: y, Y, n or N"
+	esac
+else
+	echo
+	echo "Don't forget to add this to $ALIASFILE:"
+	echo "$ALIAS"
+fi
+
+if [ "$DO_CHOWN" ] ; then
+	echo
+	echo -n "chown -R $CHOWN $SPOOLDIR/$LISTNAME? [y/n]: "
+	read OKIDOKI
+	case $OKIDOKI in
+		y|Y)
+			chown -R $CHOWN $SPOOLDIR/$LISTNAME
+		;;
+		n|N)
+			exit 0
+		;;
+		*)
+			echo "option is: y, Y, n, N"
+		;;
+	esac
+fi
+
+echo
+echo "If you're not starting mlmmj-maintd in daemon mode,"
+echo "don't forget to add this to your crontab:"
+echo "$CRONENTRY"
+
+echo
+echo " ** FINAL NOTES **
+1) The mailinglist directory have to be owned by the user running the 
+mailserver (i.e. starting the binaries to work the list)
+2) Run newaliases"