In general I support this direction. On Sun, 25 Jun 2023 at 16:55:44 +0100, Luca Boccassi wrote: > Packages shipping ``tmpfiles.d`` snippets should > +depend on the appropriate virtual packages in the following order: > +``default-systemd-tmpfiles | systemd-tmpfiles``.
I think it's worth saying explicitly that if the package relies on functionality added in systemd version n, where n is newer than some reasonable cutoff, it should depend on default-systemd-tmpfiles (>= n) | systemd-tmpfiles (>= n) instead. If a package is targeting testing/unstable, then it can drop the version constraint in the very common case where its tmpfiles.d snippet is processed correctly by stable's systemd-tmpfiles. Similarly if it's targeting stable, it can drop the version constraint if oldstable's systemd would have been enough. Perhaps this? Packages shipping ``tmpfiles.d`` snippets should depend on the appropriate virtual packages in the following order: ``default-systemd-tmpfiles (>= v) | systemd-tmpfiles (>= v)``, where *v* is a version of systemd that provides all ``tmpfiles.d`` features that are required. The version constraint may be omitted if it is satisfied by all implementations of the ``systemd-tmpfiles`` virtual package supported in the previous stable release. (If debhelper generates the dependency, in practice it's probably enough for it to generate the unversioned dependency, and in the rare case where a tmpfiles.d snippet needs new features, maintainers can add the versioned dependency themselves.) smcv