X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fdebian%2Fcitadel.init;h=7fb213df9fc502c5c0587e28fe78c16ee251fd94;hb=a2ae8dfea31fc1495e3a97b28f3ddca01f491bef;hp=2e7364e3dc7161e53136d3d1ce8b891a0af186e7;hpb=f8b8d0e1cd76bd3ef30c2e925903711b400a7507;p=citadel.git diff --git a/citadel/debian/citadel.init b/citadel/debian/citadel.init index 2e7364e3d..7fb213df9 100644 --- a/citadel/debian/citadel.init +++ b/citadel/debian/citadel.init @@ -1,8 +1,8 @@ #!/bin/sh ### BEGIN INIT INFO # Provides: citadel -# Required-Start: $local_fs $remote_fs -# Required-Stop: $local_fs $remote_fs +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: control citadel server start at boot time @@ -21,12 +21,12 @@ DESC="Citadel Groupware " NAME=citserver DAEMON=/usr/sbin/$NAME PIDFILE=$RUNDIR/citadel.pid -DAEMON_ARGS=" -d -x3 -lmail -t/dev/null" +DAEMON_ARGS=" -d -lmail -t/dev/null" SCRIPTNAME=/etc/init.d/citadel SENDCOMMAND=/usr/sbin/sendcommand # Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 +[ -x "$DAEMON" ] || { echo "$DAEMON not installed"; exit 1; } # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME @@ -50,7 +50,7 @@ fi # do_start() { - # for ubuntu: check our volatile dirs. + # check our volatile dirs. if test ! -d $RUNDIR; then mkdir -p $RUNDIR chmod go+rx $RUNDIR @@ -72,17 +72,12 @@ do_start() # do_stop() { - # Return - # 0 if daemon has been stopped - # 1 if daemon was already stopped - # 2 if daemon could not be stopped - # other if a failure occurred - if $SENDCOMMAND "DOWN" >/dev/null 2>&1 ; then - if test ! -f "$PIDFILE"; then - echo Unable to find Citserver. Not running? - return 1 - fi - PID=`cat $PIDFILE` + if test -S $RUNDIR/citadel.socket; then + sendcommand "DOWN" || : + fi + + PID=`cat $PIDFILE 2>/dev/null || :` + if [ ! -z $PID ]; then rm -f $PIDFILE count=0; while test -S /var/run/citadel/citadel.socket -o -d /proc/$PID; do @@ -98,10 +93,9 @@ do_stop() fi done return 0 - else - rm -f $PIDFILE - return 2 fi + + return 0 } # @@ -142,13 +136,14 @@ case "$1" in fi do_stop if test -n "$MODERN"; then - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac + [ "$VERBOSE" != no ] && log_end_msg 0 fi ;; - restart|force-reload) + restart) + $0 stop + $0 start + ;; + force-reload) if test -n "$MODERN"; then log_daemon_msg "Restarting $DESC" "$NAME" else @@ -169,6 +164,11 @@ case "$1" in esac fi ;; + + status) + status_of_proc "$DAEMON" $NAME + ;; + *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 3