#1140736 Built-Using: ${sphinxdoc:Built-Using} not automatically resolved in compat 14

#1140736#5
Date:
2026-06-25 11:17:49 UTC
From:
To:
In src:rsyslog I have the following fields for rsyslog-doc

Built-Using: ${sphinxdoc:Built-Using}
Depends: ${misc:Depends},
         ${sphinxdoc:Depends}

Reading through the debhelper-compat-upgrade-checklist I assumed I could
drop all those three lines.

Inspecting the resulting deb, it appeared this worked for
${misc:Depends} and ${spinxdoc:Depends} but not for
${sphinxdoc:Built-Using}.
The rsyslog-doc was missing the "Built-Using: sphinx (= 9.1.0-4)" field.


I'm uncertain if maybe I'm not reading the upgrade checklist correctly,
this is a bug in debhelper or a bug in sphinxdoc.

For now I re-added the line
Built-Using: ${sphinxdoc:Built-Using}

Regards
Michael

P.S.: I like this new feature of debhelper, it get's rid of a lot of
boilerplate. Thank you!

#1140736#10
Date:
2026-06-25 16:34:01 UTC
From:
To:
Michael Biebl:
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). 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}`)?
Perhaps the current way is the lessor evil?
   I really do not know the situation well enough. This is ultimately
for the `dh_sphinxdoc` tool maintainer and consumers to solve.

To the maintainer of sphinx: I made a write up for likely things that
need to be reviewed/changed to better support compat 14 here:
  * https://lists.debian.org/debian-devel/2026/02/msg00357.html

I am not sure how many of the items applies to `dh_sphinxdoc`. You may
also find inspiration from #1133692, which is mostly a discussion
between the maintainer of `dh_qmldeps` and me on the topic of substvars
plus different cases on how to handle the new feature. That case was not
`Built-Using`, so it is probably not 1:1 useful. Nevertheless, it might
serve as inspiration.

I am available to assist on understanding the new substvar feature and
how it interacts. But I am not an authority on `dh_sphinxdoc` current
nor its desired behavior. That part I will leave to others.

Hope that was helpful.

Best regards,
Niels