Control: tags -1 +confirmed +help

Hello there from the St-Cergue BSP where I've taken a look at this RC bug.

I can confirm this still FTBFS, and doesn't in stable, so let's check why.

The crux of the issue is that python3-setuptools from 54.0.0
(https://setuptools.pypa.io/en/latest/history.html#v54-0-0) does _not_ build 
the .egg-info as single file, but _only_ as directory [0].

This has the direct consequence that all tests fail for either of these 
reasons:
* the .egg-info is not a file, and cannot be compared with the expected 
version
* the .egg-info directory is not cleaned in clean() , hence the snapshot-vs-
result directory comparison is always going to flag the .egg-info directory as 
resulting cruft.

I've trimmed down the report below with an example result, which clearly shows 
the above two things.

Btw, from the FTBFS build directory, the fastest way to reproduce this is to 
run:

 LC_ALL=C LANGUAGE= LANG=C PYTHONPATH=. python3.10 test/auto.py -v -k empty -f


So. python-distutils-extra is broken by src:setuptools which is not going to 
revert this. python3-distutils-extra has 34 reverse Build-Depends, including 
python-apt, which makes it a "key package". Even if the B-D from python-apt 
can be amended, I also identify unattended-upgrades, software-properties and 
command-not-found. It looks like this won't be easy to remove from testing; we 
need to fix it.

Suggestions on the angle to use to tackle this welcome!

Best,

OdyX


[0] Also, distutils is deprecated "soon", so all this should get nuked post-
bookworm, but that's a discussion for another time.

Le mardi, 20 décembre 2022, 18.23:15 h CET Lucas Nussbaum a écrit :
> Source: python-distutils-extra
> Version: 2.47
> Severity: serious
> Justification: FTBFS
> Tags: bookworm sid ftbfs
> User: lu...@debian.org
> Usertags: ftbfs-20221220 ftbfs-bookworm
> 
> Hi,
> 
> During a rebuild of all packages in sid, your package failed to build
> on amd64.
> 
> Relevant part (hopefully):
> > make[1]: Entering directory '/<<PKGBUILDDIR>>'
> > # run tests with all supported python 2 and 3 versions
> > set -e; for python in `py3versions -s`; do \
> > 
> >   echo "-- Running tests with $python ----------------"; \
> >   LC_ALL=C LANGUAGE= LANG=C PYTHONPATH=. $python test/auto.py -v; \
> > 
> > done
> > -- Running tests with python3.11 ----------------
> > (...)
> > test_empty (__main__.T.test_empty)
> > empty source tree (just setup.py) ... FAIL
> > test_empty (__main__.T.test_empty)
> > empty source tree (just setup.py) ... FAIL

(...)

> > ======================================================================
> > FAIL: test_empty (__main__.T.test_empty)
> > empty source tree (just setup.py)
> > ----------------------------------------------------------------------
> > 
> > Traceback (most recent call last):
> >   File "/<<PKGBUILDDIR>>/test/auto.py", line 68, in test_empty
> >   
> >     self.assertEqual(len(f), 1)
> > 
> > AssertionError: 4 != 1
> > 
> > ======================================================================
> > FAIL: test_empty (__main__.T.test_empty)
> > empty source tree (just setup.py)
> > ----------------------------------------------------------------------
> > 
> > Traceback (most recent call last):
> >   File "/<<PKGBUILDDIR>>/test/auto.py", line 43, in tearDown
> >   
> >     self.assertEqual(cruft, '', 'no cruft after cleaning:\n' + cruft)
> > 
> > AssertionError: "diff -x foo.pot -x '*.pyc' -Nur /tmp/tmp[1578 chars]n+\n"
> > != '' - diff -x foo.pot -x '*.pyc' -Nur
> > /tmp/tmp56zs21t4/s/foo.egg-info/PKG-INFO
> > /tmp/tmp15hh51oe/foo.egg-info/PKG-INFO - ---
> > /tmp/tmp56zs21t4/s/foo.egg-info/PKG-INFO    1970-01-01 
00:00:00.000000000
> > +0000 - +++ /tmp/tmp15hh51oe/foo.egg-info/PKG-INFO  2022-12-20
> > 09:38:33.086490908 +0000 - @@ -0,0 +1,8 @@
> > - +Metadata-Version: 2.1
> > - +Name: foo
> > - +Version: 0.1
> > - +Summary: Test suite package
> > - +Home-page: https://foo.example.com
> > - +Author: Martin Pitt
> > - +Author-email: martin.p...@example.com
> > - +License: GPL v2 or later
> > - diff -x foo.pot -x '*.pyc' -Nur
> > /tmp/tmp56zs21t4/s/foo.egg-info/SOURCES.txt
> > /tmp/tmp15hh51oe/foo.egg-info/SOURCES.txt - ---
> > /tmp/tmp56zs21t4/s/foo.egg-info/SOURCES.txt 1970-01-01 
00:00:00.000000000
> > +0000 - +++ /tmp/tmp15hh51oe/foo.egg-info/SOURCES.txt       2022-12-20
> > 09:38:33.090490943 +0000 - @@ -0,0 +1,5 @@
> > - +setup.py
> > - +foo.egg-info/PKG-INFO
> > - +foo.egg-info/SOURCES.txt
> > - +foo.egg-info/dependency_links.txt
> > - +foo.egg-info/top_level.txt
> > - \ No newline at end of file
> > - diff -x foo.pot -x '*.pyc' -Nur
> > /tmp/tmp56zs21t4/s/foo.egg-info/dependency_links.txt
> > /tmp/tmp15hh51oe/foo.egg-info/dependency_links.txt - ---
> > /tmp/tmp56zs21t4/s/foo.egg-info/dependency_links.txt        1970-01-01
> > 00:00:00.000000000 +0000 - +++
> > /tmp/tmp15hh51oe/foo.egg-info/dependency_links.txt  2022-12-20
> > 09:38:33.086490908 +0000 - @@ -0,0 +1 @@
> > - +
> > - diff -x foo.pot -x '*.pyc' -Nur
> > /tmp/tmp56zs21t4/s/foo.egg-info/top_level.txt
> > /tmp/tmp15hh51oe/foo.egg-info/top_level.txt - ---
> > /tmp/tmp56zs21t4/s/foo.egg-info/top_level.txt       1970-01-01
> > 00:00:00.000000000 +0000 - +++
> > /tmp/tmp15hh51oe/foo.egg-info/top_level.txt 2022-12-20 
09:38:33.086490908
> > +0000 - @@ -0,0 +1 @@
> > - +
> > 
> >  : no cruft after cleaning:
> > diff -x foo.pot -x '*.pyc' -Nur /tmp/tmp56zs21t4/s/foo.egg-info/PKG-INFO
> > /tmp/tmp15hh51oe/foo.egg-info/PKG-INFO ---
> > /tmp/tmp56zs21t4/s/foo.egg-info/PKG-INFO    1970-01-01 
00:00:00.000000000
> > +0000 +++ /tmp/tmp15hh51oe/foo.egg-info/PKG-INFO    2022-12-20
> > 09:38:33.086490908 +0000 @@ -0,0 +1,8 @@
> > +Metadata-Version: 2.1
> > +Name: foo
> > +Version: 0.1
> > +Summary: Test suite package
> > +Home-page: https://foo.example.com
> > +Author: Martin Pitt
> > +Author-email: martin.p...@example.com
> > +License: GPL v2 or later
> > diff -x foo.pot -x '*.pyc' -Nur
> > /tmp/tmp56zs21t4/s/foo.egg-info/SOURCES.txt
> > /tmp/tmp15hh51oe/foo.egg-info/SOURCES.txt ---
> > /tmp/tmp56zs21t4/s/foo.egg-info/SOURCES.txt 1970-01-01 
00:00:00.000000000
> > +0000 +++ /tmp/tmp15hh51oe/foo.egg-info/SOURCES.txt 2022-12-20
> > 09:38:33.090490943 +0000 @@ -0,0 +1,5 @@
> > +setup.py
> > +foo.egg-info/PKG-INFO
> > +foo.egg-info/SOURCES.txt
> > +foo.egg-info/dependency_links.txt
> > +foo.egg-info/top_level.txt
> > \ No newline at end of file
> > diff -x foo.pot -x '*.pyc' -Nur
> > /tmp/tmp56zs21t4/s/foo.egg-info/dependency_links.txt
> > /tmp/tmp15hh51oe/foo.egg-info/dependency_links.txt ---
> > /tmp/tmp56zs21t4/s/foo.egg-info/dependency_links.txt        1970-01-01
> > 00:00:00.000000000 +0000 +++
> > /tmp/tmp15hh51oe/foo.egg-info/dependency_links.txt  2022-12-20
> > 09:38:33.086490908 +0000 @@ -0,0 +1 @@
> > +
> > diff -x foo.pot -x '*.pyc' -Nur
> > /tmp/tmp56zs21t4/s/foo.egg-info/top_level.txt
> > /tmp/tmp15hh51oe/foo.egg-info/top_level.txt ---
> > /tmp/tmp56zs21t4/s/foo.egg-info/top_level.txt       1970-01-01
> > 00:00:00.000000000 +0000 +++
> > /tmp/tmp15hh51oe/foo.egg-info/top_level.txt 2022-12-20 
09:38:33.086490908
> > +0000 @@ -0,0 +1 @@
> > +

-- 
    OdyX

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to