package/sysrepo: fix SysV init script
authorHeiko Thiery <heiko.thiery@gmail.com>
Wed, 27 May 2020 07:11:13 +0000 (09:11 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Sun, 31 May 2020 08:27:01 +0000 (10:27 +0200)
The current script (S51sysrepo-plugind) is not able to stop the daemon.

Possible options to fix the problem:

A) By adding the "-m -p $PIDFILE" option to start the pid file will be
   created but it will not contain the correct PID used by the daemon.
   This is obviously because the daemon forks.
B) By not starting the daemon in background (sysrepo-plugind -d) and
   let do it by start-stop-daemon with "-b" option. But then the log
   messages of the daemon will not longer ends in the syslog but to stderr.
C) Start the daemon without a pidfile and stop the daemon with the
   "-x" option.

The only valid option is C to fix that.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
[yann.morin.1998@free.fr: introduce EXECUTABLE]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/sysrepo/S51sysrepo-plugind

index 74b68396bf94068374b2e306a532ccaa086603f8..60ea3ba7a964835220ffbd1cb8f070091419d59d 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 DAEMON="sysrepo-plugind"
-PIDFILE="/var/run/$DAEMON.pid"
+EXECUTABLE="/usr/bin/$DAEMON"
 
 SYSREPO_PLUGIND_ARGS=""
 
@@ -10,7 +10,7 @@ SYSREPO_PLUGIND_ARGS=""
 
 start() {
        printf 'Starting %s: ' "$DAEMON"
-       start-stop-daemon -S -q -x "/usr/bin/$DAEMON" \
+       start-stop-daemon -S -q -x "$EXECUTABLE" \
                -- $SYSREPO_PLUGIND_ARGS
        status=$?
        if [ "$status" -eq 0 ]; then
@@ -23,7 +23,7 @@ start() {
 
 stop() {
        printf 'Stopping %s: ' "$DAEMON"
-       start-stop-daemon -K -q -p $PIDFILE
+       start-stop-daemon -K -q -x "$EXECUTABLE"
        status=$?
        if [ "$status" -eq 0 ]; then
                echo "OK"