]> git.parisson.com Git - jackd-init.git/commitdiff
init
authorGuillaume Pellerin <yomguy@parisson.com>
Thu, 23 Oct 2014 17:55:43 +0000 (19:55 +0200)
committerGuillaume Pellerin <yomguy@parisson.com>
Thu, 23 Oct 2014 17:55:43 +0000 (19:55 +0200)
install.sh [new file with mode: 0755]
src/etc/init.d/jackd [new file with mode: 0755]

diff --git a/install.sh b/install.sh
new file mode 100755 (executable)
index 0000000..139021a
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+cp -ra src/* /
+update-rc.d jackd defaults 30 30
+
diff --git a/src/etc/init.d/jackd b/src/etc/init.d/jackd
new file mode 100755 (executable)
index 0000000..4c2aa07
--- /dev/null
@@ -0,0 +1,83 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          jackd
+# Required-Start:
+# Required-Stop:
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: init-Script for system wide fetchmail daemon
+### END INIT INFO
+
+
+DAEMON=/usr/bin/jackd
+USER=""
+OPTIONS=""
+LOG=/var/log/jackd.log
+PIDFILE=/var/run/jackd.pid
+
+test -f /etc/default/jackd || exit 0
+. /etc/default/jackd
+
+JACKDHOME=/home/$USER
+
+if [ ! "x$START_DAEMON" = "xyes" -a ! "$1" = "stop" ]; then
+       echo "Edit /etc/default/jackd to start jackd"
+       exit 0
+fi
+
+test -f $DAEMON || exit 0
+
+. /lib/lsb/init-functions
+
+case "$1" in
+       start)  
+               log_begin_msg "Starting jackd audio server:" "jackd"
+            echo $DAEMON $OPTIONS ' &' > $JACKDHOME/.jackdinit
+            chmod +x $JACKDHOME/.jackdinit
+            su -c $JACKDHOME/.jackdinit $USER > ${LOG}
+               sleep 2
+            pid=`pgrep -u ${USER} jackd` 
+               if [ pid = '' ]; then
+                       log_failure_msg "JACK daemon can't be started! Check logfile: ${LOG}"
+            else
+                echo $pid > $PIDFILE
+               fi
+               
+               ;;
+       stop)
+               log_begin_msg "Stopping jackd audio server:" "jackd"
+                pid=`cat $PIDFILE | sed -e 's/\s.*//'|head -n1` 
+               if [ ! pid = '' ]; then
+                        kill -9 $pid
+                       log_end_msg 0
+               else
+                       log_end_msg 1
+                       exit 1
+               fi
+                rm $PIDFILE
+               ;;
+       try-restart)
+               if test -e $PIDFILE ; then
+                       pid=`cat $PIDFILE | sed -e 's/\s.*//'|head -n1`
+                       PIDDIR=/proc/$pid
+                       if [ -d ${PIDDIR} -a  "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then
+                               $0 restart
+                               exit 0
+                       fi
+               fi
+               test -f /etc/rc`/sbin/runlevel | cut -d' ' -f2`.d/S*jackd* && $0 start
+               ;;
+
+       *)
+               log_warning_msg "Usage: /etc/init.d/jackd {start|stop|restart|force-reload|awaken|debug-run}"
+               log_warning_msg "  start - starts system-wide jackd service"
+               log_warning_msg "  stop  - stops system-wide jackd service"
+               log_warning_msg "  restart, force-reload - starts a new system-wide jackd service"
+               log_warning_msg "  awaken - tell system-wide jackd to start a poll cycle immediately"
+               log_warning_msg "  debug-run [strace [strace options...]] - start a debug run of the"
+               log_warning_msg "    system-wide jackd service, optionally running it under strace"
+               exit 1
+               ;;
+esac
+
+exit 0