Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.maint.python > #15491 > unrolled thread
| Started by | Carles Pina i Estany <carles@pina.cat> |
|---|---|
| First post | 2024-02-25 01:30 +0100 |
| Last post | 2024-02-27 18:00 +0100 |
| Articles | 5 — 3 participants |
Back to article view | Back to linux.debian.maint.python
dh_python3: file in /usr/lib/python3.12/dist-packages ? Carles Pina i Estany <carles@pina.cat> - 2024-02-25 01:30 +0100
Re: dh_python3: file in /usr/lib/python3.12/dist-packages ? stefanor@debian.org - 2024-02-25 02:40 +0100
Re: dh_python3: file in /usr/lib/python3.12/dist-packages ? Carles Pina i Estany <carles@pina.cat> - 2024-02-26 00:40 +0100
Re: dh_python3: file in /usr/lib/python3.12/dist-packages ? Carles Pina i Estany <carles@pina.cat> - 2024-02-26 01:10 +0100
Re: dh_python3: file in /usr/lib/python3.12/dist-packages ? Stefano Rivera <stefanor@debian.org> - 2024-02-27 18:00 +0100
| From | Carles Pina i Estany <carles@pina.cat> |
|---|---|
| Date | 2024-02-25 01:30 +0100 |
| Subject | dh_python3: file in /usr/lib/python3.12/dist-packages ? |
| Message-ID | <IbayZ-cq1W-3@gated-at.bofh.it> |
[Multipart message — attachments visible in raw view] — view raw
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
[toc] | [next] | [standalone]
| From | stefanor@debian.org |
|---|---|
| Date | 2024-02-25 02:40 +0100 |
| Message-ID | <IbbEJ-cqHs-1@gated-at.bofh.it> |
| In reply to | #15491 |
Hi Carles (2024.02.25_00:14:46_+0000) > 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
[toc] | [prev] | [next] | [standalone]
| From | Carles Pina i Estany <carles@pina.cat> |
|---|---|
| Date | 2024-02-26 00:40 +0100 |
| Message-ID | <Ibwga-cDmH-19@gated-at.bofh.it> |
| In reply to | #15492 |
[Multipart message — attachments visible in raw view] — view raw
Hi, On 25 Feb 2024 at 01:35:41, stefanor@debian.org wrote: > Hi Carles (2024.02.25_00:14:46_+0000) > > 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.000000000 +0000 +++ python3/dist-packages/ping3-4.0.4.dist-info/top_level.txt 2023-11-06 22:53:00.000000000 +0000 @@ -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
[toc] | [prev] | [next] | [standalone]
| From | Carles Pina i Estany <carles@pina.cat> |
|---|---|
| Date | 2024-02-26 01:10 +0100 |
| Message-ID | <IbwJb-cDM3-3@gated-at.bofh.it> |
| In reply to | #15493 |
[Multipart message — attachments visible in raw view] — view raw
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, stefanor@debian.org wrote:
> > Hi Carles (2024.02.25_00:14:46_+0000)
> > > 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.000000000 +0000
> +++ python3/dist-packages/ping3-4.0.4.dist-info/top_level.txt 2023-11-06 22:53:00.000000000 +0000
> @@ -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
[toc] | [prev] | [next] | [standalone]
| From | Stefano Rivera <stefanor@debian.org> |
|---|---|
| Date | 2024-02-27 18:00 +0100 |
| Message-ID | <Ic8Y9-d1eL-1@gated-at.bofh.it> |
| In reply to | #15494 |
Hi Carles (2024.02.26_00:00:48_+0000) > 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
[toc] | [prev] | [standalone]
Back to top | Article view | linux.debian.maint.python
csiph-web