From e44e670c5f49b9a6f5eec12752223c42db1296b6 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 27 Nov 2024 11:59:03 -0800 Subject: [PATCH] seatd: Create seat user and package systemd service 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 (From OE-Core rev: 26746a02fc94b569f633d581b27a8634cfba38f5) Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- meta/recipes-core/seatd/seatd/init | 2 +- meta/recipes-core/seatd/seatd_0.9.1.bb | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/meta/recipes-core/seatd/seatd/init b/meta/recipes-core/seatd/seatd/init index 0589c765ac..405000c16f 100644 --- a/meta/recipes-core/seatd/seatd/init +++ b/meta/recipes-core/seatd/seatd/init @@ -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 diff --git a/meta/recipes-core/seatd/seatd_0.9.1.bb b/meta/recipes-core/seatd/seatd_0.9.1.bb index 8da57acc56..8ee43a3dc8 100644 --- a/meta/recipes-core/seatd/seatd_0.9.1.bb +++ b/meta/recipes-core/seatd/seatd_0.9.1.bb @@ -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"