From 86694c39115ddff2592814569548d7a6177df0a4 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Thu, 21 Jun 2007 14:15:59 +0000 Subject: [PATCH] * Use LSB logging functions for openafs-fileserver and support passing arguments to bosserver in /etc/default/openafs-fileserver by setting DAEMON_ARGS. --- debian/changelog | 8 ++ debian/control | 2 +- debian/openafs-fileserver.init | 147 +++++++++++++++++++-------------- 3 files changed, 96 insertions(+), 61 deletions(-) diff --git a/debian/changelog b/debian/changelog index 6e4256494..412a89fe5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +openafs (1.4.4.dfsg1-5) UNRELEASED; urgency=low + + * Use LSB logging functions for openafs-fileserver and support passing + arguments to bosserver in /etc/default/openafs-fileserver by setting + DAEMON_ARGS. + + -- Russ Allbery Thu, 21 Jun 2007 07:16:37 -0700 + openafs (1.4.4.dfsg1-4) unstable; urgency=low * Apply upstream patch from Jeffrey Hutzelman to fix kernel module diff --git a/debian/control b/debian/control index 438e6fb78..97e151139 100644 --- a/debian/control +++ b/debian/control @@ -38,7 +38,7 @@ Description: AFS distributed filesystem old password changing Package: openafs-fileserver Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64 s390x -Depends: ${shlibs:Depends}, ${misc:Depends}, openafs-client +Depends: ${shlibs:Depends}, ${misc:Depends}, openafs-client, lsb-base Recommends: ntp Suggests: openafs-doc Description: AFS distributed filesystem file server diff --git a/debian/openafs-fileserver.init b/debian/openafs-fileserver.init index bfe35e560..29c85b14d 100755 --- a/debian/openafs-fileserver.init +++ b/debian/openafs-fileserver.init @@ -11,26 +11,19 @@ # OpenAFS file server or database servers depending on # its configuration. ### END INIT INFO + +# Author: Sam Hartman +# Author: Russ Allbery # -# skeleton example file to build /etc/init.d/ scripts. -# This file should be used to construct scripts for /etc/init.d. -# -# Written by Miquel van Smoorenburg . -# Modified for Debian GNU/Linux -# by Ian Murdock . -# -# Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl -# +# Based on the /etc/init.d/skeleton template as found in initscripts version +# 2.86.ds1-15. -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DESC="OpenAFS BOS server" +NAME=bosserver DAEMON=/usr/sbin/bosserver DAEMON_ARGS="" -NAME=bosserver -DESC="AFS Server" - -# Make sure we don't leave file descriptors open. -exec 3>/dev/null -exec = 3.0-6). +. /lib/lsb/init-functions + +# Make sure we don't leave file descriptors open. +exec 3>/dev/null +exec /dev/null || return 1 + start-stop-daemon --start --quiet --startas $DAEMON --name $NAME \ + -- $DAEMON_ARGS || return 2 +} + +# 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 +do_stop() +{ + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME +} + +case "$1" in start) - echo -n "Starting $DESC: " - start-stop-daemon --start --quiet --name bosserver \ - --startas $DAEMON -- $DAEMON_ARGS - echo "$NAME." - ;; + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) - echo -n "Stopping $DESC: " - bos shutdown localhost -wait -localauth - start-stop-daemon --stop --quiet \ - --user root --name bosserver - echo "$NAME." - ;; - #reload) - # - # If the daemon can reload its config files on the fly - # for example by sending it SIGHUP, do it here. - # - # If the daemon responds to changes in its config file - # directly anyway, make this a do-nothing entry. - # - # echo "Reloading $DESC configuration files." - # start-stop-daemon --stop --signal 1 --quiet --pidfile \ - # /var/run/$NAME.pid --exec $DAEMON - #;; + [ "$VERBOSE" != no ] && log_action_msg "Stopping OpenAFS services" + bos shutdown localhost -wait -localauth + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + restart|force-reload) - # - # If the "reload" option is implemented, move the "force-reload" - # option to the "reload" entry above. If not, "force-reload" is - # just the same as "restart". - # - echo -n "Restarting $DESC: " - if pidof $DAEMON > /dev/null ; then - bos restart localhost -localauth -bos - else - start-stop-daemon --start --quiet --name bosserver \ - --startas $DAEMON -- $DAEMON_ARGS - fi - sleep 1 - echo "$NAME." - ;; + [ "$VERBOSE" != no ] && log_daemon_msg "Restarting $DESC" "$NAME" + start-stop-daemon --start --quiet --startas $DAEMON --name $NAME --test \ + > /dev/null + case "$?" in + 0) + do_start + case "$?" in + 0) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + *) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + 1) + bos restart localhost -all -bosserver -localauth + case "$?" in + 0) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + *) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + *) + log_end_msg 1 + ;; + esac + ;; + *) - N=/etc/init.d/$NAME - # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 - echo "Usage: $N {start|stop|restart|force-reload}" >&2 - exit 1 - ;; + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 + exit 3 + ;; esac exit 0 -- 2.39.5