#1151462 icoextract: FTBFS with dh-python 7.20261019

#1151462#5
Date:
2026-10-20 19:10:01 UTC
From:
To:
Package: src:icoextract
Version: 0.3.0-2
User: debian-python@lists.debian.org
Usertags: python3.15
Tags: ftbfs, forky, sid
Severity: serious

Hi!

While preparing the Python 3.15 migration we realized that some Python
packages were shipping broken metadata directories, which leads to
errors when trying to import these directories with code running on
Python 3.15.

To avoid shipping any additional broken directories, dh-python
7.20261019 now throws an error at build-time.

Unfortunately, icoextract is one of the affected packages and fails to
build with the latest dh-python [1].

Most of these errors can be fixed by being more strict with the files
considered for installation. I'll try to submit a patch for this ASAP.

Happy hacking,

[1]: https://debusine.debian.net/debian/r-python-python3.15/artifact/5118701/

#1151462#10
Date:
2026-10-21 05:32:27 UTC
From:
To:
Hi Maximiliano,

The traceback from the log shows there was a test failure because PIL
couldn't be imported. I just ran a fresh sbuild in unstable which picked
up the new dh-python with no issue, so I think error is part of the
Python 3.15 transition.

Should this be reassigned to src:pillow?

======================================================================
ERROR: tests.test_thumbnailer
(unittest.loader._FailedTest.tests.test_thumbnailer)
----------------------------------------------------------------------
ImportError: Failed to import test module: tests.test_thumbnailer
Traceback (most recent call last):
   File "/usr/lib/python3.15/unittest/loader.py", line 433, in
_find_test_path
     module = self._get_module_from_name(name)
   File "/usr/lib/python3.15/unittest/loader.py", line 374, in
_get_module_from_name
     __import__(name)
     ~~~~~~~~~~^^^^^^
   File
"/build/reproducible-path/icoextract-0.3.0/.pybuild/cpython3_3.15_icoextract/build/tests/test_thumbnailer.py",
line 8, in <module>
     from PIL import Image, ImageChops
   File "/usr/lib/python3/dist-packages/PIL/Image.py", line 94, in <module>
     from . import _imaging as core
ImportError: cannot import name '_imaging' from 'PIL'
(/usr/lib/python3/dist-packages/PIL/__init__.py)

Best,
James

#1151462#15
Date:
2026-10-21 09:58:59 UTC
From:
To:
¡Hola James!

El 2026-10-20 a las 22:32 -0700, James Lu escribió:

Right, pil was uploaded about the same time I triggered this build in
debusine, and the 3.15 version was built a bit later.

The relevant log is: https://debusine.debian.net/debian/r-python-python3.15/artifact/5126062/

Now building against the correct pil version. The error is:
W: dh_python3 fs:153: No merge driver for dist-info file top_level.txt
E: dh_python3 fs:172: Not everything in 'debian/python3-icoextract/usr/lib/python3.15/dist-packages/icoextract-0.3.0.dist-info' was able to be merged into 'debian/python3-icoextract/usr/lib/python3/dist-packages/icoextract-0.3.0.dist-info'.
I: dh_python3 fs:179: Remaining files: debian/python3-icoextract/usr/lib/python3.15/dist-packages/icoextract-0.3.0.dist-info/top_level.txt

You are right that this isn't a serious bug just yet, was it only
occurs when there are at least two python3 supported versions. I'm
changing the severity.

Happy hacking,