Package: debhelper Version: 13.11.4 Tags: trixie sid Severity: normal X-Debbugs-Cc: Timo Röhling <[email protected]>
As a result of upstream changes in meson and changes to the Debian packaging/patches of Python, rebuilding gi-docgen with meson >= 1.2.0 results in the installed tree in debian/tmp putting Python code in /usr/local, not /usr. CMake has a similar issue, which was discussed on -devel recently: <https://lists.debian.org/debian-devel/2023/07/msg00307.html> pybuild avoids this by setting DEB_PYTHON_INSTALL_LAYOUT=deb, which tells Debian's patched Python that we're building a .deb, but this is not done for packages that use CMake or Meson directly. As well as this being a regression for existing non-pybuild packages, pybuild is not always desirable for packages that contain some Python as an implementation detail, but are not primarily a Python library: <https://lists.debian.org/debian-python/2023/08/msg00013.html>. I think either debhelper's cmake and meson build systems should be doing this for us, or debhelper should be doing this globally, to avoid every affected package having to be changed for this. There was some confusion over whether deb or deb_system is the preferred value. The python3.11 changelog suggests that deb_system is preferred for package builds, but pybuild uses deb, and <https://lists.debian.org/debian-devel/2023/07/msg00311.html> clarifies that actually, deb is preferred. I'm trying to prepare a patch for this, which will follow when I have a bug number to refer to. smcv

