Add Debian directory
[mspang/vmailman.git] / debian / mailman.init
1 #! /bin/sh
2 #
3 # mailman       starts up the master queue runner for mailman
4 #
5 # Based on skeleton originally by Miquel van Smoorenburg and Ian Murdock,
6 # customisations by Tollef Fog Heen and Thijs Kinkhorst for Debian.
7 #
8 ### BEGIN INIT INFO
9 # Provides:          mailman-qrunner
10 # Required-Start:    $syslog mail-transport-agent $local_fs $remote_fs $named $network 
11 # Required-Stop:     $syslog mail-transport-agent $local_fs $remote_fs $named $network
12 # Should-Start:      
13 # Should-Stop:       
14 # Default-Start:     2 3 4 5
15 # Default-Stop:      0 1 6
16 # Short-Description: Mailman Master Queue Runner 
17 # Description:       Starts and stops the Mailman queue runners, used to
18 #                    manage the various message queues within the Mailman
19 #                    mailing list manager.
20 ### END INIT INFO
21
22 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
23 DAEMON=/usr/lib/mailman/bin/mailmanctl
24 PIDFILE=/var/lib/mailman/data/master-qrunner.pid
25
26 test -x $DAEMON || exit 0
27
28 set -e
29
30 if ! [ -d /var/run/mailman ]; then
31       install -d -o list -g list /var/run/mailman
32 fi
33
34 if ! [ -d /var/lock/mailman ]; then
35       install -d -o root -g list -m 2775 /var/lock/mailman
36 fi
37
38 . /lib/lsb/init-functions
39
40 case "$1" in
41   start)
42     if [ "$(/var/lib/mailman/bin/list_lists -b | grep ^mailman$ )" = "" ]; then
43         log_warning_msg "Site list for mailman (usually named mailman) missing."
44         log_warning_msg "Please create it; until then, mailman will refuse to start."
45         exit 0;
46     fi
47     log_daemon_msg "Starting Mailman master qrunner" "mailmanctl"
48     if $DAEMON -s -q start; then
49         log_end_msg 0
50     else
51         log_end_msg 1
52     fi
53     ;;
54   stop)
55     log_daemon_msg "Stopping Mailman master qrunner" "mailmanctl"
56     if $DAEMON -q stop; then
57         log_end_msg 0
58     else
59         log_end_msg 1
60     fi
61     ;;
62   reload)
63     log_begin_msg "Reloading Mailman master qrunner configuration"
64     if $DAEMON -q restart; then
65         log_end_msg 0
66     else
67         log_end_msg 1
68     fi
69   ;;
70   restart|force-reload)
71     PID=`cat $PIDFILE 2>/dev/null` || true
72     log_daemon_msg "Restarting Mailman master qrunner" "mailmanctl"
73     $DAEMON -q stop
74     if test -n "$PID" && kill -0 $PID 2>/dev/null ; then
75         log_action_begin_msg "Waiting"
76         for cnt in `seq 1 5`; do
77             sleep 1
78             kill -0 $PID 2>/dev/null || break
79         done;
80         if kill -0 $PID 2>/dev/null ; then
81             log_action_end_msg 1
82         else
83             log_action_end_msg 0
84         fi
85     fi
86     if $DAEMON -q start; then
87         log_end_msg 0
88     else
89         log_end_msg 1
90     fi
91     ;;
92   *)
93     echo "Usage: /etc/init.d/mailman {start|stop|restart|reload|force-reload}" >&2
94     exit 1
95     ;;
96 esac
97
98 exit 0