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

Reply via email to