Hi, and thank you Michael and Sean for your replies!

On Sun, Oct 25, 2026 at 09:02:24PM +0000, Sean Whitton wrote:
> > 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?
> 
> Like all Built-Using values, its purpose is for this Policy requirement:
> 
>     Some binary packages incorporate parts of other packages when built
>     but do not have to depend on those packages.  ... When the license
>     of either the incorporated parts or the incorporating binary package
>     requires that the full source code of the incorporating binary
>     package be made available, the "Built-Using" field must list the
>     corresponding source package for any affected binary package
>     incorporated during the build, [5] including an "exactly equal"
>     ("=") version relation on the version that was used to build that
>     version of the incorporating binary package.
> 
> When a package builds with sphinxdoc then the binary package includes, I
> believe, image, .css and .js files that can only be found in sphinxdoc,
> and not in the source package corresponding to the binary package with
> the docs.

Note that we are not talking about 1-to-1 incorporation. When Sphinx copies
some static asset verbatim, dh_sphinxdoc usually symlinks it (for themes that
dh_sphinxdoc does not support, it can be symlinked by the package maintainer).
The remaining "incorporation" is for generating assets from jinja2 templates,
which is used for JS, CSS and HTML. IANAL, so I cannot really say whether the
term "incorporating" can apply to this case. But Sphinx is not unique here,
template substitution is done by almost every other static site generator.

> When a license of either package requires full source availability, we have
> to keep the exact version of the other package around, which is what
> Built-Using does.

Sphinx itself is BSD-2-clause, so it does not have any such requirement. Do we
have an example of a package using Sphinx, the license of which requires it?

> I think that Static-Built-Using is for purposes other than licensing.
> So I don't think it applies here?

OK. It's a pity that we don't have a field which would satify the license
requirements, but won't cause issues with testing migration.

Anyway, if it's really required by the license, I would keep things as they
are currently: in most cases not using ${sphinxdoc:Built-Using} is the right
thing to do, and when it's required by the license, the maintainer should add
that field explicitly.

Alternatively, I can add a command-line flag to dh_sphinxdoc to generate that
variable (and make it false by default), but it will be a backwards
incompatible change, and less convenient to use (one will have to use
override_dh_sphinxdoc).

--
Dmitry Shachnev

Attachment: signature.asc
Description: PGP signature

Reply via email to