On Wed, 16 Jun 2021 14:08:46 +0200, Michael Olbrich wrote:
> On Wed, Jun 16, 2021 at 12:55:09PM +0200, Michael Tretter wrote:
> > Signed-off-by: Michael Tretter <[email protected]>
> > ---
> >  .../usr/lib/systemd/system/seatd.service      |  8 ++
> >  rules/seatd.in                                | 30 ++++++++
> >  rules/seatd.make                              | 76 +++++++++++++++++++
> >  3 files changed, 114 insertions(+)
> >  create mode 100644 projectroot/usr/lib/systemd/system/seatd.service
> >  create mode 100644 rules/seatd.in
> >  create mode 100644 rules/seatd.make
> > 
> > diff --git a/projectroot/usr/lib/systemd/system/seatd.service 
> > b/projectroot/usr/lib/systemd/system/seatd.service
> > new file mode 100644
> > index 000000000000..59137e67c8b3
> > --- /dev/null
> > +++ b/projectroot/usr/lib/systemd/system/seatd.service
> > @@ -0,0 +1,8 @@
> > +[Unit]
> > +Description=Seat management daemon
> > +
> > +[Service]
> > +Restart=always
> > +# Do not require a VT
> > +Environment=SEATD_VTBOUND=0
> > +ExecStart=/usr/bin/seatd
> > diff --git a/rules/seatd.in b/rules/seatd.in
> > new file mode 100644
> > index 000000000000..f0b755798c1f
> > --- /dev/null
> > +++ b/rules/seatd.in
> > @@ -0,0 +1,30 @@
> > +## SECTION=system_libraries
> > +
> > +menuconfig SEATD
> > +   tristate
> > +   select HOST_MESON
> > +   select SYSTEMD                  if SEATD_SYSTEMD_LOGIND
> 
> > +   select SYSTEMD                  if SEATD_SEATD_SYSTEMD_UNIT
> 
> Remove.
> 
> > +   select SYSTEMD_LOGIND           if SEATD_SYSTEMD_LOGIND
> > +   prompt "libseat"
> > +   help
> > +     A minimal seat management daemon, and a universal seat management 
> > library.
> > +
> > +if SEATD
> > +
> > +config SEATD_SYSTEMD_LOGIND
> > +   bool
> > +   default INITMETHOD_SYSTEMD
> > +   prompt "logind support"
> > +
> > +config SEATD_SEATD
> > +   bool
> > +   default y
> > +   prompt "seatd server"
> 
> What's the use-case for not having a daemon?

With logind support, libseat is able to use the systemd-logind service to get
the seat. In this case, you don't need seatd as a daemon. If both are
installed (and running) libseat will prefer seatd, but allows to select the
backend via environment variable.

> 
> > +
> > +config SEATD_SEATD_SYSTEMD_UNIT
> > +   bool
> > +   depends on SEATD_SEATD
> 
> && INITMETHOD_SYSTEMD

This is the correct way to handle the systemd dependency of the service
instead of using the "select SYSTEMD" above. Correct?

Michael

> 
> Michael
> 
> > +   prompt "install seatd service file"
> > +
> > +endif
> > diff --git a/rules/seatd.make b/rules/seatd.make
> > new file mode 100644
> > index 000000000000..b848a5dc1037
> > --- /dev/null
> > +++ b/rules/seatd.make
> > @@ -0,0 +1,76 @@
> > +# -*-makefile-*-
> > +#
> > +# Copyright (C) 2021 by Philipp Zabel <[email protected]>
> > +#               2021 by Michael Tretter <[email protected]>
> > +#
> > +# For further information about the PTXdist project and license conditions
> > +# see the README file.
> > +#
> > +
> > +#
> > +# We provide this package
> > +#
> > +PACKAGES-$(PTXCONF_SEATD) += seatd
> > +
> > +#
> > +# Paths and names
> > +#
> > +SEATD_VERSION              := 0.5.0
> > +SEATD_MD5          := 264a36907f4be34efa400fb6e1b26f5f
> > +SEATD                      := seatd-$(SEATD_VERSION)
> > +SEATD_SUFFIX               := tar.gz
> > +SEATD_URL          := 
> > https://git.sr.ht/~kennylevinsen/seatd/archive/$(SEATD_VERSION).$(SEATD_SUFFIX)
> > +SEATD_SOURCE               := $(SRCDIR)/$(SEATD).$(SEATD_SUFFIX)
> > +SEATD_DIR          := $(BUILDDIR)/$(SEATD)
> > +SEATD_LICENSE              := MIT
> > +SEATD_LICENSE_FILES        := 
> > file://LICENSE;md5=715a99d2dd552e6188e74d4ed2914d5a
> > +
> > +
> > +# 
> > ----------------------------------------------------------------------------
> > +# Prepare
> > +# 
> > ----------------------------------------------------------------------------
> > +
> > +#
> > +# meson
> > +#
> > +SEATD_CONF_TOOL    := meson
> > +SEATD_CONF_OPT     :=  \
> > +   $(CROSS_MESON_USR) \
> > +   -Dlogind=$(call ptx/endis,PTXCONF_SEATD_SYSTEMD_LOGIND)d \
> > +   -Dseatd=$(call ptx/endis,PTXCONF_SEATD_SEATD)d \
> > +   -Dbuiltin=disabled \
> > +   -Dserver=$(call ptx/endis,PTXCONF_SEATD_SEATD)d \
> > +   -Dexamples=disabled \
> > +   -Dman-pages=disabled \
> > +   -Ddefaultpath=
> > +
> > +# 
> > ----------------------------------------------------------------------------
> > +# Target-Install
> > +# 
> > ----------------------------------------------------------------------------
> > +
> > +$(STATEDIR)/seatd.targetinstall:
> > +   @$(call targetinfo)
> > +
> > +   @$(call install_init, seatd)
> > +   @$(call install_fixup, seatd,PRIORITY,optional)
> > +   @$(call install_fixup, seatd,SECTION,base)
> > +   @$(call install_fixup, seatd,AUTHOR,"Philipp Zabel 
> > <[email protected]>")
> > +   @$(call install_fixup, seatd,DESCRIPTION,missing)
> > +
> > +   @$(call install_lib, seatd, 0, 0, 0644, libseat)
> > +
> > +ifdef PTXCONF_SEATD_SEATD
> > +   @$(call install_copy, seatd, 0, 0, 0755, -, /usr/bin/seatd)
> > +ifdef PTXCONF_SEATD_SEATD_SYSTEMD_UNIT
> > +   @$(call install_alternative, seatd, 0, 0, 0644, \
> > +           /usr/lib/systemd/system/seatd.service)
> > +   @$(call install_link, seatd, ../seatd.service, \
> > +           /usr/lib/systemd/system/multi-user.target.wants/seatd.service)
> > +endif
> > +endif
> > +
> > +   @$(call install_finish, seatd)
> > +
> > +   @$(call touch)
> > +
> > +# vim: syntax=make

_______________________________________________
ptxdist mailing list
[email protected]
To unsubscribe, send a mail with subject "unsubscribe" to 
[email protected]

Reply via email to