- Package:
- src:contourpy
- Source:
- src:contourpy
- Submitter:
- Margarita Manterola
- Date:
- 2026-10-27 08:41:00 UTC
- Severity:
- normal
- Tags:
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.
We believe that the bug you reported is fixed in the latest version of contourpy, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 1152191@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Maximiliano Curia <maxy@debian.org> (supplier of updated contourpy package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@ftp-master.debian.org) Format: 1.8 Date: Tue, 27 Oct 2026 09:14:17 +0100 Source: contourpy Architecture: source Version: 1.3.3-3 Distribution: unstable Urgency: medium Maintainer: Debian Python Team <team+python@tracker.debian.org> Changed-By: Maximiliano Curia <maxy@debian.org> Closes: 1152191 Changes: contourpy (1.3.3-3) unstable; urgency=medium . * Team upload. * Allow unmerged _build_config.py (Closes: #1152191) Checksums-Sha1: bec2342864cd5087cee8b7437395b37fee749d32 2279 contourpy_1.3.3-3.dsc e2ed6440ce1dde7a35cbeec5484aa972ab53f14a 3624 contourpy_1.3.3-3.debian.tar.xz c9a835de77a84a0666074dfd63d1e21ce48e8ace 11227 contourpy_1.3.3-3_source.buildinfo Checksums-Sha256: f171bbcb4659a864c47ddf7ba0605770cf190c7a3df0bb7ba24df20791267eac 2279 contourpy_1.3.3-3.dsc 2098bf41cf91ff433671a47835db7dc11262b9c1ad14f763be8b3110a01942b4 3624 contourpy_1.3.3-3.debian.tar.xz 2137af400903f96d5769428cae71df7f2ffa2cda7410a6dbc515bf30d32d0749 11227 contourpy_1.3.3-3_source.buildinfo Files: 1a8d6b751503831e9317e3eab6a0e1ee 2279 python optional contourpy_1.3.3-3.dsc 42e80410493226814bc89e0dd7955bac 3624 python optional contourpy_1.3.3-3.debian.tar.xz cfff0201eda4494a446805f4d6c94f22 11227 python optional contourpy_1.3.3-3_source.buildinfo -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEE+JIdOnQEyG4RNSIVxxl2mbKbIyoFAmrgXiAACgkQxxl2mbKb IyoHaRAAn9gvuHnkTyiM767Zj1QNNGc6SwWDzy9GzF0rbLwwtlxqwRzArSFBN+QU mfRh3lO7gBFwnoC9+uGDtpBye5N9Rcz8yWyCvOkS2F0FnCFYlIGi+cLA4iOFGbHN UleyTcPbN+DbomKrHPad6T0HXdmrQxkZur6QwLJHkUDFOmlq6qEbncgsGB8itxc5 o1akR61kKQN5cVqBt0dmNGPLtaAHllHSOibpJM7FRG8EEPcg/7PPyUqhUKtpbB1Q N79MtC3Ap7t6CsQqTWxFuF97Up+EF82qaiYwxstPbWWRouVSA+V+m5+6pBEl+wiO EvFd2QLS7MtE5bXFRaUdpMbKw3K+PjZ9XXyt+gtsz6C4tX5q7Od7Hu2jcfu7cXFt anFJCu1nFBKZ4VeZXj3SFW5Nc181pP8wo2VK6MXXcsV79GlYUxKxTJG1Ltf6VdUO vsn0FFaWUh/Sk78xepRdYcchfR77o9658keTSbsrZbAkdb3UF4g8tlZmxR6wtpp8 MMJ+gORJD/TAj7EGo+otJ+3SvLCwOZxWRPMi2wq9mBMHfoWfmZGVSNLGgm2VxxXV epfPElTSLkF5GbymqgWCIo79FmXHdOxtIj/PGJ4bv2fiz8nrzBm6ojMp1i3QY5Qx 05vFsU+BGXJvxTmeZc85JXiwRtk8plamZF+aVEugcvMEEB/0PEg= =foDT -----END PGP SIGNATURE-----