Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #14652

Re: Bug#1025164: lintian: missing-prerequisite-for-pyproject-backend tag needs to check Build-Depends-Indep too

From Stuart Prescott <stuart@debian.org>
Newsgroups linux.debian.maint.python
Subject Re: Bug#1025164: lintian: missing-prerequisite-for-pyproject-backend tag needs to check Build-Depends-Indep too
Date 2022-12-01 08:00 +0100
Message-ID <FxLI5-7y2L-1@gated-at.bofh.it> (permalink)
References <Fxxc5-7oYE-1@gated-at.bofh.it> <FxIAx-7vTp-1@gated-at.bofh.it> <FxJdf-7wkX-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi Scott

On 01/12/2022 15:16, Scott Kitterman wrote:
> On Wednesday, November 30, 2022 10:38:30 PM EST Stuart Prescott wrote:
>> Hi Scott,
>>
>> On 01/12/2022 02:16, Scott Kitterman wrote:
>>> Package: lintian
>>> Version: 2.115.3
>>> Severity: normal
>>> X-Debbugs-Cc: debian-python@lists.debian.org
>>>
>>> The missing-prerequisite-for-pyproject-backend check appears to only
>>> look for the prerequisite packages in Build-Depends, but since they
>>> aren't needed for clean, they could be in Build-Depends-Indep, leading
>>> to false positives.
>>>
>>> Scott K
>>
>> I contemplated filing a similar the other day but in writing it up, I
>> realised that lintian was correct. Policy requires that the 'clean'
>> target be functional with only the Build-Depends (and Build-Conflicts)
>> satisfied, and pybuild + the build-backend dependencies are involved in
>> the cleaning step.
> 
> Not always.  At least with the package I ran into this on, clean works fine
> without them.

Yes indeed...

- the most obvious case where that works is where 'clean' is explicit in 
d/rules

- it would also be possible for it to work in situations where dh-python 
is (redundantly?) listed in B-D (not B-D-I), since the pyproject 
plugin's 'clean' operation has no dependency on `build`, `installer`, 
and the backend.

However, this for this second case:

- it might result in pybuild picking a different plugin through lack of 
dependencies like `tomli`. That might just work... but also feels 
slightly terrifying.

- there's not _currently_ any backend-specific cleaning code, but 
perhaps there should be, which would then need the deps to be in B-D? 
(Is that in the spec somewhere?)

I guess the main thing to be careful of in any rewording of this 
explanation is that for the most common case of using "%:\n\tdh 
--buildsystem pybuild", dh-python (or pybuild-plugin-pyproject) is 
needed in B-D not B-D-I to be policy-compliant.

cheers
Stuart




-- 
Stuart Prescott    http://www.nanonanonano.net/   stuart@nanonanonano.net
Debian Developer   http://www.debian.org/         stuart@debian.org
GPG fingerprint    90E2 D2C1 AD14 6A1B 7EBB 891D BBC1 7EBB 1396 F2F7

Back to linux.debian.maint.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Bug#1025164: lintian: missing-prerequisite-for-pyproject-backend tag needs to check Build-Depends-Indep too Scott Kitterman <debian@kitterman.com> - 2022-11-30 16:30 +0100
  Re: Bug#1025164: lintian: missing-prerequisite-for-pyproject-backend  tag needs to check Build-Depends-Indep too Stuart Prescott <stuart@debian.org> - 2022-12-01 04:40 +0100
    Re: Bug#1025164: lintian: missing-prerequisite-for-pyproject-backend tag needs to check Build-Depends-Indep too Scott Kitterman <debian@kitterman.com> - 2022-12-01 05:20 +0100
      Re: Bug#1025164: lintian: missing-prerequisite-for-pyproject-backend  tag needs to check Build-Depends-Indep too Stuart Prescott <stuart@debian.org> - 2022-12-01 08:00 +0100
        Re: Bug#1025164: lintian: missing-prerequisite-for-pyproject-backend  tag needs to check Build-Depends-Indep too Louis-Philippe Véronneau <pollo@debian.org> - 2022-12-02 23:20 +0100

csiph-web