Hi all,

Sorry, I did not get this email in my inbox, probably due to the way how BTS
handles reassigns. So I found it only now while looking for other Sphinx bugs.

On Thu, Jun 25, 2026 at 06:34:01PM +0200, Niels Thykier wrote:
> Hi,
> 
> The `dh_sphinxdoc` has code that conditionally emits `sphinxdoc:Built-Using`
> based on whether it is present in `d/control`. See
> https://salsa.debian.org/python-team/packages/sphinx/-/blob/debian/master/debian/dh-sphinxdoc/dh_sphinxdoc#L552
> 
> This is certainly not an optimal interaction (between the compat 14 feature
> and this conditional substvar). But I cannot make a judgement call on when
> `sphinxdoc:Built-Using` should be emitted. Though, I suspect #1136263 is the
> cause (it links to the commit that made the substvar conditional).

Absolutely, #1136263 is the reason.

I believe ${sphinx-doc:Built-Using} was a bad idea. It was meant to be used in
rare occasions, but debhelper prints a warning when a substitution variable is
defined but not used, so a lot of packages started to use it without a real
need. And it created unnecessary coupling in the testing migration process:
Britney does not allow a package built with a new Sphinx version migrate
before Sphinx itself.

And debhelper 14 was one of the reasons for this change: if I did not do it,
debhelper would add this field automatically, even to the packages that did
not use it before.

I definitely want this field to be opt-in, and I don't want debhelper to warn
when it's not used. Doko even suggested to me that I do MBF for all packages
using it currently.

> Perhaps, it can use `Static-Built-Using` instead and then packages that need
> it for licensing can promote it to `Built-Using` (via `Built-Using:
> ${sphinxdoc:Static-Built-Using}`)?

This is an interesting idea. If that field does not affect testing migration,
then it's a better choice than normal Built-Using. However, it is not
documented in the Policy, and its name suggests that it's intended for
statically linked binaries, which Sphinx has little to do with.

And before I do that, I want to know whether we still need this field at all,
and where does the requirement for it come from.

I am CCing Sean Whitton, who requested this field originally in #836248.

Dear Sean, do you know if the reasons for needing this field still stay? If
yes, do they apply to all packages, or just packages with a specific license?
And will Static-Built-Using field be enough?

--
Dmitry Shachnev

Attachment: signature.asc
Description: PGP signature

Reply via email to