From cc267605c2926e0f494a759c5f1fc7a357b8ac61 Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Mon, 26 Nov 2007 22:20:05 +0100 Subject: [PATCH] LSB init script Signed-off-by: Pierre Habouzit --- debian/xinetd.init | 73 ++++++++++++++++++++++--------------------- debian/xinetd.preinst | 12 +++++++ 2 files changed, 50 insertions(+), 35 deletions(-) create mode 100644 debian/xinetd.preinst diff --git a/debian/xinetd.init b/debian/xinetd.init index 602f052..1c59e02 100644 --- a/debian/xinetd.init +++ b/debian/xinetd.init @@ -1,20 +1,28 @@ #!/bin/sh -# -# /etc/init.d/xinetd -- script to start and stop xinetd. +### BEGIN INIT INFO +# Provides: inetd +# Required-Start: $local_fs $remote_fs +# Required-Stop: $local_fs $remote_fs +# Should-Start: $syslog +# Should-Stop: $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start or stop the xinetd daemon. +### END INIT INFO # clear poisonned environment unset TMPDIR -if test -f /etc/default/xinetd; then - . /etc/default/xinetd -fi +NAME=xinetd +DAEMON=/usr/sbin/$NAME +PIDFILE=/var/run/$NAME.pid -test -x /usr/sbin/xinetd || exit 0 +test -x "$DAEMON" || exit 0 -case "$INETD_COMPAT" in - [Yy]*) XINETD_OPTS="$XINETD_OPTS -inetd_compat";; - *);; -esac +test -e /etc/default/$NAME && . /etc/default/$NAME +case "$INETD_COMPAT" in [Yy]*) XINETD_OPTS="$XINETD_OPTS -inetd_compat";; esac + +. /lib/lsb/init-functions checkportmap () { if grep "^[^ *#]" /etc/xinetd.conf | grep -q 'rpc/'; then @@ -31,34 +39,29 @@ checkportmap () { case "$1" in start) checkportmap - echo -n "Starting internet superserver: xinetd" - start-stop-daemon --start --quiet --background --exec /usr/sbin/xinetd -- -pidfile /var/run/xinetd.pid $XINETD_OPTS - echo "." - ;; + log_daemon_msg "Starting internet superserver" "$NAME" + start-stop-daemon --start --quiet --background --exec "$DAEMON" -- \ + -pidfile "$PIDFILE" $XINETD_OPTS + log_end_msg $? + ;; stop) - echo -n "Stopping internet superserver: xinetd" - start-stop-daemon --stop --signal 3 --quiet --oknodo --exec /usr/sbin/xinetd - echo "." - ;; + log_daemon_msg "Stopping internet superserver" "$NAME" + start-stop-daemon --stop --signal 3 --quiet --oknodo --exec "$DAEMON" + log_end_msg $? + ;; reload) - echo -n "Reloading internet superserver configuration: xinetd" - start-stop-daemon --stop --signal 1 --quiet --oknodo --exec /usr/sbin/xinetd - echo "." - ;; - force-reload) - echo "$0 force-reload: Force Reload is deprecated" - echo -n "Forcefully reloading internet superserver configuration: xinetd" - start-stop-daemon --stop --signal 1 --quiet --oknodo --exec /usr/sbin/xinetd - echo "." - ;; - restart) - $0 stop - $0 start - ;; + log_daemon_msg "Reloading internet superserver configuration" "$NAME" + start-stop-daemon --stop --signal 1 --quiet --oknodo --exec "$DAEMON" + log_end_msg $? + ;; + restart|force-reload) + $0 stop + $0 start + ;; *) - echo "Usage: /etc/init.d/xinetd {start|stop|reload|force-reload|restart}" - exit 1 - ;; + echo "Usage: /etc/init.d/xinetd {start|stop|reload|force-reload|restart}" + exit 1 + ;; esac exit 0 diff --git a/debian/xinetd.preinst b/debian/xinetd.preinst new file mode 100644 index 0000000..e41eca3 --- /dev/null +++ b/debian/xinetd.preinst @@ -0,0 +1,12 @@ +#!/bin/sh -e + +if test "$1" = "upgrade"; then + # version 1:2.3.14-3 is the first one to provide inet-superserver + if dpkg --compare-versions "$2" lt-nl 1:2.3.14-3; then + rm -f /etc/init.d/inetd + dpkg-divert --package xinetd --remove --rename --divert \ + /etc/init.d/inetd.real /etc/init.d/inetd + fi +fi + +#DEBHELPER# -- 2.20.1