--- misc/mailman.in.orig 2007-02-20 04:04:21 +0300 +++ misc/mailman.in 2007-02-20 04:10:14 +0300 @@ -35,41 +35,62 @@ PYTHON=@PYTHON@ MAILMANHOME=@prefix@ MAILMANCTL=$MAILMANHOME/bin/mailmanctl +MAILMANPID="/var/lib/mailman/data/master-qrunner.pid" +LOCKFILE="/var/lock/subsys/mailman" # Source function library. . /etc/rc.d/init.d/functions RETVAL=0 -prog="mailman" function start() { - echo -n $"Starting $prog: " - daemon $PYTHON $MAILMANCTL -s -q start + if [ -e "$LOCKFILE" ]; then + msg_already_running mailman + passed "mailman startup" + RETVAL=$? + echo + return $RETVAL + fi + + action "Starting mailman:" $MAILMANCTL -s -q start RETVAL=$? - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog - echo + [ $RETVAL -eq 0 ] && touch "$LOCKFILE" return $RETVAL } function stop() { - echo -n $"Shutting down $prog: " - daemon $PYTHON $MAILMANCTL -q stop + if [ ! -e "$LOCKFILE" ]; then + msg_not_running mailman + passed "mailman shutdown" + RETVAL=$? + echo + return $RETVAL + fi + + action "Shutting down mailman:" $MAILMANCTL -q stop RETVAL=$? - [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog - echo + [ $RETVAL -eq 0 ] && rm -f "$LOCKFILE" "$MAILMANPID" return $RETVAL } function restart() { stop + sleep 5 start RETVAL=$? return $RETVAL } +function reload() +{ + action "Reloading mailman:" $MAILMANCTL -s -q reopen + RETVAL=$? + return $RETVAL +} + case "$1" in 'start') start @@ -87,7 +102,7 @@ ;; 'condrestart') - $PYTHON $MAILMANCTL -q -u status + $MAILMANCTL -q -u status retval=$? if [ $retval -eq 0 ] then @@ -96,10 +111,35 @@ fi ;; +'condstop') + $MAILMANCTL -q -u status + retval=$? + if [ $retval -eq 0 ] + then + stop + RETVAL=$? + fi + ;; + 'status') - $PYTHON $MAILMANCTL -u status + $MAILMANCTL -u status + RETVAL=$? + ;; + +'graceful') + action "Restarting mailman:" $MAILMANCTL -s -q restart RETVAL=$? ;; +'reload') + reload + RETVAL=$? + ;; + +*) + echo "Usage: ${0##*/} {start|stop|status|graceful|restart|reload|condstop|condrestart}" + RETVAL=1 + ;; + esac exit $RETVAL