On Thu, 7 Feb 2019 at 04:09, Antoine Beaupré <anar...@debian.org> wrote:

> On 2019-02-03 17:21:35, Antoine Beaupre wrote:
> > My first submissions for the dmarc-cat package (#920385) were refused
> > by the FTP masters because the built-using field did not respect §7.8
> > of the Debian policy.
>
> That's actually inaccurate: the package was refused because the
> dependencies specified in `built-using` were missing and indeed, one of
> the dependencies hadn't passed NEW when dmarc-cat was uploaded. For
> example, here's the last REJECTION I had:
>
> An exception was raised while processing the package:
> Traceback (most recent call last):
>   File "/srv/ftp-master.debian.org/dak/dak/process_policy.py", line 109,
> in wrapper
>     function(upload, srcqueue, comments, transaction)
>   File "/srv/ftp-master.debian.org/dak/dak/process_policy.py", line 222,
> in comment_accept
>     extra_archives=[upload.target_suite.archive],
>   File "/srv/ftp-master.debian.org/dak/dak/daklib/archive.py", line 451,
> in copy_binary
>     self._ensure_extra_source_exists(filename, db_source, archive,
> extra_archives=extra_archives)
>   File "/srv/ftp-master.debian.org/dak/dak/daklib/archive.py", line 245,
> in _ensure_extra_source_exists
>     raise ArchiveException('{0}: Built-Using refers to package {1} (= {2})
> not in target archive {3}.'.format(filename, source.source, source.version,
> archive.archive_name))
> ArchiveException: d/dmarc-cat/dmarc-cat_0.9.1-1_amd64.deb: Built-Using
> refers to package golang-github-ivpusic-grpool (= 1.0.0-1) not in target
> archive ftp-master.
>
> When grpool was ACCEPTED, dmarc-cat also was ACCEPTED by the
> FTP-masters. So this is not a blocker for the FTP masters.
>
> > Extract from #debian-ftp:
> >
> > 16:55:59 <jrtc27> Built-Using is only meant to be used when the result
> is GPL/MPL/similar and you've statically linked (/bundled) another source
> package
> > 16:56:33 <anarcat> okay, so to comply with licensing issues?
> > 16:56:47 <anarcat> it also seems useful to track rdeps for golang as
> well, no?
> > 16:57:03 <waldi> no, built-using is _not_ for tracking dependencies
> > 16:57:10 <waldi> it is for license compliance
> > 16:57:26 <waldi> and bsd licensed software does not require that
> >
> > So in the case of dmarc-cat, dependencides like
> > golang-github-stretchr-testify-dev should actually not be listed in
> > the Built-Using field.
>
> It's true, however, that the Debian policy specifies built-using is for
> copyright reasons.
>
>
> https://www.debian.org/doc/debian-policy/ch-relationships.html#additional-source-packages-used-to-build-the-binary-built-using
>
> Specifically, the last pargraph reads:
>
> > This field should not be added solely for purposes other than
> > satisfying license or DFSG requirements to provide full source
> > code. In particular, it should not be added solely to enable finding
> > packages that should be rebuilt against newer versions of their build
> > dependencies.
>
> Yet, from what I understand, that is *exactly* how that field is used in
> the golang team. Is that correct?
>
> It should be noted this is a SHOULD NOT and not a MUST NOT, so it's a
> little more relaxed - may we are allowed to abuse it like this.
>
> I do wonder if it's deliberate, however. It seems to me this should be
> clarified, both in dh-golang and in policy, either way.
>

It's a pretty recent change in policy to clarify that how go packages use
it is not the intended use. When go packages started using Built-Using,
they were 100% compliant with the wording (if not the intent) of policy :)

Cheers,
mwh

Reply via email to