On 2022-02-03 14:28, Alexander Kanavin wrote:
As far as I understand the library is not useful without the daemon, so there is no point in packaging them separately. -dev stuff is split automatically.

That is not the impression I got from the readme:

> # libseat
>
> A seat management library allowing applications to use whatever seat management is available.
>
> Supports:
>
>     seatd
>     (e)logind
>     embedded seatd for standalone operation
>
> Each backend can be compile-time included and is runtime auto-detected or manually selected with the LIBSEAT_BACKEND environment variable.
>
> Which backend is in use is transparent to the application, providing a simple common interface.

https://sr.ht/~kennylevinsen/seatd/#libseat

I guess the general question is if it makes sense to split them up for OE.

regards,
Claudius


Alex

On Thu, 3 Feb 2022 at 13:55, Claudius Heine <[email protected] <mailto:[email protected]>> wrote:

    Hi Alexander,

    On 2022-02-02 19:27, Alexander Kanavin wrote:
     > 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 <[email protected]
    <mailto:[email protected]>>
     > ---
     >   meta/conf/distro/include/maintainers.inc |  1 +
     >   meta/recipes-core/seatd/seatd/init       | 45
    ++++++++++++++++++++++++
>   meta/recipes-core/seatd/seatd_0.6.3.bb <http://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
    <http://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 <[email protected]
    <mailto:[email protected]>>"
     >   RECIPE_MAINTAINER:pn-sato-screenshot = "Ross Burton
    <[email protected] <mailto:[email protected]>>"
     >   RECIPE_MAINTAINER:pn-sbc = "Unassigned
    <[email protected] <mailto:[email protected]>>"
     >   RECIPE_MAINTAINER:pn-screen = "Anuj Mittal
    <[email protected] <mailto:[email protected]>>"
     > +RECIPE_MAINTAINER:pn-seatd = "Alexander Kanavin
    <[email protected] <mailto:[email protected]>>"
     >   RECIPE_MAINTAINER:pn-sed = "Chen Qi <[email protected]
    <mailto:[email protected]>>"
     >   RECIPE_MAINTAINER:pn-serf = "Anuj Mittal <[email protected]
    <mailto:[email protected]>>"
     >   RECIPE_MAINTAINER:pn-setserial = "Yi Zhao
    <[email protected] <mailto:[email protected]>>"
     > 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
    <http://seatd_0.6.3.bb> b/meta/recipes-core/seatd/seatd_0.6.3.bb
    <http://seatd_0.6.3.bb>
     > new file mode 100644
     > index 0000000000..0e1a79dddf
     > --- /dev/null
     > +++ b/meta/recipes-core/seatd/seatd_0.6.3.bb <http://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
    <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
    <http://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)}"
     > +
     >

    I was looking into seatd as well, in my recipe I split it up a bit:

    ```
    PACKAGES =+ "${PN}-launch libseat libseat-dev"

    FILES:${PN} = "${bindir}/seatd"
    FILES:${PN}-launch = "${bindir}/seatd-launch"
    FILES:libseat = "${libdir}/lib*${SOLIBS}"
    FILES:libseat-dev = " \
             ${includedir} ${FILES_SOLIBSDEV} \
             ${libdir}/pkgconfig"

    RDEPENDS:${PN} = "libseat (= ${EXTENDPKGV})"
    RDEPENDS:${PN}-launch = "${PN} (= ${EXTENDPKGV})"
    RDEPENDS:libseat-dev = "libseat (= ${EXTENDPKGV})"
    ```

    regards,
    Claudius


--
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-54 Fax: (+49)-8142-66989-80 Email: [email protected]
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#161280): 
https://lists.openembedded.org/g/openembedded-core/message/161280
Mute This Topic: https://lists.openembedded.org/mt/88865275/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to