seatd: add recipe

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.

(From OE-Core rev: f0c7e8cdeea065ddfcd4187f1fabc074b2753ba1)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2022-02-02 19:27:26 +01:00
committed by Richard Purdie
parent e5f2f39e11
commit 35666a87ae
3 changed files with 75 additions and 0 deletions

View File

@@ -683,6 +683,7 @@ RECIPE_MAINTAINER:pn-rxvt-unicode = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-sato-screenshot = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-sbc = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-screen = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-seatd = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-sed = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER:pn-serf = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-setserial = "Yi Zhao <yi.zhao@windriver.com>"

View File

@@ -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

View File

@@ -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)}"