source: roaraudio/dist/debian-like/roaraudio @ 1146:5da989481912

Last change on this file since 1146:5da989481912 was 1146:5da989481912, checked in by phi, 15 years ago

updated to new driver interface

  • Property exe set to *
File size: 2.2 KB
Line 
1#!/bin/sh
2#
3set -e
4
5PATH=/sbin:/bin:/usr/sbin:/usr/bin
6DAEMON=/usr/bin/roard
7ROARCTL=/usr/bin/roarctl
8NAME=roaraudio
9DESC="RoarAudio"
10
11#PIDFILE=/var/run/$NAME.pid
12SCRIPTNAME=/etc/init.d/$NAME
13
14# Gracefully exit if the package has been removed.
15test -x $DAEMON || exit 0;
16
17# Read config file if it is present.
18if [ -r /etc/default/$NAME ]
19then
20    . /etc/default/$NAME
21fi
22
23if [ "$ROARAUDIO_DEFAULT_SOCKET" != '' ]
24then
25 ln -s "$ROARAUDIO_DEFAULT_SOCKET" /etc/roarserver
26fi
27
28[ "$ROARD" = 'YES' ] || exit 0;
29
30ROARD_OPTS="--daemon $ROARD_OPTS"
31
32[ "$ROARD_REALTIME" = 'YES'    ] && ROARD_OPTS="--realtime $ROARD_OPTS"
33[ "$ROARD_REALTIME" = 'DOUBLE' ] && ROARD_OPTS="--realtime --realtime $ROARD_OPTS"
34
35case "$ROARD_AF" in
36  UNIX|unix)
37   ROARD_OPTS="-u $ROARD_OPTS"
38  ;;
39  TCP|tcp)
40   ROARD_OPTS="-t $ROARD_OPTS"
41  ;;
42  DECnet|DECNET|decnet)
43   ROARD_OPTS="-n $ROARD_OPTS"
44  ;;
45esac
46
47[ "$ROARD_SOCKET" = '' ]  || ROARD_OPTS="--sock $ROARD_SOCKET $ROARD_OPTS"
48[ "$ROARD_PORT"   = '' ]  || ROARD_OPTS="--port $ROARD_PORT $ROARD_OPTS"
49
50if [ "$ROARD_OBJECT" = '' ]
51then
52 [ "$ROARD_HOST" = '' ]   || ROARD_OPTS="--bind $ROARD_HOST $ROARD_OPTS"
53else
54 ROARD_OPTS="--sock $ROARD_HOST::$ROARD_OBJECT $ROARD_OPTS"
55fi
56
57[ "$ROARD_RATE"    = '' ] || ROARD_OPTS="-R $ROARD_RATE $ROARD_OPTS"
58[ "$ROARD_CHANNEL" = '' ] || ROARD_OPTS="-C $ROARD_CHANNEL $ROARD_OPTS"
59[ "$ROARD_BITS"    = '' ] || ROARD_OPTS="-B $ROARD_BITS $ROARD_OPTS"
60
61[ "$ROARD_DRIVER" = '' ]  || ROARD_OPTS="-o $ROARD_DRIVER $ROARD_OPTS -oP -oO sync"
62[ "$ROARD_DEVICE" = '' ]  || ROARD_OPTS="-O $ROARD_DEVICE $ROARD_OPTS"
63[ "$ROARD_DRIVER_OPTIONS" = '' ]  || ROARD_OPTS="-dO $ROARD_DRIVER_OPTIONS $ROARD_OPTS"
64
65if [ "$ROARD_USER" = '' ]
66then
67 ROARD_OPTS="--setuid -U roard $ROARD_OPTS"
68else
69 ROARD_OPTS="--setuid -U $ROARD_USER $ROARD_OPTS"
70fi
71
72ROARD_OPTS="--setgid $ROARD_OPTS"
73[ "$ROARD_GROUP"  = '' ]  || ROARD_OPTS="-G $ROARD_GROUP $ROARD_OPTS"
74
75case "$1" in
76  start)
77        echo -n "Starting $DESC: $NAME"
78        $DAEMON $ROARD_OPTS
79        echo "."
80        ;;
81  stop)
82        echo -n "Stopping $DESC: $NAME"
83        # FIXME: use --server here
84        $ROARCTL exit > /dev/null
85        echo "."
86        ;;
87  restart)
88        echo -n "Restarting $DESC: $NAME"
89        $DAEMON --restart $ROARD_OPTS
90        echo "."
91        ;;
92  *)
93        echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
94        exit 1
95        ;;
96esac
97
98exit 0
Note: See TracBrowser for help on using the repository browser.