[pkg-gnupg-maint] dh-builtusing planned change affects gnupg2 matrix-synapse

Nicolas Boulenguez nicolas at debian.org
Fri Feb 27 16:11:56 GMT 2026


Hello.

For now, dh-builtusing will emit a deprecation warning when no
Build-Depends matches, in the hope that no new occurrence enters the
archive.

-- gnupg2 case

Build-Depends: (not libc-bin-dev, indirectly build-essential)
Built-Using: ${dh-builtusing:libc-bin-dev}

I think that adding Build-Depends: libc-bin-dev is not a high price,
but I could be convinced to implement something like

Built-Using: ${dh-builtusing:installed:libc-bin-dev}.

This syntax would require an exact match and forbid wildcards.

-- matrix-synapse

Build-Depends: librust-foo-dev (which depends on librust-bar-dev)
Static-Built-Using: ${dh-builtusing:librust-foo-dev},
                    ${dh-builtusing:librust-bar-dev},

I would prefer the more deterministic:

Build-Depends: librust-foo-dev, librust-bar-dev
Static-Built-Using: ${dh-static-builtusing:librust-*-dev}

but could live with this.

Build-Depends: librust-foo-dev
Static-Built-Using: ${dh-static-builtusing:librust-*-dev},
                    ${dh-static-builtusing:installed:librust-bar-dev}

-- Two questions

As far as I understand the definitions of Built-Using and
Static-Built-Using are already transitive by nature.

Does the policy allow:
Build-Depends: librust-foo-dev
Static-Built-Using: librust-foo-dev (= ...)
   given that adding librust-bar-dev brings nothing more
   when librust-foo-dev is Static-Built-Using: librust-bar-dev?

Else, should ${dh-builtusing:foo} expand to *all* packages that foo
is *recursively* (Static-)Built-Using, whether they are installed or
not during the build?

Most rust packages would then be OK with

Build-Depends: librust-foo-dev   (and other direct dependencies)
Static-Built-Using: ${dh-static-builtusing:librust-*-dev}

Thoughts?



More information about the pkg-gnupg-maint mailing list