Re: dh_python3: file in /usr/lib/python3.12/dist-packages ?
Hi Carles (2024.02.26_00:00:48_+) > The first one includes, in top_level.txt: > debian > ping3 > > And the second one: > build > debian > ping3 > > Where "ping3" is the expected module. "debian" is there because of the > debian/ directory (I'm super sure, and AFAIK should not be there!) and > "build" is there on the second time since, I guess, it exists at that > time. > > So, even in the package in testing, it contains "debian" which is wrong: Yeah, that's wrong. We tried to stop this from happening a while ago, but it doesn't appear to be working, here. https://github.com/pypa/setuptools/pull/4001 I think you've hit the NOTE in https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#finding-simple-packages If you (or ideally upstream) set "namespaces = false" I think it'll behave correctly. BTW, I see this package has patches-applied in git, so gbp can't work with them. The team policy is to store patches-unapplied. You can work on the patches with git via gbp-pq. Stefano -- Stefano Rivera http://tumbleweed.org.za/ +1 415 683 3272
Re: dh_python3: file in /usr/lib/python3.12/dist-packages ?
Hi, During the "gbp buildpackage" (or "dpkg-buildpackage") I see in Salsa: python3.11 -m build --skip-dependency-check --no-isolation --wheel --outdir /builds/python-team/packages/python-ping3/debian/output/source_dir/.pybuild/cpython3_3.11 [...] python3.12 -m build --skip-dependency-check --no-isolation --wheel --outdir /builds/python-team/packages/python-ping3/debian/output/source_dir/.pybuild/cpython3_3.12 The first one includes, in top_level.txt: debian ping3 And the second one: build debian ping3 Where "ping3" is the expected module. "debian" is there because of the debian/ directory (I'm super sure, and AFAIK should not be there!) and "build" is there on the second time since, I guess, it exists at that time. So, even in the package in testing, it contains "debian" which is wrong: $ cat ./dist-packages/ping3-4.0.4.dist-info/top_level.txt debian ping3 And in salsa it contains the difference, making it more obvious. The file top_level.txt generated by "python3 -m build" in upstream checkout does not contain "debian". In my system, I see[1] more packages that might have the same problem. So now, I guess that the question is: a) How to make "python3 -m build" to not include "debian" or "build"? b) What would be the best way to address this (if possible, via d/rules changes). I mean, besides post-processing the generated file which I guess that is possible, but not the best idea. [1]: Via carles@pinux:/usr/lib/python3$ find . -iname "top_level.txt" -exec grep -l ^debian$ {} \; On 25 Feb 2024 at 23:32:09, Carles Pina i Estany wrote: > > Hi, > > On 25 Feb 2024 at 01:35:41, stefa...@debian.org wrote: > > Hi Carles (2024.02.25_00:14:46_+) > > > It generates a .deb file with a directory: > > > > > > /usr/lib/python3.12/dist-packages/ping3-4.0.4.dist-info/ > > > > > > With two files there: > > > -INSTALLER > > > -top_level.txt > > > > If there are files in /usr/lib/python3.*/dist-packages/ after running > > dh_python3, it means they differed between python 3.x versions. > > yes... > > > So to investigate, diff the files against the ones in > > /usr/lib/python3/dist-packages/ and see if you can spot why they are not > > matching. > > $ ls python3.12/dist-packages/ping3-4.0.4.dist-info/ > INSTALLER top_level.txt > > $ ls python3/dist-packages/ping3-4.0.4.dist-info/ > entry_points.txt INSTALLER METADATA top_level.txt WHEEL > > The file INSTALLER is the same: > > $ diff -u python3.12/dist-packages/ping3-4.0.4.dist-info/INSTALLER > python3/dist-packages/ping3-4.0.4.dist-info/INSTALLER > > The file top_level.txt is different: > > $ diff -u python3.12/dist-packages/ping3-4.0.4.dist-info/top_level.txt > python3/dist-packages/ping3-4.0.4.dist-info/top_level.txt > --- python3.12/dist-packages/ping3-4.0.4.dist-info/top_level.txt > 2023-11-06 22:53:00.0 + > +++ python3/dist-packages/ping3-4.0.4.dist-info/top_level.txt 2023-11-06 > 22:53:00.0 + > @@ -1,2 +1,3 @@ > +build > debian > ping3 > > > It's probably something non-reproducible in the package's build system. > > Will investigate and if relevant share the problem here. This is in > salsa using the standard pipeline. Last time that I run the pipeline I > didn't have this problem. It was months ago. > > If you have any ideas let me know, of course! > > Thanks! > > -- > Carles Pina i Estany > https://carles.pina.cat -- Carles Pina i Estany https://carles.pina.cat signature.asc Description: PGP signature
Re: dh_python3: file in /usr/lib/python3.12/dist-packages ?
Hi, On 25 Feb 2024 at 01:35:41, stefa...@debian.org wrote: > Hi Carles (2024.02.25_00:14:46_+) > > It generates a .deb file with a directory: > > > > /usr/lib/python3.12/dist-packages/ping3-4.0.4.dist-info/ > > > > With two files there: > > -INSTALLER > > -top_level.txt > > If there are files in /usr/lib/python3.*/dist-packages/ after running > dh_python3, it means they differed between python 3.x versions. yes... > So to investigate, diff the files against the ones in > /usr/lib/python3/dist-packages/ and see if you can spot why they are not > matching. $ ls python3.12/dist-packages/ping3-4.0.4.dist-info/ INSTALLER top_level.txt $ ls python3/dist-packages/ping3-4.0.4.dist-info/ entry_points.txt INSTALLER METADATA top_level.txt WHEEL The file INSTALLER is the same: $ diff -u python3.12/dist-packages/ping3-4.0.4.dist-info/INSTALLER python3/dist-packages/ping3-4.0.4.dist-info/INSTALLER The file top_level.txt is different: $ diff -u python3.12/dist-packages/ping3-4.0.4.dist-info/top_level.txt python3/dist-packages/ping3-4.0.4.dist-info/top_level.txt --- python3.12/dist-packages/ping3-4.0.4.dist-info/top_level.txt 2023-11-06 22:53:00.0 + +++ python3/dist-packages/ping3-4.0.4.dist-info/top_level.txt 2023-11-06 22:53:00.0 + @@ -1,2 +1,3 @@ +build debian ping3 > It's probably something non-reproducible in the package's build system. Will investigate and if relevant share the problem here. This is in salsa using the standard pipeline. Last time that I run the pipeline I didn't have this problem. It was months ago. If you have any ideas let me know, of course! Thanks! -- Carles Pina i Estany https://carles.pina.cat signature.asc Description: PGP signature
Re: dh_python3: file in /usr/lib/python3.12/dist-packages ?
Hi Carles (2024.02.25_00:14:46_+) > It generates a .deb file with a directory: > > /usr/lib/python3.12/dist-packages/ping3-4.0.4.dist-info/ > > With two files there: > -INSTALLER > -top_level.txt If there are files in /usr/lib/python3.*/dist-packages/ after running dh_python3, it means they differed between python 3.x versions. So to investigate, diff the files against the ones in /usr/lib/python3/dist-packages/ and see if you can spot why they are not matching. It's probably something non-reproducible in the package's build system. Stefano -- Stefano Rivera http://tumbleweed.org.za/ +1 415 683 3272
dh_python3: file in /usr/lib/python3.12/dist-packages ?
Hi, CCed Stefano, since I've found a commit that might be relevant that he wrote. Via salsa and with dh_python3: D: dh_python3 dh_python3:179: version: 6.20231223 It generates a .deb file with a directory: /usr/lib/python3.12/dist-packages/ping3-4.0.4.dist-info/ With two files there: -INSTALLER -top_level.txt Causing lintian to complain via: - W: python3-ping3: python-module-in-wrong-location usr/lib/python3.12/dist-packages/ping3-4.0.4.dist-info -> usr/lib/python3/dist-packages/ping3-4.0.4.dist-info I: python3-ping3: package-contains-documentation-outside-usr-share-doc [usr/lib/python3.12/dist-packages/ping3-4.0.4.dist-info/top_level.txt] - I think that this was supposed to be not happening via the next changelog: https://salsa.debian.org/python-team/tools/dh-python/-/blob/master/debian/changelog?ref_type=heads#L20 fix: https://salsa.debian.org/python-team/tools/dh-python/-/commit/c4bfdac892371c7fc3c1cc6a4c28e21b2dd384d9 I'm not familiar with dh_python3 internals at all. Has anyone had the same problem? Is it a bug in dh_python3, or should I do something else in the package that I'm packaging to avoid it? (this might be a red herring of something else that I've missed!). Thanks very much, -- Carles Pina i Estany https://carles.pina.cat signature.asc Description: PGP signature