X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fdebian%2Fcitadel.init;fp=citadel%2Fdebian%2Fcitadel.init;h=7fb213df9fc502c5c0587e28fe78c16ee251fd94;hp=2e7364e3dc7161e53136d3d1ce8b891a0af186e7;hb=3c56420d6f7066dd0d09cd404617dee3c429ab18;hpb=7625545f74a8465bff1f2252fe4ab8a542e0e7a5 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