chiark / gitweb /
draft initd status support
[userv.git] / debian / initd
1 #!/bin/sh
2
3 ### BEGIN INIT INFO
4 # Provides:             userv
5 # Required-Start:       $remote_fs $syslog
6 # Default-Start:        2 3 4 5
7 # Default-Stop:         0 1 6
8 # Short-Description:    userv services daemon uservd
9 # Description:          User services (security boundary) daemon
10 ### END INIT INFO
11
12 test -f /usr/sbin/uservd || exit 0
13
14 ensure_var_dir () {
15         var_dir=/var/run/userv
16         test -d "$var_dir" || mkdir -m700 "$var_dir"
17 }
18
19 case "$1" in
20 start)
21         echo -n "Starting user services daemon: uservd"
22         ensure_var_dir
23         start-stop-daemon --start --quiet --exec /usr/sbin/uservd -- -daemon
24         echo "."
25         ;;
26
27 stop)
28         echo -n "Stopping user services daemon: uservd"
29         start-stop-daemon --stop --quiet --user root --exec /usr/sbin/uservd
30         echo "."
31         ;;
32
33 restart)
34         echo -n "Restarting user services daemon: uservd"
35         ensure_var_dir
36         start-stop-daemon --stop --oknodo --quiet --user root \
37                 --exec /usr/sbin/uservd
38         sleep 1
39         start-stop-daemon --start --quiet --exec /usr/sbin/uservd -- -daemon
40         echo "."
41         ;;
42
43 reload | force-reload)
44         ;;
45
46 # draft implementation of status support
47 # commented out pending inclusion into policy of firm specification
48 #status)
49 #       userv -B version >/dev/null 2>/dev/null
50 #       case $? in
51 #       0)      echo 'uservd running ok'; exit 0;;
52 #       *)      echo 'uservd not running'; exit 3;;
53 #       esac
54 #       ;;
55
56 *)
57         echo "Usage: /etc/init.d/userv {start|stop|restart|reload|force-reload}"
58         exit 1
59 esac
60
61 exit 0