package/mender: adding systemv init file
authorAngelo Compagnucci <angelo@amarulasolutions.com>
Tue, 5 Feb 2019 10:49:56 +0000 (11:49 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 5 Feb 2019 12:45:07 +0000 (13:45 +0100)
This patch adds a service file for the init system v.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Acked-by: <aduskett@gmail.com>
Reviewed-by: Titouan Christophe <titouan.christophe@railnova.eu>
[Peter: fix typo in stop()]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/mender/S42mender [new file with mode: 0644]
package/mender/mender.mk

diff --git a/package/mender/S42mender b/package/mender/S42mender
new file mode 100644 (file)
index 0000000..665a9dd
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/sh
+#
+# Starts mender service.
+#
+
+start() {
+       # If /var/lib/mender is a symlink to /var/run/mender, and
+       #   - the filesystem is RO (i.e. we can not rm the symlink),
+       #     create the directory pointed to by the symlink.
+       #   - the filesystem is RW (i.e. we can rm the symlink),
+       #     replace the symlink with an actual directory
+       if [ -L /var/lib/mender \
+            -a "$(readlink /var/lib/mender)" = "/var/run/mender" ]
+       then
+               if rm -f /var/lib/mender >/dev/null 2>&1; then
+                       mkdir -p /var/lib/mender
+               else
+                       echo "No persistent location to store mender data. Data will be lost"
+                       echo "at reboot. Are you sure this is what you want to do?"
+                       mkdir -p "$(readlink /var/lib/mender)"
+               fi
+       fi
+
+       printf "Starting mender service: "
+       umask 077
+
+       start-stop-daemon -S -q -p /var/run/mender.pid \
+               --exec /usr/bin/mender -- -daemon
+       [ $? = 0 ] && echo "OK" || echo "FAIL"
+}
+stop() {
+       printf "Stopping mender service: "
+       start-stop-daemon -K -q -p /var/run/mender.pid
+       [ $? = 0 ] && echo "OK" || echo "FAIL"
+}
+restart() {
+       stop
+       start
+}
+
+case "$1" in
+       start)
+               start
+               ;;
+       stop)
+               stop
+               ;;
+       restart|reload)
+               restart
+               ;;
+       *)
+               echo "Usage: $0 {start|stop|restart}"
+               exit 1
+esac
+
+exit $?
index 3203df8a47a56e5ee1fc1e89ad36853c8225b730..dc4a73b0f313dcf5747c5953aad969d700079313 100644 (file)
@@ -63,4 +63,9 @@ define MENDER_INSTALL_INIT_SYSTEMD
                $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mender.service
 endef
 
+define MENDER_INSTALL_INIT_SYSV
+       $(INSTALL) -D -m 755 package/mender/S04mender \
+               $(TARGET_DIR)/etc/init.d/S04mender
+endef
+
 $(eval $(golang-package))