package/seatd: install init scripts
authorAdrian Perez de Castro <aperez@igalia.com>
Tue, 18 May 2021 13:54:21 +0000 (16:54 +0300)
committerYann E. MORIN <yann.morin.1998@free.fr>
Tue, 18 May 2021 17:09:24 +0000 (19:09 +0200)
Add commands to the seatd package to install the systemd unit included
in the source tarball and a SysV init script, and ensure that the
"video" group gets created.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
[yann.morin.1998@free.fr:
  - model the init script after package/busybox/S01syslogd
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/seatd/S70seatd [new file with mode: 0755]
package/seatd/seatd.mk

diff --git a/package/seatd/S70seatd b/package/seatd/S70seatd
new file mode 100755 (executable)
index 0000000..32bdc40
--- /dev/null
@@ -0,0 +1,46 @@
+#! /bin/sh
+
+DAEMON="seatd"
+DAEMON_EXE="/usr/bin/${DAEMON}"
+PIDFILE="/run/${DAEMON}.pid"
+
+start() {
+       printf 'Starting %s: ' "${DAEMON}"
+       start-stop-daemon -S -x "${DAEMON_EXE}" -p "${PIDFILE}" -m -b -- -g video
+       status=$?
+       if [ "$status" -eq 0 ]; then
+               echo OK
+       else
+               echo FAIL
+       fi
+       return "$status"
+}
+
+stop() {
+       printf 'Stopping %s: ' "${DAEMON}"
+       start-stop-daemon -K -x "${DAEMON_EXE}" -p "${PIDFILE}"
+       status=$?
+       if [ "$status" -eq 0 ]; then
+               echo OK
+       else
+               echo FAIL
+       fi
+       return "$status"
+}
+
+restart() {
+       stop
+       sleep 1
+       start
+}
+
+case "${1}" in
+       start|stop|restart)
+               "${1}";;
+       reload)
+               restart;;
+       *)
+               echo "Usage: $0 {start|stop|restart}"
+               exit 1
+               ;;
+esac
index 2e90270555d52f3795a778af1e54027ef290b065..2abcefbfaa757c4d67cfd4d460eee88d5eaea008 100644 (file)
@@ -30,6 +30,21 @@ endif
 
 ifeq ($(BR2_PACKAGE_SEATD_DAEMON),y)
 SEATD_CONF_OPTS += -Dseatd=enabled -Dserver=enabled
+
+define SEATD_USERS
+       - - video -1 - - - - -
+endef
+
+define SEATD_INSTALL_INIT_SYSV
+       $(INSTALL) -m 0755 -D $(SEATD_PKGDIR)/S70seatd \
+               $(TARGET_DIR)/etc/init.d/S70seatd
+endef
+
+define SEATD_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -m 0644 -D $(@D)/contrib/systemd/seatd.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/seatd.service
+endef
+
 else
 SEATD_CONF_OPTS += -Dseatd=disabled -Dserver=disabled
 endif