#! /bin/sh
#
# This file is part of DisOrder.
-# Copyright (C) 2004, 2005 Richard Kettlewell
+# Copyright (C) 2004, 2005, 2007, 2009 Richard Kettlewell
#
-# This program is free software; you can redistribute it and/or modify
+# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-# USA
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
+### BEGIN INIT INFO
+# Provides: disorder
+# Required-Start: $local_fs $network $named $remote_fs $syslog $time
+# Required-Stop: $local_fs $network $named $remote_fs $syslog $time
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start and stop DisOrder
+# Description: DisOrder is a multi-user software jukebox.
+### END INIT INFO
+
set -e
+. /lib/lsb/init-functions
+
DAEMON=sbindir/disorderd
-CLIENT=bindir/disorder
+CLIENT="bindir/disorder --local"
PATH="$PATH:sbindir"
-start() {
- if ${CLIENT} >/dev/null 2>&1; then
+if [ -r /etc/default/locale ]; then
+ . /etc/default/locale
+ for var in \
+ LANG LANGUAGE LC_ALL \
+ LC_ADDRESS LC_COLLATE LC_CTYPE LC_IDENTIFICATION LC_MEASUREMENT \
+ LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME
+ do
+ eval p=\${$var+t}
+ case ${p+t} in t) export $var ;; esac
+ done
+fi
+
+if [ -r /etc/default/disorder ]; then
+ . sysconfdir/default/disorder
+fi
+
+start_debian() {
+ printf "Starting DisOrder server: disorderd"
+ start-stop-daemon -S -q -x ${DAEMON}
+ echo .
+}
+
+start_generic() {
+ if ${CLIENT} version >/dev/null 2>&1; then
: already running
else
- printf "Starting disorderd... "
+ printf "Starting DisOrder server: disorderd"
${DAEMON}
- echo done
+ echo .
fi
}
+start() {
+ if test -e /sbin/start-stop-daemon; then
+ start_debian
+ else
+ start_generic
+ fi
+}
+
+stop_debian() {
+ printf "Stopping DisOrder server: disorderd"
+ start-stop-daemon -K -o -q -x ${DAEMON}
+ echo .
+}
+
+stop_generic() {
+ if ${CLIENT} version >/dev/null 2>&1; then
+ printf "Stopping DisOrder server: disorderd"
+ ${CLIENT} shutdown
+ echo .
+ else
+ : not running
+ fi
+}
+
stop() {
- if ${CLIENT} >/dev/null 2>&1; then
- printf "Stopping disorderd... "
- ${CLIENT} shutdown
- echo done
+ if test -e /sbin/start-stop-daemon; then
+ stop_debian
else
- : not running
+ stop_generic
fi
}
reload() {
- printf "Reconfiguring disorderd... "
+ printf "Reloading DisOrder server configuration..."
${CLIENT} reconfigure
- echo done
+ echo done.
}
restart() {