Dmitry Shachnev [23/Oct 11:29pm +03] wrote:
> 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?

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.  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.

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

-- 
Sean Whitton

Attachment: signature.asc
Description: PGP signature

Reply via email to