Bug#1123694: soapyhydrasdr installs into a foreign multiarch directory
Source: soapyhydrasdr
Version: 0.1.0-2
Severity: serious
Justification: wrong multiarch directory
Tags: patch
User: debian-cross@lists.debian.org
Usertags: ftcbfs
soapyhydrasdr successfully cross builds a broken package. Upon closer
inspection of a native build, I noticed that this is also the case for
the native builds uploaded to the archive.
https://buildd.debian.org/status/fetch.php?pkg=soapyhydrasdr&arch=arm64&ver=0.1.0-2&stamp=1762215701&raw=0
| soapysdr0.8-module-hydrasdr_0.1.0-2_arm64.deb
| ---------------------------------------------
|
| new Debian package, version 2.0.
| size 22964 bytes: control archive=812 bytes.
| 600 bytes, 15 lines control
| 556 bytes, 6 lines md5sums
| Package: soapysdr0.8-module-hydrasdr
| Source: soapyhydrasdr
| Version: 0.1.0-2
| Architecture: arm64
| Maintainer: Debian Hamradio Maintainers <debian-hams@lists.debian.org>
| Installed-Size: 153
| Depends: libc6 (>= 2.38), libgcc-s1 (>= 3.0), libhydrasdr0 (>= 1.0.2), libsoapysdr0.8 (>= 0.8.1), libstdc++6 (>= 5.2)
| Section: hamradio
| Priority: optional
| Multi-Arch: same
| Homepage: https://github.com/hydrasdr/SoapyHydraSDR
| Description: HydraSDR device support for SoapySDR
| The Soapy HydraSDR project provides a SoapySDR hardware support module.
| .
| Adds HydraSDR RFOne software defined radio support via Soapy.
|
| drwxr-xr-x root/root 0 2025-11-03 23:25 ./
| drwxr-xr-x root/root 0 2025-11-03 23:25 ./usr/
| drwxr-xr-x root/root 0 2025-11-03 23:25 ./usr/lib/
| drwxr-xr-x root/root 0 2025-11-03 23:25 ./usr/lib/aarch64-linux-gnu/
| drwxr-xr-x root/root 0 2025-11-03 23:25 ./usr/lib/aarch64-linux-gnu/SoapySDR/
| drwxr-xr-x root/root 0 2025-11-03 23:25 ./usr/lib/aarch64-linux-gnu/SoapySDR/modules0.8/
| -rw-r--r-- root/root 67792 2025-11-03 23:25 ./usr/lib/aarch64-linux-gnu/SoapySDR/modules0.8/libSoapyHydraSDR.so
| drwxr-xr-x root/root 0 2025-11-03 23:25 ./usr/lib/x86_64-linux-gnu/
| drwxr-xr-x root/root 0 2025-11-03 23:25 ./usr/lib/x86_64-linux-gnu/SoapySDR/
| drwxr-xr-x root/root 0 2025-11-03 23:25 ./usr/lib/x86_64-linux-gnu/SoapySDR/modules0.8/
| -rw-r--r-- root/root 67792 2025-11-03 23:25 ./usr/lib/x86_64-linux-gnu/SoapySDR/modules0.8/libSoapyHydraSDR.so
| drwxr-xr-x root/root 0 2025-11-03 23:25 ./usr/share/
| drwxr-xr-x root/root 0 2025-11-03 23:25 ./usr/share/doc/
| drwxr-xr-x root/root 0 2025-11-03 23:25 ./usr/share/doc/soapysdr0.8-module-hydrasdr/
| -rw-r--r-- root/root 1665 2025-08-01 06:09 ./usr/share/doc/soapysdr0.8-module-hydrasdr/README.md
| -rw-r--r-- root/root 320 2025-11-03 23:25 ./usr/share/doc/soapysdr0.8-module-hydrasdr/changelog.Debian.gz
| -rw-r--r-- root/root 98 2025-08-01 06:09 ./usr/share/doc/soapysdr0.8-module-hydrasdr/changelog.gz
| -rw-r--r-- root/root 1273 2025-08-01 06:09 ./usr/share/doc/soapysdr0.8-module-hydrasdr/copyright
Quite definitely, it should not be installing to
/usr/lib/x86_64-linux-gnu.
The upstream CMakeLists.txt tries quite a bit to avoid this outcome, but
it ultimately fails. It first checks whether the user might have defined
SOAPY_SDR_MODULE_DIR. That's not the case during a package build. Then
it tries to locate SoapySDR using pkg-config and it may even find it,
but Debian's SoapySDR.pc does not include a moduledir, so that does not
help either. It then tries a few common locations and eventually falls
back to /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.8. That's where our
path comes from.
I think the best solution here would be adding the moduledir to
SoapySDR.pc. In the mean time, I suggest overriding the variable to fix
the installation path. I'm attaching a patch for your convenience.
Helmut
diff -Nru soapyhydrasdr-0.1.0/debian/changelog soapyhydrasdr-0.1.0/debian/changelog
--- soapyhydrasdr-0.1.0/debian/changelog 2025-11-04 00:25:00.000000000 +0100
+++ soapyhydrasdr-0.1.0/debian/changelog 2025-12-17 15:23:44.000000000 +0100
@@ -1,3 +1,10 @@
+soapyhydrasdr (0.1.0-2.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix wrong installation path by forcing SOAPY_SDR_MODULE_DIR. (Closes: #-1)
+
+ -- A. Maitland Bottoms <helmut@benjy> Wed, 17 Dec 2025 15:23:44 +0100
+
soapyhydrasdr (0.1.0-2) unstable; urgency=medium
* upload to unstable
diff -Nru soapyhydrasdr-0.1.0/debian/rules soapyhydrasdr-0.1.0/debian/rules
--- soapyhydrasdr-0.1.0/debian/rules 2025-11-03 14:05:06.000000000 +0100
+++ soapyhydrasdr-0.1.0/debian/rules 2025-12-17 15:23:44.000000000 +0100
@@ -1,4 +1,10 @@
#!/usr/bin/make -f
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+
+include /usr/share/dpkg/architecture.mk
+
%:
dh $@
+
+override_dh_auto_configure:
+ dh_auto_configure -- -DSOAPY_SDR_MODULE_DIR=/usr/lib/$(DEB_HOST_MULTIARCH)/SoapySDR/modules0.8
Reply to: