chiark / gitweb /
changelog WIP
[userv.git] / debian / initd
index 4a01629e280ba3acd21368960e0a68a7ef6047c5..16e95af92f6a26af591ae593662bc6850d70b17a 100644 (file)
@@ -1,26 +1,61 @@
 #!/bin/sh
 
+### BEGIN INIT INFO
+# Provides:            userv
+# Required-Start:      $remote_fs $syslog
+# Required-Stop:       $remote_fs $syslog
+# Default-Start:       2 3 4 5
+# Default-Stop:                0 1 6
+# Short-Description:   userv services daemon uservd
+# Description:          User services (security boundary) daemon
+### END INIT INFO
+
 test -f /usr/sbin/uservd || exit 0
 
+ensure_var_dir () {
+       var_dir=/var/run/userv
+       test -d "$var_dir" || mkdir -m700 "$var_dir"
+}
+
 case "$1" in
 start)
-       echo "Starting user services daemon uservd"
+       echo -n "Starting user services daemon: uservd"
+       ensure_var_dir
        start-stop-daemon --start --quiet --exec /usr/sbin/uservd -- -daemon
+       echo "."
        ;;
+
 stop)
-       echo "Stopping user services daemon uservd"
+       echo -n "Stopping user services daemon: uservd"
        start-stop-daemon --stop --quiet --user root --exec /usr/sbin/uservd
+       echo "."
        ;;
+
 restart)
-       echo "Restarting user services daemon uservd"
-       start-stop-daemon --stop --quiet --user root --exec /usr/sbin/uservd
+       echo -n "Restarting user services daemon: uservd"
+       ensure_var_dir
+       start-stop-daemon --stop --oknodo --quiet --user root \
+               --exec /usr/sbin/uservd
        sleep 1
        start-stop-daemon --start --quiet --exec /usr/sbin/uservd -- -daemon
+       echo "."
        ;;
+
 reload | force-reload)
        ;;
+
+# draft implementation of status support
+# commented out pending inclusion into policy of firm specification
+#status)
+#      userv -B version >/dev/null 2>/dev/null
+#      case $? in
+#      0)      echo 'uservd running ok'; exit 0;;
+#      *)      echo 'uservd not running'; exit 3;;
+#      esac
+#      ;;
+
 *)
-       echo "Usage: /etc/init.d/userv {start|stop|reload}"
+       echo "Usage: /etc/init.d/userv {start|stop|restart|reload|force-reload}"
        exit 1
 esac