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
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)