#1151968 qpid-proton: FTBFS with dh-python 7.20261019

#1151968#5
Date:
2026-10-25 10:41:12 UTC
From:
To:
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, qpid-proton is one of the affected packages and fails to build
with the latest dh-python.

https://buildd.debian.org/status/fetch.php?pkg=qpid-proton&arch=amd64&ver=0.37.0-10%2Bb1&stamp=1792897640&raw=0

I: dh_python3 fs:543: renaming _cproton.so to _cproton.cpython-314-x86_64-linux-gnu.so
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/utils.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/utils.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/tracing.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/tracing.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/reactor.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/reactor.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/handlers.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/handlers.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_wrapper.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_wrapper.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_utils.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_utils.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_url.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_url.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_transport.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_transport.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_tracing.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_tracing.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_selectable.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_selectable.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_reactor.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_reactor.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_message.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_message.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_io.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_io.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_handlers.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_handlers.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_exceptions.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_exceptions.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_events.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_events.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_endpoints.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_endpoints.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_delivery.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_delivery.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_data.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_data.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_condition.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_condition.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_common.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/_common.pyo
W: dh_python3 fs:156: Paths differ: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/__init__.pyo and debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton/__init__.pyo
E: dh_python3 fs:172: Not everything in 'debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton' was able to be merged into 'debian/python3-qpid-proton/usr/lib/python3/dist-packages/proton'.
I: dh_python3 fs:179: Remaining files: debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/__init__.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_common.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_condition.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_data.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_delivery.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_endpoints.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_events.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_exceptions.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_handlers.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_io.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_message.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_reactor.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_selectable.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_tracing.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_transport.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_url.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_utils.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/_wrapper.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/handlers.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/reactor.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/tracing.pyo
debian/python3-qpid-proton/usr/lib/python3.15/dist-packages/proton/utils.pyo

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

Most of these errors can be fixed by being more strict with the files considered
for installation.

#1151968#10
Date:
2026-10-25 16:31:01 UTC
From:
To:
Fixed via dh-python 7.20261025.

Stefano