initscripts
[svn42.git] / tuer_actions.initscript
diff --git a/tuer_actions.initscript b/tuer_actions.initscript
new file mode 100755 (executable)
index 0000000..cc353be
--- /dev/null
@@ -0,0 +1,62 @@
+#!/bin/sh
+# Start/stop the tuer status updater.
+#
+### BEGIN INIT INFO
+# Provides:          tuer_actions
+# Required-Start:    $remote_fs $syslog $time $tuer_core $tuer_presence
+# Required-Stop:     $remote_fs $syslog $time $tuer_core $tuer_presence
+# Default-Start:     2 3 4 5
+# Default-Stop:      1
+### END INIT INFO
+
+EXE_SWITCH=/flash/tuer/switch-power.py
+EXE_SOUND=/flash/tuer/play-sound-status.py
+
+CFG_SWITCH=/flash/tuer/switch-power.cfg
+CFG_SOUND=/flash/tuer/play-sound-status.cfg
+
+. /etc/default/tuer
+
+PIDFILE_SWITCH=${DIR_RUN}/switch-power.pid
+PIDFILE_SOUND=${DIR_RUN}/play-sound-status.pid
+
+test -f $EXE_SWITCH  || exit 1
+test -f $EXE_SOUND  || exit 1
+if [ ! -d $DIR_RUN ]; then
+       mkdir -p $DIR_RUN || exit 2
+       chown -R $DOOR_USR:$DOOR_GRP $DIR_RUN
+fi
+
+. /lib/lsb/init-functions
+
+# Read the system's locale and set cron's locale. This locale
+# will be inherited by cron (used to set charset of emails)
+# and tasks running under it.
+
+case "$1" in
+start) 
+       log_daemon_msg "Starting door daemon" "switch-power"
+        start-stop-daemon --start --quiet --pidfile $PIDFILE_SWITCH -b -m -c $DOOR_USR --name update-xmpp-status.py --startas $EXE_SWITCH  -- $CFG_SWITCH
+        log_end_msg $? 
+       log_daemon_msg "Starting door daemon" "play-sound"
+        start-stop-daemon --start --quiet --pidfile $PIDFILE_SOUND -b -m -c $DOOR_USR --name update-xmpp-status.py --startas $EXE_SOUND  -- $CFG_SOUND
+        log_end_msg $? 
+       ;;
+stop)
+       log_daemon_msg "Stopping door daemon" "switch-power"
+        start-stop-daemon --stop --quiet --pidfile $PIDFILE_SWITCH -m --retry TERM/1/TERM/1/KILL 
+        log_end_msg $? 
+  sleep 1
+       log_daemon_msg "Stopping door daemon" "play-sound"
+        start-stop-daemon --stop --quiet --pidfile $PIDFILE_SOUND -m --retry TERM/1/TERM/1/KILL 
+        log_end_msg $?
+        ;;
+restart) 
+       $0 stop
+       $0 start
+        ;;
+*)     log_action_msg "Usage: $0 {start|stop|restart|reload|force-reload}"
+        exit 2
+        ;;
+esac
+exit 0