From 090ff1b4e7e3e484cc481d9c018666b206cd0df9 Mon Sep 17 00:00:00 2001 From: mandlm Date: Fri, 8 Jan 2016 11:07:05 +0100 Subject: [PATCH] Added sysv and systemd configs and a makefile with install/uninstall targets --- Makefile | 20 +++++++++++ service/mopidy-switcher | 61 +++++++++++++++++++++++++++++++++ service/mopidy-switcher.service | 10 ++++++ 3 files changed, 91 insertions(+) create mode 100644 Makefile create mode 100644 service/mopidy-switcher create mode 100644 service/mopidy-switcher.service diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..62e03b2 --- /dev/null +++ b/Makefile @@ -0,0 +1,20 @@ + +BIN_DIR=/usr/local/bin/mopidy-switcher +SYSV_DIR=/etc/init.d +SYSD_DIR=/etc/systemd/system + +install-sysv: mopidy-switcher + install mopidy-switcher $(SYSV_DIR) + +install-sysd: mopidy-switcher.service + install mopidy-switcher.service $(SYSD_DIR) + +install-switcher: mopidy-switcher.py + install -D mopidy-switcher.py $(BIN_DIR) + +install: install-sysd install-switcher + +uninstall: + rm -rf $(BIN_DIR) + rm -f $(SYSV_DIR)/mopidy-switcher + rm -f $(SYSD_DIR)/mopidy-switcher.service diff --git a/service/mopidy-switcher b/service/mopidy-switcher new file mode 100644 index 0000000..972e761 --- /dev/null +++ b/service/mopidy-switcher @@ -0,0 +1,61 @@ +#!/bin/sh + +### BEGIN INIT INFO +# Provides: mopidy-switcher +# Required-Start: $remote_fs $syslog mopidy +# Required-Stop: $remote_fs $syslog mopidy +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Mopidy switcher initscript +### END INIT INFO + +# Change the next 3 lines to suit where you install your script and what you want to call it +DIR=/usr/local/bin/mopidy-switcher +DAEMON=$DIR/mopidy-switcher.py +DAEMON_NAME=mopidy-switcher + +# Add any command line options for your daemon here +DAEMON_OPTS="" + +# This next line determines what user the script runs as. +# Root generally not recommended but necessary if you are using the Raspberry Pi GPIO from Python. +DAEMON_USER=root + +# The process ID of the script when it runs is stored here: +PIDFILE=/var/run/$DAEMON_NAME.pid + +. /lib/lsb/init-functions + +do_start () { + log_daemon_msg "Starting system $DAEMON_NAME daemon" + start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user $DAEMON_USER --chuid $DAEMON_USER --startas $DAEMON -- $DAEMON_OPTS + log_end_msg $? +} +do_stop () { + log_daemon_msg "Stopping system $DAEMON_NAME daemon" + start-stop-daemon --stop --pidfile $PIDFILE --retry 10 + log_end_msg $? +} + +case "$1" in + + start|stop) + do_${1} + ;; + + restart|reload|force-reload) + do_stop + do_start + ;; + + status) + status_of_proc "$DAEMON_NAME" "$DAEMON" && exit 0 || exit $? + ;; + + *) + echo "Usage: /etc/init.d/$DAEMON_NAME {start|stop|restart|status}" + exit 1 + ;; + +esac +exit 0 diff --git a/service/mopidy-switcher.service b/service/mopidy-switcher.service new file mode 100644 index 0000000..a784f6c --- /dev/null +++ b/service/mopidy-switcher.service @@ -0,0 +1,10 @@ +[Unit] +Description=Mopidy Switcher +After=mopidy.service + +[Service] +User=root +ExecStart=/usr/local/bin/mopidy-switcher/mopidy-switcher.py + +[Install] +WantedBy=multi-user.target