mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH] seatd: new package
Date: Fri, 25 Jun 2021 09:36:43 +0200	[thread overview]
Message-ID: <20210625073643.GA4006120@pengutronix.de> (raw)
In-Reply-To: <20210617081730.GA16200@pengutronix.de>

On Thu, Jun 17, 2021 at 10:17:30AM +0200, Michael Tretter wrote:
> 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 <m.tretter@pengutronix.de>
> > > ---
> > >  .../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.

Add a help text with this?

> > > +
> > > +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?

Exactly. This avoids a dependency it it's not necessary. The nice thing is,
that it can be combined with a 'select SYSTEMD if
SEATD_SEATD_SYSTEMD_UNIT' if the dependency is actually needed (e.g. for
libsystemd).

Oh, and this should be 'default y'.

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 <p.zabel@pengutronix.de>
> > > +#               2021 by Michael Tretter <m.tretter@pengutronix.de>
> > > +#
> > > +# 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 <p.zabel@pengutronix.de>")
> > > +	@$(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
> ptxdist@pengutronix.de
> To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de


      reply	other threads:[~2021-06-25  7:37 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-16 10:55 Michael Tretter
2021-06-16 12:08 ` Michael Olbrich
2021-06-17  8:17   ` Michael Tretter
2021-06-25  7:36     ` Michael Olbrich [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210625073643.GA4006120@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox