Package: src:contourpy
Version: 1.3.3-2
User: [email protected]
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 now throws an
error at build-time when the contents of the directories for two different
versions don't match.

Unfortunately, contourpy is one of the affected packages and fails to build with
the latest dh-python.

https://debusine.debian.net/debian/r-python-python3.15/artifact/5177968/

  W: dh_python3 fs:157: Paths differ: 
debian/python3-contourpy/usr/lib/python3.15/dist-packages/contourpy/util/  
_build_config.py and 
debian/python3-contourpy/usr/lib/python3/dist-packages/contourpy/util/_build_config.py
  E: dh_python3 fs:173: Not everything in 
'debian/python3-contourpy/usr/lib/python3.15/dist-packages/contourpy/util' was 
able to be merged into 
'debian/python3-contourpy/usr/lib/python3/dist-packages/contourpy/util'.
  I: dh_python3 fs:180: Remaining files: 
debian/python3-contourpy/usr/lib/python3.15/dist-packages/contourpy/util/_build_config.py
  make: *** [debian/rules:7: binary-arch] Error 1
  dpkg-buildpackage: error: debian/rules binary-arch subprocess failed with 
exit status 2

The _build_config.py files indeed can't be merged. One alternative is to use the
new dh-python flag --allow-unmerged-dist-packages to allow this divergence (in
this case, it wouldn't lead to broken metadata directories, as they are not in
such a directory).  Another option would be to patch the code to not need this
file at all, as this seems mostly to be for debugging purposes.

This is a release critical issue, because we need to rebuild the package for the
3.15 transition.

-- 
Regards,
Marga

Reply via email to