LSB init script
authorPierre Habouzit <madcoder@debian.org>
Mon, 26 Nov 2007 21:20:05 +0000 (22:20 +0100)
committerPierre Habouzit <madcoder@debian.org>
Mon, 26 Nov 2007 21:30:57 +0000 (22:30 +0100)
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
debian/xinetd.init
debian/xinetd.preinst [new file with mode: 0644]

index 602f052..1c59e02 100644 (file)
@@ -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 (file)
index 0000000..e41eca3
--- /dev/null
@@ -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#