chiark / gitweb /
examples/disorder.init.in: Read settings from `/etc/default/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/disorder ]; then
40   . sysconfdir/default/disorder
41 fi
42
43 start_debian() {
44   printf "Starting DisOrder server: disorderd"
45   start-stop-daemon -S -q -x ${DAEMON}
46   echo .
47 }
48
49 start_generic() {
50   if ${CLIENT} version >/dev/null 2>&1; then
51     : already running
52   else
53     printf "Starting DisOrder server: disorderd"
54     ${DAEMON}
55     echo .
56   fi
57 }
58
59 start() {
60   if test -e /sbin/start-stop-daemon; then
61     start_debian
62   else
63     start_generic
64   fi
65 }
66
67 stop_debian() {
68   printf "Stopping DisOrder server: disorderd"
69   start-stop-daemon -K -o -q -x ${DAEMON}
70   echo .
71 }
72
73 stop_generic() {
74  if ${CLIENT} version >/dev/null 2>&1; then
75    printf "Stopping DisOrder server: disorderd"
76    ${CLIENT} shutdown
77    echo .
78  else
79    : not running
80  fi
81 }
82
83 stop() {
84   if test -e /sbin/start-stop-daemon; then
85     stop_debian
86   else
87     stop_generic
88   fi
89 }
90
91 reload() {
92   printf "Reloading DisOrder server configuration..."
93   ${CLIENT} reconfigure
94   echo done.
95 }
96
97 restart() {
98   stop
99   sleep 2
100   start
101 }
102
103 case "$1" in
104 start | stop | reload | restart ) "$1" ;;
105 force-reload ) reload ;;
106 * )
107   echo "usage: $0 start|stop|restart|reload" 1>&2
108   exit 1
109 esac