Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.maint.python > #14649 > unrolled thread
| Started by | Scott Kitterman <debian@kitterman.com> |
|---|---|
| First post | 2022-11-30 16:30 +0100 |
| Last post | 2022-12-02 23:20 +0100 |
| Articles | 5 — 3 participants |
Back to article view | Back to linux.debian.maint.python
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
| From | Scott Kitterman <debian@kitterman.com> |
|---|---|
| Date | 2022-11-30 16:30 +0100 |
| Subject | Bug#1025164: lintian: missing-prerequisite-for-pyproject-backend tag needs to check Build-Depends-Indep too |
| Message-ID | <Fxxc5-7oYE-1@gated-at.bofh.it> |
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
[toc] | [next] | [standalone]
| From | Stuart Prescott <stuart@debian.org> |
|---|---|
| Date | 2022-12-01 04:40 +0100 |
| Subject | Re: Bug#1025164: lintian: missing-prerequisite-for-pyproject-backend tag needs to check Build-Depends-Indep too |
| Message-ID | <FxIAx-7vTp-1@gated-at.bofh.it> |
| In reply to | #14649 |
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. 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
[toc] | [prev] | [next] | [standalone]
| From | Scott Kitterman <debian@kitterman.com> |
|---|---|
| Date | 2022-12-01 05:20 +0100 |
| Message-ID | <FxJdf-7wkX-1@gated-at.bofh.it> |
| In reply to | #14650 |
[Multipart message — attachments visible in raw view] — view raw
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. Scott K
[toc] | [prev] | [next] | [standalone]
| From | Stuart Prescott <stuart@debian.org> |
|---|---|
| Date | 2022-12-01 08:00 +0100 |
| Subject | Re: Bug#1025164: lintian: missing-prerequisite-for-pyproject-backend tag needs to check Build-Depends-Indep too |
| Message-ID | <FxLI5-7y2L-1@gated-at.bofh.it> |
| In reply to | #14651 |
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
[toc] | [prev] | [next] | [standalone]
| From | Louis-Philippe Véronneau <pollo@debian.org> |
|---|---|
| Date | 2022-12-02 23:20 +0100 |
| Subject | Re: Bug#1025164: lintian: missing-prerequisite-for-pyproject-backend tag needs to check Build-Depends-Indep too |
| Message-ID | <FymxX-7VCz-1@gated-at.bofh.it> |
| In reply to | #14652 |
[Multipart message — attachments visible in raw view] — view raw
On 2022-12-01 01 h 52, Stuart Prescott wrote: > 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 I've proposed a fix here: https://salsa.debian.org/lintian/lintian/-/merge_requests/426 It's not precise enough to flag packages that would declare everything as a Build-Depends-Indep though. This would be much more complex and I feel this situation is overall pretty rare. -- ⢀⣴⠾⠻⢶⣦⠀ ⣾⠁⢠⠒⠀⣿⡁ Louis-Philippe Véronneau ⢿⡄⠘⠷⠚⠋ pollo@debian.org / veronneau.org ⠈⠳⣄
[toc] | [prev] | [standalone]
Back to top | Article view | linux.debian.maint.python
csiph-web