mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 16:46:17 +00:00
105 lines
2.1 KiB
Bash
105 lines
2.1 KiB
Bash
#!/bin/sh
|
|
### BEGIN INIT INFO
|
|
# Provides: soundtouch-service
|
|
# Required-Start: $network $local_fs
|
|
# Required-Stop: $network $local_fs
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: Run AfterTouch on this device
|
|
# Description: Start/stop AfterTouch soundtouch-service
|
|
### END INIT INFO
|
|
|
|
|
|
NAME="aftertouch-service"
|
|
DESC="Bose AfterTouch service"
|
|
DAEMON="/opt/aftertouch/aftertouch-service"
|
|
PIDFILE="/var/run/$NAME.pid"
|
|
DATADIR="/opt/aftertouch/data"
|
|
SCRIPTNAME="/etc/init.d/$NAME"
|
|
USER="root"
|
|
|
|
|
|
# Export PATH
|
|
export PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
|
|
|
|
|
|
# Sanity check executable
|
|
test -x "$DAEMON" || {
|
|
echo "ERROR: Cannot execute $DAEMON (check path and permissions)." >&2
|
|
exit 1
|
|
}
|
|
|
|
|
|
case "$1" in
|
|
start)
|
|
echo "Starting $DESC..."
|
|
|
|
mount -o remount,rw / >/dev/null 2>&1 || {
|
|
echo "ERROR: remount failed." >&2
|
|
exit 1
|
|
}
|
|
|
|
mkdir -p "$DATADIR"
|
|
|
|
start-stop-daemon --start \
|
|
--quiet \
|
|
--pidfile "$PIDFILE" \
|
|
--background \
|
|
--make-pidfile \
|
|
--chuid "$USER" \
|
|
--startas "/bin/sh" \
|
|
-- -c "\"$DAEMON\" --data-dir '$DATADIR' --record-interactions=false"
|
|
|
|
tries=0
|
|
max_tries=60
|
|
while [ $tries -lt $max_tries ]; do
|
|
if curl -fsS http://localhost:8000 >/dev/null 2>&1; then
|
|
exit 0
|
|
fi
|
|
sleep 2
|
|
tries=$((tries + 1))
|
|
done
|
|
|
|
exit 1
|
|
;;
|
|
|
|
stop)
|
|
echo "Stopping $DESC..."
|
|
if [ -f "$PIDFILE" ]; then
|
|
start-stop-daemon --stop \
|
|
--quiet \
|
|
--oknodo \
|
|
--pidfile "$PIDFILE"
|
|
rm -f "$PIDFILE"
|
|
else
|
|
echo "No $NAME running (no PID file)." >&2
|
|
fi
|
|
;;
|
|
|
|
restart|force-reload)
|
|
"$0" stop
|
|
sleep 2
|
|
"$0" start
|
|
;;
|
|
|
|
status)
|
|
if [ -f "$PIDFILE" ]; then
|
|
PID=$(cat "$PIDFILE")
|
|
if kill -0 "$PID" 2>/dev/null; then
|
|
echo "$NAME is running."
|
|
else
|
|
echo "$NAME is not running (PID file exists but process is dead)."
|
|
fi
|
|
else
|
|
echo "$NAME is not running."
|
|
fi
|
|
;;
|
|
|
|
*)
|
|
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
|
|
exit 0 |