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