On 15:01 Mon 09 Nov , Apollon Oikonomopoulos wrote: > If we're going to support this, I would like to avoid parsing program > output. We could check the dpkg version (e.g. using dpkg > --compare-versions) and fall back to the kill loop if dpkg is older > than 1.17.6, or we could keep the loop as is but create a temporary > pidfile for each PID and pass the temporary pidfile to > start-stop-daemon with `--pidfile` instead of `--pid`. Both approaches > sound a bit hackish, but the second is probably less so.
IOW, something along these lines: diff --git a/debian/haproxy.init b/debian/haproxy.init index 35af505..2852efa 100644 --- a/debian/haproxy.init +++ b/debian/haproxy.init @@ -62,8 +62,10 @@ haproxy_stop() ret=0 for pid in $(cat $PIDFILE); do + tmppid="$(mktemp)" start-stop-daemon --quiet --oknodo --stop \ - --retry 5 --pid $pid --exec $HAPROXY || ret=$? + --retry 5 --pidfile "$tmppid" --exec $HAPROXY || ret=$? + rm -f "$tmppid" done [ $ret -eq 0 ] && rm -f $PIDFILE Note that s-s-d has a '--remove-pidfile' option, but this is again too new (>= 1.17.19).