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.

A.

-- 
Perl is "some assembly required". Python is "batteries included". PHP
is "kitchen sink, but it’s from Canada and both faucets are labeled C".
                         - Alex Munroe, PHP: a fractal of bad design

Reply via email to