Bug#995498: FP? missing-build-dependency-for-dh-addon python3
Package: lintian Version: 2.107.0 Severity: normal Updating the python-anyio package, lintian complained quite vehemently (an error): E: python-anyio source: missing-build-dependency-for-dh-addon python3 => python3:any | python3-all:any | python3-dev:any | python3-all- dev:any | dh-sequence-python3 but in d/control: Build-Depends: debhelper-compat (= 13), dh-python, python3, python3-hypothesis , python3-pip, python3-setuptools, python3-setuptools-scm, python3-sniffio, python3-pytest (>= 6.2.5) , python3-pytest-mock (>= 1.11.1) , python3-trustme , python3-uvloop so I think it's a false positive. If it's not, both lintian's output and the error description in /usr/share/lintian/tags/m/missing-build-dependency-for-dh-addon.tag fail to explain what the matter really is. Cheers, J.Puydt
Bug#995498: FP? missing-build-dependency-for-dh-addon python3
On Sat, 02 Oct 2021 10:40:14 +0200 Julien Puydt wrote: > E: python-anyio source: missing-build-dependency-for-dh-addon python3 > => python3:any | python3-all:any | python3-dev:any | python3-all- > dev:any | dh-sequence-python3 > > but in d/control: > Build-Depends: debhelper-compat (= 13), >dh-python, >python3, I just got bit error by this as well. Adding a :any in front of python3 fixed it for me, but I am not sure if this is a right thing to do for every package that might use python in dh process. All the more, I don't really see why this should emit a lintian "error" at all, because clearly, the build-deps are satisfied. Unless I misunderstand, a missing :any should be demoted to something else and at the very least, not be an error. Nilesh signature.asc Description: PGP signature
Bug#995498: FP? missing-build-dependency-for-dh-addon python3
Hi, On Sat, Oct 2, 2021 at 1:45 AM Julien Puydt wrote: > > so I think it's a false positive. Actually, Lintian has required the ':any' for Python prerequisites since 2013 [1] but the implementation was defective. [2] You are now seeing an accurate picture of Lintian's settings [3][4][5][6][7] because the diagnostics were fixed. [8] That being said, the current settings are probably wrong. There appears to have been no bootstrapping reason to require the ':any' for Python across the board. The setting is also not correct for all cases. It will probably be removed in the near future. I am still researching my recent commit [8] in the context of the rationale presented in 2013. [9] My position is that "python:any" implies the ability to satisfy "python". > If it's not, both lintian's output and the error description in > /usr/share/lintian/tags/m/missing-build-dependency-for-dh-addon.tag > fail to explain what the matter really is. Thank you for the pointer. For the sake of consistency, I recently adjusted several tag descriptions [10] but apparently missed that one. Either way, the documentation changes will probably be reverted when the ':any' is dropped from the Python prerequisites. Thank you for bringing the matter to our attention! Kind regards Felix Lechner [1] https://salsa.debian.org/lintian/lintian/-/commit/beb1094db955fd99b693fca1e4c87958676dfe74 [2] https://bugs.debian.org/994902 [3] https://salsa.debian.org/lintian/lintian/-/blob/master/lib/Lintian/Check/Debhelper.pm#L90 [4] https://salsa.debian.org/lintian/lintian/-/blob/master/lib/Lintian/Check/Debian/Rules.pm#L41-50 [5] https://salsa.debian.org/lintian/lintian/-/blob/master/lib/Lintian/Check/Testsuite.pm#L58-59 [6] https://salsa.debian.org/lintian/lintian/-/blob/master/data/scripts/interpreters#L80-81 [7] https://salsa.debian.org/lintian/lintian/-/blob/master/data/scripts/versioned-interpreters#L77-78 [8] https://salsa.debian.org/lintian/lintian/-/commit/9bc560a62571f2f1a70ce7044093c42ff14e3efa [9] https://salsa.debian.org/lintian/lintian/-/commit/153961ead4ea6c7d38951f36852e43d110b8db30 [10] https://salsa.debian.org/lintian/lintian/-/commit/ec728f427a2aa4f1d2451117448e79979a106f07
Bug#995498: FP? missing-build-dependency-for-dh-addon python3
On Sat, 02 Oct 2021 at 22:48:23 -0700, Felix Lechner wrote: > I am still researching my recent commit [8] in the context of the > rationale presented in 2013. [9] My position is that "python:any" > implies the ability to satisfy "python". It depends exactly what you mean by that. Being able to satisfy Depends: python3:any does not imply the ability to satisfy Depends: python3, and it's easy to verify this on any system with a foreign architecture enabled (I used i386 on amd64). $ apt install python3:amd64 $ cat > test.control < test-any.control < Either way, the documentation changes will probably be reverted when > the ':any' is dropped from the Python prerequisites. I don't think removing the :any from the package names in e.g. /usr/share/lintian/data/scripts/interpreters is the right solution. If I'm reading correctly, I think a better solution would probably be fixing the interpretation of comparing dependencies with "implies", so that it recognises that python3 is a "stronger" dependency than python3:any - that way, the data file could still list python3:any as the required dependency, and Lintian would recognise that a package with "Depends: python3" also guarantees that the necessary package to satisfy "Depends: python3:any" is available. smcv
Bug#995498: FP? missing-build-dependency-for-dh-addon python3
On Sun, 3 Oct 2021 12:29:41 +0100 Simon McVittie wrote: > > Either way, the documentation changes will probably be reverted when > > the ':any' is dropped from the Python prerequisites. > > I don't think removing the :any from the package names in e.g. > /usr/share/lintian/data/scripts/interpreters is the right solution. > > If I'm reading correctly, I think a better solution would probably be > fixing the interpretation of comparing dependencies with "implies", > so that it recognises that python3 is a "stronger" dependency than > python3:any - that way, the data file could still list python3:any as > the required dependency, and Lintian would recognise that a package with > "Depends: python3" also guarantees that the necessary package to satisfy > "Depends: python3:any" is available. That makes perfect sense! @Felix, can I please ask you to follow this up with the respective maintainer(s) and fix the dependency interpretation? Since lintian seems to have catched this problem, it'd be really nice if you could do so. Nilesh signature.asc Description: PGP signature