#! /bin/sh

# mailman init script

# Based on skeleton by Miquel van Smoorenburg and Ian Murdock

# If start-stop-daemon complains about needing one of --exec, --pidfile or
# --user, upgrade dpkg.  


PATH=/sbin:/bin:/usr/sbin:/usr/bin
NAME=mailman
SNAME=mailman
DESC="Mailman"


set -e

COMMAND=$1

if [ $2 ];
then
	shift 1
    SERVERS=$@
else
	SERVERS=$(/bin/ls /dh/mailman | egrep -v "template|logs|\."|sort)
fi

case "$COMMAND" in
  start)
	for S in $SERVERS
	do
	  echo -n "Starting $S mailman..."
		if test ! -e "/dh/mailman/$S"; then
		  echo "missing /dh/mailman/$S."
		  break
		fi
	  /dh/mailman/$S/bin/mailmanctl -s start
	  echo "done."
	done
	;;
  stop)
	for S in $SERVERS
	do
	  echo -n "Stopping $S mailman..."
		if test ! -e "/dh/mailman/$S"; then
		  echo "missing /dh/mailman/$S."
		  break
		fi
	  /dh/mailman/$S/bin/mailmanctl stop
	  echo "done."
	done
	;;
  reload)
	for S in $SERVERS
	do
	  echo -n "Reloading $S mailman..."
		if test ! -e "/dh/mailman/$S"; then
		  echo "missing /dh/mailman/$S."
		  break
		fi
	  /dh/mailman/$S/bin/mailmanctl restart
	  echo "done."
	done
	;;
  reopen)
	for S in $SERVERS
	do
	  echo -n "Reopening $S mailman..."
		if test ! -e "/dh/mailman/$S"; then
		  echo "missing /dh/mailman/$S."
		  break
		fi
	  /dh/mailman/$S/bin/mailmanctl reopen
	  echo "done."
	done
	;;
  force-restart|force-reload)
	for S in $SERVERS
	do
	  echo -n "Restarting $S mailman..."
		if test ! -e "/dh/mailman/$S"; then
		  echo "missing /dh/mailman/$S."
		  break
		fi
	  /dh/mailman/$S/bin/mailmanctl stop
	  /dh/mailman/$S/bin/mailmanctl start
	  echo "done."
	done
	;;
  restart)
	echo "You don't want to be doing this.  Contact someone who knows how mailman works."
  ;;
  *)
	N=/etc/init.d/$SNAME
	echo "Usage: $N {start|stop|reopen|restart|force-reload}" >&2
	exit 1
	;;
esac

exit 0
