Source: rdma-core
Version: 56.1-1
Tags: patch
User: [email protected]
Usertags: cross-satisfiability ftcbfs

rdma-core fails to cross build from source and all of the causes relate
to the Python extension build.

A build dependency on python3-dev requests the host architecture
interpreter. It can neither be installed nor run during build. For
building extensions, the typical dependency should be libpython3-dev +
python3-dev:native. Beyond this, cython3 is requested for the host
architecture. It likewise cannot be run that way. While cython3 can have
architecture-dependent behavior and therefore is not marked M-A:foreign,
its use in rdma-core looks ok to annotate the dependency :native.

With these changes, rdma-core successfully builds broken packages. The
Python extensions use suffixes derived from the build architecture. To
fix this, the host's sysconfigdata should be used by exporting the
relevant environment variable during build.

I'm attaching a combined patch for your convenience. Please consider
applying it.

Helmut
diff -Nru rdma-core-56.1/debian/changelog rdma-core-56.1/debian/changelog
--- rdma-core-56.1/debian/changelog     2025-04-14 12:41:06.000000000 +0200
+++ rdma-core-56.1/debian/changelog     2025-12-17 14:36:42.000000000 +0100
@@ -1,3 +1,13 @@
+rdma-core (56.1-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: (Closes: #-1)
+    + Multiarchify Python Build-Depends.
+    + Request a native cython3.
+    + Use the host's sysconfigdata.
+
+ -- Benjamin Drung <helmut@benjy>  Wed, 17 Dec 2025 14:36:42 +0100
+
 rdma-core (56.1-1) unstable; urgency=medium
 
   * New upstream bug-fix release
diff -Nru rdma-core-56.1/debian/control rdma-core-56.1/debian/control
--- rdma-core-56.1/debian/control       2025-04-14 12:35:41.000000000 +0200
+++ rdma-core-56.1/debian/control       2025-12-17 14:36:42.000000000 +0100
@@ -3,18 +3,19 @@
 Section: net
 Priority: optional
 Build-Depends: cmake (>= 2.8.11),
-               cython3,
+               cython3:native,
                debhelper-compat (= 13),
                dh-python,
                dpkg-dev (>= 1.22.5),
                libnl-3-dev,
                libnl-route-3-dev,
+               libpython3-dev,
                libsystemd-dev,
                libudev-dev,
                ninja-build,
                pandoc,
                pkgconf,
-               python3-dev,
+               python3-dev:native,
                python3-docutils,
                valgrind [amd64 arm64 armhf i386 mips mips64el mipsel powerpc 
ppc64 ppc64el s390x]
 Rules-Requires-Root: no
diff -Nru rdma-core-56.1/debian/rules rdma-core-56.1/debian/rules
--- rdma-core-56.1/debian/rules 2025-04-14 12:35:41.000000000 +0200
+++ rdma-core-56.1/debian/rules 2025-12-17 14:36:42.000000000 +0100
@@ -4,6 +4,10 @@
 
 export DEB_BUILD_MAINT_OPTIONS=hardening=+all
 
+ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
+export 
_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata__${DEB_HOST_ARCH_OS}_${DEB_HOST_MULTIARCH}
+endif
+
 NON_COHERENT_DMA_ARCHS = alpha arc armel armhf hppa m68k sh4
 
 dh_params = --with python3 --builddirectory=build-deb

Reply via email to