Merge branch 'master' of git.distorted.org.uk:~mdw/publish/public-git/disorder
[disorder] / examples / disorder.init.in
1 #! /bin/sh
2 #
3 # This file is part of DisOrder.
4 # Copyright (C) 2004, 2005, 2007, 2009 Richard Kettlewell
5 #
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #
19
20 ### BEGIN INIT INFO
21 # Provides: disorder
22 # Required-Start: $local_fs $network $named $remote_fs $syslog $time
23 # Required-Stop: $local_fs $network $named $remote_fs $syslog $time
24 # Default-Start: 2 3 4 5
25 # Default-Stop: 0 1 6
26 # Short-Description: Start and stop DisOrder
27 # Description: DisOrder is a multi-user software jukebox.
28 ### END INIT INFO
29
30 set -e
31
32 . /lib/lsb/init-functions
33
34 DAEMON=sbindir/disorderd
35 CLIENT="bindir/disorder --local"
36
37 PATH="$PATH:sbindir"
38
39 if [ -r /etc/default/locale ]; then
40 . /etc/default/locale
41 for var in \
42 LANG LANGUAGE LC_ALL \
43 LC_ADDRESS LC_COLLATE LC_CTYPE LC_IDENTIFICATION LC_MEASUREMENT \
44 LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME
45 do
46 eval p=\${$var+t}
47 case ${p+t} in t) export $var ;; esac
48 done
49 fi
50
51 if [ -r /etc/default/disorder ]; then
52 . sysconfdir/default/disorder
53 fi
54
55 start_debian() {
56 printf "Starting DisOrder server: disorderd"
57 start-stop-daemon -S -q -x ${DAEMON}
58 echo .
59 }
60
61 start_generic() {
62 if ${CLIENT} version >/dev/null 2>&1; then
63 : already running
64 else
65 printf "Starting DisOrder server: disorderd"
66 ${DAEMON}
67 echo .
68 fi
69 }
70
71 start() {
72 if test -e /sbin/start-stop-daemon; then
73 start_debian
74 else
75 start_generic
76 fi
77 }
78
79 stop_debian() {
80 printf "Stopping DisOrder server: disorderd"
81 start-stop-daemon -K -o -q -x ${DAEMON}
82 echo .
83 }
84
85 stop_generic() {
86 if ${CLIENT} version >/dev/null 2>&1; then
87 printf "Stopping DisOrder server: disorderd"
88 ${CLIENT} shutdown
89 echo .
90 else
91 : not running
92 fi
93 }
94
95 stop() {
96 if test -e /sbin/start-stop-daemon; then
97 stop_debian
98 else
99 stop_generic
100 fi
101 }
102
103 reload() {
104 printf "Reloading DisOrder server configuration..."
105 ${CLIENT} reconfigure
106 echo done.
107 }
108
109 restart() {
110 stop
111 sleep 2
112 start
113 }
114
115 case "$1" in
116 start | stop | reload | restart ) "$1" ;;
117 force-reload ) reload ;;
118 * )
119 echo "usage: $0 start|stop|restart|reload" 1>&2
120 exit 1
121 esac