Bug#1000718: Request: Enable cross-build Multi-Arch

Yuriy M. Kaminskiy yumkam+debian at gmail.com
Thu Feb 15 12:17:46 GMT 2024


Package: libarmadillo11
Version: 1:11.4.2+dfsg-1
Tags: patch
Followup-For: Bug #1000718

Dear Maintainer,

libarmadillo11 is dependency of libgdal32 and indirectly dependency of
opencv, thus lack of M-A compatibility prevents co-installation.
This is not only [cross-]build problem, but affects normal users.
Patch attached.
Disclaimer: I was able to co-install M-A-patched
libgdal32/libogdi4.1/libarmadillo11/libhdf4 libraries on stable/bookworm,
but have no way to verify if there are any problems with their use.

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable'), (100, 'proposed-updates')
Architecture: i386 (x86_64)
Foreign Architectures: amd64

Kernel: Linux 6.1.0-17-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libarmadillo11 depends on:
ii  libarpack2                   3.8.0-3
ii  libblas3 [libblas.so.3]      3.11.0-2
ii  libc6                        2.36-9+deb12u4
ii  libgcc-s1                    12.2.0-14
ii  liblapack3 [liblapack.so.3]  3.11.0-2
ii  libstdc++6                   12.2.0-14
ii  libsuperlu5                  5.3.0+dfsg1-2+b1

libarmadillo11 recommends no packages.

libarmadillo11 suggests no packages.

-- no debconf information
-------------- next part --------------
Note: -dev is likely not multi-arch safe.

diff -Nru armadillo-11.4.2+dfsg/debian/changelog armadillo-11.4.2+dfsg/debian/changelog
--- armadillo-11.4.2+dfsg/debian/changelog	2022-10-29 17:12:52.000000000 +0300
+++ armadillo-11.4.2+dfsg/debian/changelog	2024-02-14 23:06:47.000000000 +0300
@@ -1,3 +1,10 @@
+armadillo (1:11.4.2+dfsg-1.1~local1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Add Multi-Arch.
+
+ -- Yuriy M. Kaminskiy <yumkam+debian at gmail.com>  Wed, 14 Feb 2024 23:06:47 +0300
+
 armadillo (1:11.4.2+dfsg-1) unstable; urgency=medium
 
   * New upstream release
diff -Nru armadillo-11.4.2+dfsg/debian/control armadillo-11.4.2+dfsg/debian/control
--- armadillo-11.4.2+dfsg/debian/control	2022-10-29 17:11:49.000000000 +0300
+++ armadillo-11.4.2+dfsg/debian/control	2024-02-14 23:05:31.000000000 +0300
@@ -28,6 +28,7 @@
 Package: libarmadillo11
 Section: libs
 Architecture: any
+Multi-Arch: same
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: streamlined C++ linear algebra library
  Armadillo is a streamlined C++ linear algebra library (matrix maths)
diff -Nru armadillo-11.4.2+dfsg/debian/libarmadillo11.install armadillo-11.4.2+dfsg/debian/libarmadillo11.install
--- armadillo-11.4.2+dfsg/debian/libarmadillo11.install	2022-10-29 17:11:49.000000000 +0300
+++ armadillo-11.4.2+dfsg/debian/libarmadillo11.install	2024-02-14 23:04:24.000000000 +0300
@@ -1 +1 @@
-usr/lib/*.so.* usr/lib
+usr/lib/*/*.so.*
diff -Nru armadillo-11.4.2+dfsg/debian/libarmadillo-dev.install armadillo-11.4.2+dfsg/debian/libarmadillo-dev.install
--- armadillo-11.4.2+dfsg/debian/libarmadillo-dev.install	2022-10-29 17:11:49.000000000 +0300
+++ armadillo-11.4.2+dfsg/debian/libarmadillo-dev.install	2024-02-14 23:06:47.000000000 +0300
@@ -1,3 +1,4 @@
 usr/include/* usr/include
-usr/lib/lib*.so usr/lib
+usr/lib/*/lib*.so
+usr/lib/*/pkgconfig/*
 usr/share/Armadillo/CMake/*.cmake usr/share/doc/libarmadillo-dev
diff -Nru armadillo-11.4.2+dfsg/debian/rules armadillo-11.4.2+dfsg/debian/rules
--- armadillo-11.4.2+dfsg/debian/rules	2022-10-29 17:11:49.000000000 +0300
+++ armadillo-11.4.2+dfsg/debian/rules	2024-02-14 23:06:47.000000000 +0300
@@ -13,7 +13,7 @@
 
 build-stamp:
 	dh_testdir
-	dh_auto_configure --buildsystem=cmake --builddirectory=. -- -D INSTALL_LIB_DIR=lib -D CMAKE_INpppSTALL_PREFIX_INITIALIZED_TO_DEFAULT:BOOL=ON  . # specified to install to the debian/tmp directory.
+	dh_auto_configure --buildsystem=cmake --builddirectory=. -- -D INSTALL_LIB_DIR=lib/${DEB_HOST_MULTIARCH} -D CMAKE_INpppSTALL_PREFIX_INITIALIZED_TO_DEFAULT:BOOL=ON  . # specified to install to the debian/tmp directory.
 	$(MAKE)
 	touch $@
 
@@ -45,8 +45,6 @@
 	dh_installdocs -a
 	dh_installexamples -a
 	dh_install -a --sourcedir=debian/tmp
-	mkdir -p debian/libarmadillo-dev/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/
-	cp debian/tmp/usr/lib/pkgconfig/armadillo.pc debian/libarmadillo-dev/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/
 	dh_installman -a
 	dh_link -a
 	dh_strip -a


More information about the debian-science-maintainers mailing list