]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
seatd: Create seat user and package systemd service
authorKhem Raj <raj.khem@gmail.com>
Wed, 27 Nov 2024 19:59:03 +0000 (11:59 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 28 Nov 2024 12:27:13 +0000 (12:27 +0000)
With latest version seatd does not work properly if
user access permissions are not correctly set, therefore
create 'seat' group and package the seatd.service file
and enable it by default with systemd distro feature

set logind to systemd when using systemd as default init system

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/seatd/seatd/init
meta/recipes-core/seatd/seatd_0.9.1.bb

index 0589c765ac7981ac76da1f049657ad65681301bd..405000c16f3bdda6c570c07f1944eeecc7256b0e 100644 (file)
@@ -15,7 +15,7 @@ killproc() {
 
 case "$1" in
   start)
-        seatd -g video -n 1 > /tmp/seatd-start-notify &
+        seatd -g seat -n 1 > /tmp/seatd-start-notify &
         [ -s /tmp/seatd-start-notify ] && exit 0
         sleep 0.1
         [ -s /tmp/seatd-start-notify ] && exit 0
index 8da57acc5670df6fb1c543a92b1f9094e8e15826..8ee43a3dc8f61eeb6f1c03dbd5a68585fa471424 100644 (file)
@@ -11,7 +11,7 @@ SRC_URI = "git://git.sr.ht/~kennylevinsen/seatd;protocol=https;branch=master \
 SRCREV = "566ffeb032af42865dc1210e48cec08368059bb9"
 S = "${WORKDIR}/git"
 
-inherit meson pkgconfig update-rc.d
+inherit meson pkgconfig systemd update-rc.d useradd
 
 # https://www.openwall.com/lists/musl/2020/01/20/3
 CFLAGS:append:libc-musl:powerpc64le = " -Wno-error=overflow"
@@ -22,14 +22,21 @@ PACKAGECONFIG ?= " \
 "
 
 PACKAGECONFIG[libseat-builtin] = "-Dlibseat-builtin=enabled,-Dlibseat-builtin=disabled"
-PACKAGECONFIG[systemd] = ",,systemd"
+PACKAGECONFIG[systemd] = "-Dlibseat-logind=systemd,,systemd"
 
 do_install:append() {
         if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then
                 install -Dm755 ${UNPACKDIR}/init ${D}/${sysconfdir}/init.d/seatd
+        else
+                install -Dm644 ${S}/contrib/systemd/seatd.service ${D}${systemd_unitdir}/system/seatd.service
         fi
 }
 
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM:${PN} = "-r seat"
+
 INITSCRIPT_NAME = "seatd"
 INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
 INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}"
+
+SYSTEMD_SERVICE:${PN} = "seatd.service"