package/shairport-sync: fix init script (stop)

shairport-sync creates its pidfile at /var/run/shairport-sync/, so pass
that path to start-stop-daemon in the stop operation.

Also pass the executable path, allowing start-stop-daemon to check if
the PID matches the shairport-sync process, preventing killing some
other inocent daemon.

Fixes:
  https://bugs.busybox.net/show_bug.cgi?id=11566

Reported-by: Bin Zhang <yangtze31@gmail.com>
Signed-off-by: Carlos Santos <casantos@datacom.com.br>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Carlos Santos 2018-12-20 20:18:38 -02:00 committed by Peter Korsgaard
parent 416d46d72b
commit 6568b93929

View File

@ -6,16 +6,18 @@ OPTIONS="-d"
case "$1" in
start)
printf "Starting shairport-sync: "
start-stop-daemon -S -q -p /var/run/shairport-sync.pid --exec /usr/bin/shairport-sync -- $OPTIONS
start-stop-daemon -S -q --exec /usr/bin/shairport-sync -- $OPTIONS
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
stop)
printf "Stopping shairport-sync: "
start-stop-daemon -K -q -p /var/run/shairport-sync.pid
start-stop-daemon -K -q --exec /usr/bin/shairport-sync \
-p /var/run/shairport-sync/shairport-sync.pid
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)