Re: dh_python3: file in /usr/lib/python3.12/dist-packages ?

2024-02-27 Thread Stefano Rivera
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 ?

2024-02-25 Thread Carles Pina i Estany

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 ?

2024-02-25 Thread Carles Pina i Estany

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 ?

2024-02-24 Thread stefanor
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 ?

2024-02-24 Thread Carles Pina i Estany

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