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 <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj
2024-11-27 11:59:03 -08:00
committed by Richard Purdie
parent 11b62c364f
commit e44e670c5f
2 changed files with 10 additions and 3 deletions

View 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

View 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"