From 3c9a5cee94ee767272290e071bf8bd3e7b98fda8 Mon Sep 17 00:00:00 2001 From: Andreas Ziegler Date: Sun, 21 Jul 2024 19:36:04 +0200 Subject: [PATCH] package/mpd: rebase init script on layout introduced by openssh Rebase S95mpd on commit 1f743f4 (package/openssh: tidy up init script) $ utils/check-package package/mpd/S95mpd 61 lines processed 0 warnings generated (smoke test on live system) Signed-off-by: Andreas Ziegler Signed-off-by: Thomas Petazzoni --- .checkpackageignore | 1 - package/mpd/S95mpd | 64 ++++++++++++++++++++++++++++++++------------- 2 files changed, 46 insertions(+), 19 deletions(-) diff --git a/.checkpackageignore b/.checkpackageignore index 905d14178f..5d5919340c 100644 --- a/.checkpackageignore +++ b/.checkpackageignore @@ -947,7 +947,6 @@ package/mono/0002-Ongoing-work-on-the-cmake-build.patch lib_patch.Upstream package/mosquitto/S50mosquitto Shellcheck lib_sysv.Indent lib_sysv.Variables package/motion/S99motion Shellcheck lib_sysv.Indent lib_sysv.Variables package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch lib_patch.Upstream -package/mpd/S95mpd lib_sysv.Variables package/mpir/0001-mpn-arm-udiv.asm-workaround-binutils-bug-14887.patch lib_patch.Upstream package/mpv/0001-fix-powerpc64-altivec.patch lib_patch.Upstream package/mraa/0001-include-Declare-gVERSION-global-as-extern.patch lib_patch.Upstream diff --git a/package/mpd/S95mpd b/package/mpd/S95mpd index a258930b3e..ac971e04a2 100644 --- a/package/mpd/S95mpd +++ b/package/mpd/S95mpd @@ -1,33 +1,61 @@ #!/bin/sh +# +# S95mpd Starts Music Player daemon. +# +# shellcheck disable=SC2317 # functions are called via variable + +DAEMON="mpd" +PIDFILE="/var/run/$DAEMON.pid" # Sanity checks -test -f /etc/mpd.conf || exit 0 +[ -f /etc/$DAEMON.conf ] || exit 0 start() { - printf "Starting mpd: " - start-stop-daemon --start --quiet --background --exec /usr/bin/mpd \ - && echo "OK" || echo "FAIL" + printf "Starting %s: " "$DAEMON" + start-stop-daemon --start --pidfile "$PIDFILE" \ + --exec "/usr/bin/$DAEMON" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" } stop() { - printf "Stopping mpd: " - start-stop-daemon --stop --quiet --pidfile /var/run/mpd.pid \ - && echo "OK" || echo "FAIL" + printf "Stopping %s: " "$DAEMON" + start-stop-daemon --stop --pidfile "$PIDFILE" \ + --exec "/usr/bin/$DAEMON" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + # $DAEMON deletes its PID file on exit, wait for it to be gone + while [ -f "$PIDFILE" ]; do + sleep 0.1 + done + return "$status" +} + +restart() { + stop + start +} + +reload() { + restart } case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload) - stop - sleep 1 - start + start|stop|reload|restart) + "$1" ;; *) - echo "Usage: $0 {start|stop|restart}" + echo "Usage: $0 {start|stop|reload|restart}" exit 1 esac + +exit $?