chiark / gitweb /
examples/disorder.init.in: Collect default environment settings.
[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