On Mon, 25 Jul 2022 18:11:21 +0100 Mark Hindley <m...@hindley.org.uk>
wrote:
> Michael,
> 
> Thanks for this.
> 
> On Mon, Jul 25, 2022 at 04:08:28PM +0200, Michael Biebl wrote:
> > Am 25.07.22 um 14:05 schrieb Mark Hindley:
> > 
> > > It has been suggested that changing the dependency to
> > > 
> > >   systemd-standalone-tmpfiles | systemd-tmpfiles
> > > 
> > > would help the packaging system usually find the correct solution
and reduce the
> > > number of unexpected surprises users are reporting.
> > > 
> > > With this change, on a systemd installation the dependency would
already be
> > > satisfied and therefore noop for APT.
> > 
> > This is not correct. It would make the bootstrap phase more brittle
as
> > outlined by ansgar. So this is certainly a no-go.
> 
> I am afraid I can't find any detail of this beyond Ansgar's statement
of this as
> fact[1]. Could you point me to the evidence and rationale of this
concern,
> please?

It's very simple: the default is intentionally, and must remain, to
install the systemd package to provide those utilities, because that's
what gets the widest usage and the most testing. The alternatives are
provided as a courtesy, as optional alternatives for non-default use
cases, and are seldomly used and lightly tested.

> > I hate to repeat myself: add a Recommends or Depends on
> > systemd-standalone-tmpfiles to sysvinit-core to help apt choose the
right
> > solution for such non-standard configurations.
> 
> I also hate to repeat myself, but sysvinit-core makes no use of
tmpfiles,
> therefore to add the dependency there would be incorrect and an abuse
of the
> packaging system.

Dependencies can and are used to influence the behaviour of the
installed system all the time, it is not true that there must always be
a direct 1:1 mapping between a dependency and an artifact being
directly used. We have metapackages all over the places after all. But
even then, if you don't want that use a Recommends instead, or create a
new meta-package that you own and sets the preferences as you see fit,
or change the build scripts to use --include/--exclude, or have post-
build processing scripts to change the list of installed packages, and
so on. Or simply leave the systemd package installed, as by itself it
does nothing given the init system is not changed by simply having it
installed by itself, so there's no functional difference.

-- 
Kind regards,
Luca Boccassi

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to