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

Reply via email to