Shared library RDEPENDS don't need to be explicitly listed in consumer
recipes, you only need to have DEPENDS contains the seatd recipe so it's
present at build time. Bitbake magic will figure out which package provides
the library automatically.

Alex

On Thu, 3 Feb 2022 at 14:52, Claudius Heine <c...@denx.de> wrote:

> On 2022-02-03 14:46, Alexander Kanavin wrote:
> > The current recipe doesn't enable (or allow to enable) those
> > alternatives, so unless someone needs them, and tests that they work,
> > there is still no point in splitting.
> >
>
> That is reasonable. I was just a bit concerned about possible RDPENDS
> for other software packages. Depending on `libseat` seems to be more
> future-proof than `seatd` if only the library is required, whatever the
> backend is.
>
> But I don't feel too strongly about this, so your call ;)
>
> > Alex
> >
> > On Thu, 3 Feb 2022 at 14:36, Claudius Heine <c...@denx.de
> > <mailto:c...@denx.de>> wrote:
> >
> >     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
> >     <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 <c...@denx.de
> >     <mailto:c...@denx.de>
> >      > <mailto:c...@denx.de <mailto:c...@denx.de>>> 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 <a...@linutronix.de
> >     <mailto:a...@linutronix.de>
> >      >     <mailto:a...@linutronix.de <mailto: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
> >     <http://seatd_0.6.3.bb> <http://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>
> >      >     <http://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 <unassig...@yoctoproject.org
> >     <mailto:unassig...@yoctoproject.org>
> >      >     <mailto:unassig...@yoctoproject.org
> >     <mailto:unassig...@yoctoproject.org>>>"
> >      >      >   RECIPE_MAINTAINER:pn-sato-screenshot = "Ross Burton
> >      >     <ross.bur...@arm.com <mailto:ross.bur...@arm.com>
> >     <mailto:ross.bur...@arm.com <mailto:ross.bur...@arm.com>>>"
> >      >      >   RECIPE_MAINTAINER:pn-sbc = "Unassigned
> >      >     <unassig...@yoctoproject.org
> >     <mailto:unassig...@yoctoproject.org>
> >     <mailto:unassig...@yoctoproject.org
> >     <mailto:unassig...@yoctoproject.org>>>"
> >      >      >   RECIPE_MAINTAINER:pn-screen = "Anuj Mittal
> >      >     <anuj.mit...@intel.com <mailto:anuj.mit...@intel.com>
> >     <mailto:anuj.mit...@intel.com <mailto:anuj.mit...@intel.com>>>"
> >      >      > +RECIPE_MAINTAINER:pn-seatd = "Alexander Kanavin
> >      >     <alex.kana...@gmail.com <mailto:alex.kana...@gmail.com>
> >     <mailto:alex.kana...@gmail.com <mailto:alex.kana...@gmail.com>>>"
> >      >      >   RECIPE_MAINTAINER:pn-sed = "Chen Qi
> >     <qi.c...@windriver.com <mailto:qi.c...@windriver.com>
> >      >     <mailto:qi.c...@windriver.com <mailto:qi.c...@windriver.com
> >>>"
> >      >      >   RECIPE_MAINTAINER:pn-serf = "Anuj Mittal
> >     <anuj.mit...@intel.com <mailto:anuj.mit...@intel.com>
> >      >     <mailto:anuj.mit...@intel.com <mailto:anuj.mit...@intel.com
> >>>"
> >      >      >   RECIPE_MAINTAINER:pn-setserial = "Yi Zhao
> >      >     <yi.z...@windriver.com <mailto:yi.z...@windriver.com>
> >     <mailto:yi.z...@windriver.com <mailto: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
> >     <http://seatd_0.6.3.bb>
> >      >     <http://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>
> >      >     <http://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> <http://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>
> >      >     <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>
> >      >
> >       <
> http://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:
> >     c...@denx.de <mailto:c...@denx.de>
> >
>
> --
> 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: c...@denx.de
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#161283): 
https://lists.openembedded.org/g/openembedded-core/message/161283
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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to