This is needed to run weston properly as non-root in the absence of systemd-logind, and other compositors will likely require seatd as well.
Signed-off-by: Alexander Kanavin <a...@linutronix.de> --- meta/conf/distro/include/maintainers.inc | 1 + meta/recipes-core/seatd/seatd/init | 45 ++++++++++++++++++++++++ meta/recipes-core/seatd/seatd_0.6.3.bb | 29 +++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 meta/recipes-core/seatd/seatd/init create mode 100644 meta/recipes-core/seatd/seatd_0.6.3.bb diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index ae25287c11..cb289a0eee 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -684,6 +684,7 @@ RECIPE_MAINTAINER:pn-rxvt-unicode = "Unassigned <unassig...@yoctoproject.org>" RECIPE_MAINTAINER:pn-sato-screenshot = "Ross Burton <ross.bur...@arm.com>" RECIPE_MAINTAINER:pn-sbc = "Unassigned <unassig...@yoctoproject.org>" RECIPE_MAINTAINER:pn-screen = "Anuj Mittal <anuj.mit...@intel.com>" +RECIPE_MAINTAINER:pn-seatd = "Alexander Kanavin <alex.kana...@gmail.com>" RECIPE_MAINTAINER:pn-sed = "Chen Qi <qi.c...@windriver.com>" RECIPE_MAINTAINER:pn-serf = "Anuj Mittal <anuj.mit...@intel.com>" RECIPE_MAINTAINER:pn-setserial = "Yi Zhao <yi.z...@windriver.com>" diff --git a/meta/recipes-core/seatd/seatd/init b/meta/recipes-core/seatd/seatd/init new file mode 100644 index 0000000000..0589c765ac --- /dev/null +++ b/meta/recipes-core/seatd/seatd/init @@ -0,0 +1,45 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: seatd +# Required-Start: $local_fs $remote_fs +# Required-Stop: $local_fs $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +### END INIT INFO + +killproc() { + pid=`/bin/pidof $1` + [ "$pid" != "" ] && kill $pid +} + +case "$1" in + start) + seatd -g video -n 1 > /tmp/seatd-start-notify & + [ -s /tmp/seatd-start-notify ] && exit 0 + sleep 0.1 + [ -s /tmp/seatd-start-notify ] && exit 0 + sleep 0.5 + [ -s /tmp/seatd-start-notify ] && exit 0 + sleep 5 + [ -s /tmp/seatd-start-notify ] && exit 0 + exit 1 + ;; + + stop) + echo "Stopping seatd" + killproc seatd + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + *) + echo "usage: $0 { start | stop | restart }" + ;; +esac + +exit 0 diff --git a/meta/recipes-core/seatd/seatd_0.6.3.bb b/meta/recipes-core/seatd/seatd_0.6.3.bb new file mode 100644 index 0000000000..0e1a79dddf --- /dev/null +++ b/meta/recipes-core/seatd/seatd_0.6.3.bb @@ -0,0 +1,29 @@ +SUMMARY = "A minimal seat management daemon, and a universal seat management library." +DESCRIPTION = "Seat management takes care of mediating access to shared devices (graphics, input), without requiring the applications needing access to be root." +HOMEPAGE = "https://git.sr.ht/~kennylevinsen/seatd" + +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=715a99d2dd552e6188e74d4ed2914d5a" + +SRC_URI = "git://git.sr.ht/~kennylevinsen/seatd;protocol=https;branch=master \ + file://init" +SRCREV = "88db55f6068c1c01d85b61aa6adff0a6b2a8dce8" +S = "${WORKDIR}/git" + +inherit meson pkgconfig update-rc.d + +PACKAGECONFIG ?= "libseat-builtin" + +PACKAGECONFIG[libseat-builtin] = "-Dlibseat-builtin=enabled,-Dlibseat-builtin=disabled" + +do_install:append() { + if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then + install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/seatd + fi +} + +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)}" + -- 2.20.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#161226): https://lists.openembedded.org/g/openembedded-core/message/161226 Mute This Topic: https://lists.openembedded.org/mt/88865275/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-