On Tue, 16 Aug 2022 19:35:27 +0100 Simon McVittie wrote:
> I don't think this is as simple as either of
> the two obvious opposing viewpoints:
>
> - this dependency is always OK, take no action
> - this dependency is always wrong, revert the feature completely
[...]
> If it wasn't for its dependency implications, I would be saying that
> we should be making *more* use of tmpfiles.d and similar declarative
> mechanisms over time: a declarative syntax for the transient files that
> we want to create and/or clean up seems like a win. tmpfiles.d fragments
> also seem like a useful way to associate transient files with the package
> that "owns" them, analogous to %ghost files in RPM. So I would like to
> avoid issues like this one making maintainers reluctant to use tmpfiles
> in situations where they're non-critical.

There are other alternatives than you mentioned:

It was suggested to avoid such dependencies on package-level and
instead have init systems depend on it as part of the required "runtime
services" for using service management. This would mean no package-
level dependencies on systemd-tmpfiles. If you don't use an init system
(e.g. containers), you are on your own (but systemd-tmpfiles and
regular service management would often not run in such cases either
anyway).

This is similar to providing system startup scripts: we don't add
dependencies on init systems for these either (with some exceptions
where Adam Borowski pushed maintainers to add explicit dependencies on
systemd-sysv, making use of init-less systems harder).

There are some questions about how to express one requires a recent
enough sysvinit-core (with such a dependency); "Breaks" isn't really
great and "Depends" is what we want to avoid after all...

This however wasn't wanted by current sysvinit-core maintainers, so we
get to keep the package-level dependencies for now.

This is a bit similar to:

> It might also be useful to have a third mode that is equivalent to what
> happened before 13.8: assume that tmpfiles.d snippets are desirable on
> systemd-booted systems, but either unnecessary or actively harmful on
> non-systemd-booted systems.

But no longer specific to systemd.

Ansgar

Reply via email to