Bug#1063999: libhdf4-0-alt: is not multi-arch compatible

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


Package: libhdf4-0-alt
Version: 4.2.15-5
Severity: normal
Tags: patch
X-Debbugs-Cc: yumkam+debian at gmail.com

Dear Maintainer,

libhdf4 is dependency of libgdal32 and indirect dependency of opencv.
Lack of Multi-Arch compatibility prevents co-installation of libraries
on M-A systems.
*-dev packages looks not M-A compatible due to include/hdf/h4config.h, and
was not priority for me.
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.

Patch for 4.2.16-3 is not tested at all.

-- 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 libhdf4-0-alt depends on:
ii  libc6            2.36-9+deb12u4
ii  libjpeg62-turbo  1:2.1.5-2
ii  libtirpc3        1.3.3+ds-1
ii  zlib1g           1:1.2.13.dfsg-1

libhdf4-0-alt recommends no packages.

Versions of packages libhdf4-0-alt suggests:
pn  hdf4-tools       <none>
pn  libhdf4-alt-dev  <none>
pn  libhdf4-doc      <none>

-- no debconf information
-------------- next part --------------
Note: debhelper bump required for substitutions in *.install

diff -Nru libhdf4-4.2.15/debian/changelog libhdf4-4.2.15/debian/changelog
--- libhdf4-4.2.15/debian/changelog	2022-12-01 13:28:15.000000000 +0300
+++ libhdf4-4.2.15/debian/changelog	2024-02-14 23:18:22.000000000 +0300
@@ -1,3 +1,11 @@
+libhdf4 (4.2.15-5.1~local1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix Multi-Arch.
+    - Bump compat to 13.
+
+ -- Yuriy M. Kaminskiy <yumkam+debian at gmail.com>  Wed, 14 Feb 2024 23:18:22 +0300
+
 libhdf4 (4.2.15-5) unstable; urgency=medium
 
   * Team upload.
diff -Nru libhdf4-4.2.15/debian/control libhdf4-4.2.15/debian/control
--- libhdf4-4.2.15/debian/control	2022-11-27 20:47:57.000000000 +0300
+++ libhdf4-4.2.15/debian/control	2024-02-14 23:18:22.000000000 +0300
@@ -4,7 +4,7 @@
            Johan Van de Wauw <johan at gisky.be>
 Section: graphics
 Priority: optional
-Build-Depends: debhelper-compat (= 12),
+Build-Depends: debhelper-compat (= 13),
                bison,
                chrpath,
                flex,
@@ -21,6 +21,7 @@
 
 Package: libhdf4-0
 Architecture: any
+Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
@@ -62,6 +63,7 @@
 
 Package: libhdf4-0-alt
 Architecture: any
+Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
@@ -128,6 +130,7 @@
 
 Package: hdf4-tools
 Architecture: any
+Multi-Arch: foreign
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
diff -Nru libhdf4-4.2.15/debian/control.in libhdf4-4.2.15/debian/control.in
--- libhdf4-4.2.15/debian/control.in	2022-11-27 20:48:02.000000000 +0300
+++ libhdf4-4.2.15/debian/control.in	2024-02-14 23:18:22.000000000 +0300
@@ -4,7 +4,7 @@
            Johan Van de Wauw <johan at gisky.be>
 Section: graphics
 Priority: optional
-Build-Depends: debhelper-compat (= 12),
+Build-Depends: debhelper-compat (= 13),
                bison,
                chrpath,
                flex,
@@ -21,6 +21,7 @@
 
 Package: @PACKAGE at -@SOVER@
 Architecture: any
+Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
@@ -62,6 +63,7 @@
 
 Package: @PACKAGE at -@SOVER at -alt
 Architecture: any
+Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
@@ -128,6 +130,7 @@
 
 Package: hdf4-tools
 Architecture: any
+Multi-Arch: foreign
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
diff -Nru libhdf4-4.2.15/debian/libhdf4-0-alt.install libhdf4-4.2.15/debian/libhdf4-0-alt.install
--- libhdf4-4.2.15/debian/libhdf4-0-alt.install	2021-09-14 18:02:36.000000000 +0300
+++ libhdf4-4.2.15/debian/libhdf4-0-alt.install	2024-02-14 23:18:22.000000000 +0300
@@ -1 +1 @@
-usr/lib-alt/lib*.so.0* usr/lib
+usr/lib-alt/${DEB_HOST_MULTIARCH}/lib*.so.0* usr/lib/${DEB_HOST_MULTIARCH}
diff -Nru libhdf4-4.2.15/debian/libhdf4-0.install libhdf4-4.2.15/debian/libhdf4-0.install
--- libhdf4-4.2.15/debian/libhdf4-0.install	2021-09-14 18:02:36.000000000 +0300
+++ libhdf4-4.2.15/debian/libhdf4-0.install	2024-02-14 23:18:22.000000000 +0300
@@ -1 +1 @@
-usr/lib/lib*.so.0*
+usr/lib/*/lib*.so.0*
diff -Nru libhdf4-4.2.15/debian/libhdf4-alt-dev.install libhdf4-4.2.15/debian/libhdf4-alt-dev.install
--- libhdf4-4.2.15/debian/libhdf4-alt-dev.install	2021-09-14 18:02:36.000000000 +0300
+++ libhdf4-4.2.15/debian/libhdf4-alt-dev.install	2024-02-14 23:18:22.000000000 +0300
@@ -1,6 +1,6 @@
-usr/lib-alt/lib*.a        usr/lib
-usr/lib-alt/lib*.la       usr/lib
-usr/lib-alt/lib*.settings usr/lib
-usr/lib-alt/lib*.so       usr/lib
+usr/lib-alt/${DEB_HOST_MULTIARCH}/lib*.a        usr/lib/${DEB_HOST_MULTIARCH}
+usr/lib-alt/${DEB_HOST_MULTIARCH}/lib*.la       usr/lib/${DEB_HOST_MULTIARCH}
+usr/lib-alt/${DEB_HOST_MULTIARCH}/lib*.settings usr/lib/${DEB_HOST_MULTIARCH}
+usr/lib-alt/${DEB_HOST_MULTIARCH}/lib*.so       usr/lib/${DEB_HOST_MULTIARCH}
 usr/include-alt/hdf       usr/include
 usr/share/man/man3
diff -Nru libhdf4-4.2.15/debian/libhdf4-dev.install libhdf4-4.2.15/debian/libhdf4-dev.install
--- libhdf4-4.2.15/debian/libhdf4-dev.install	2021-09-14 18:02:36.000000000 +0300
+++ libhdf4-4.2.15/debian/libhdf4-dev.install	2024-02-14 23:18:22.000000000 +0300
@@ -1,6 +1,6 @@
-usr/lib/lib*.a
-usr/lib/lib*.la
-usr/lib/lib*.settings
-usr/lib/lib*.so
+usr/lib/*/lib*.a
+usr/lib/*/lib*.la
+usr/lib/*/lib*.settings
+usr/lib/*/lib*.so
 usr/include/hdf
 usr/share/man/man3
diff -Nru libhdf4-4.2.15/debian/rules libhdf4-4.2.15/debian/rules
--- libhdf4-4.2.15/debian/rules	2022-11-27 22:17:35.000000000 +0300
+++ libhdf4-4.2.15/debian/rules	2024-02-14 23:18:22.000000000 +0300
@@ -88,7 +88,7 @@
 	                  --builddirectory=debian/build-hdf4 \
 	                  -- --prefix=/usr \
 	                     --includedir=/usr/include/hdf \
-	                     --libdir=/usr/lib \
+	                     --libdir=/usr/lib/${DEB_HOST_MULTIARCH} \
 	                     --enable-shared \
 	                     --enable-fortran \
 	                     --with-szlib=yes \
@@ -100,7 +100,7 @@
 	                  --builddirectory=debian/build-hdf4-alt \
 	                  -- --prefix=/usr \
 	                     --includedir=/usr/include/hdf \
-	                     --libdir=/usr/lib \
+	                     --libdir=/usr/lib/${DEB_HOST_MULTIARCH} \
 	                     --enable-shared \
 	                     --disable-fortran \
 	                     --disable-netcdf \
@@ -165,12 +165,12 @@
 	mv $(DESTDIR)/usr/share/hdf4_examples $(DESTDIR)/usr/share/doc/$(PACKAGE)-doc/examples
 	
 	# strip rpath into binaries and libraries	
-	for obj in $(DESTDIR)/usr/bin/* $(DESTDIR)/usr/lib/*.so.* $(DESTDIR)/usr/lib-alt/*.so.*; do \
+	for obj in $(DESTDIR)/usr/bin/* $(DESTDIR)/usr/lib/${DEB_HOST_MULTIARCH}/*.so.* $(DESTDIR)/usr/lib-alt/${DEB_HOST_MULTIARCH}/*.so.*; do \
 		chrpath -d $${obj} || true; \
 	done
 
 	# Empty out the dependency field in our .la files
-	for file in $(DESTDIR)/usr/lib/*.la $(DESTDIR)/usr/lib-alt/*.la; do \
+	for file in $(DESTDIR)/usr/lib/${DEB_HOST_MULTIARCH}/*.la $(DESTDIR)/usr/lib-alt/${DEB_HOST_MULTIARCH}/*.la; do \
 		sed -i -e "/dependency_libs/ s/'.*'/''/" $$file ; \
 	done
 
-------------- next part --------------
diff -Nru libhdf4-4.2.16/debian/changelog libhdf4-4.2.16/debian/changelog
--- libhdf4-4.2.16/debian/changelog	2023-06-13 23:44:59.000000000 +0300
+++ libhdf4-4.2.16/debian/changelog	2024-02-15 15:35:35.000000000 +0300
@@ -1,3 +1,10 @@
+libhdf4 (4.2.16-3.1~local1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix multi-arch.
+
+ -- Yuriy M. Kaminskiy <yumkam+debian at gmail.com>  Thu, 15 Feb 2024 15:35:35 +0300
+
 libhdf4 (4.2.16-3) unstable; urgency=medium
 
   * Team upload.
diff -Nru libhdf4-4.2.16/debian/control libhdf4-4.2.16/debian/control
--- libhdf4-4.2.16/debian/control	2023-06-13 23:36:27.000000000 +0300
+++ libhdf4-4.2.16/debian/control	2024-02-15 15:35:17.000000000 +0300
@@ -21,6 +21,7 @@
 
 Package: libhdf4-0
 Architecture: any
+Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
@@ -62,6 +63,7 @@
 
 Package: libhdf4-0-alt
 Architecture: any
+Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
@@ -128,6 +130,7 @@
 
 Package: hdf4-tools
 Architecture: any
+Multi-Arch: foreign
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
diff -Nru libhdf4-4.2.16/debian/control.in libhdf4-4.2.16/debian/control.in
--- libhdf4-4.2.16/debian/control.in	2023-06-13 23:36:27.000000000 +0300
+++ libhdf4-4.2.16/debian/control.in	2024-02-15 15:33:25.000000000 +0300
@@ -21,6 +21,7 @@
 
 Package: @PACKAGE at -@SOVER@
 Architecture: any
+Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
@@ -62,6 +63,7 @@
 
 Package: @PACKAGE at -@SOVER at -alt
 Architecture: any
+Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
@@ -128,6 +130,7 @@
 
 Package: hdf4-tools
 Architecture: any
+Multi-Arch: foreign
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
diff -Nru libhdf4-4.2.16/debian/libhdf4-0-alt.install libhdf4-4.2.16/debian/libhdf4-0-alt.install
--- libhdf4-4.2.16/debian/libhdf4-0-alt.install	2023-06-13 23:36:27.000000000 +0300
+++ libhdf4-4.2.16/debian/libhdf4-0-alt.install	2024-02-15 15:33:25.000000000 +0300
@@ -1 +1 @@
-usr/lib-alt/lib*.so.0* usr/lib
+usr/lib-alt/${DEB_HOST_MULTIARCH}/lib*.so.0* usr/lib/${DEB_HOST_MULTIARCH}
diff -Nru libhdf4-4.2.16/debian/libhdf4-0.install libhdf4-4.2.16/debian/libhdf4-0.install
--- libhdf4-4.2.16/debian/libhdf4-0.install	2023-06-13 23:36:27.000000000 +0300
+++ libhdf4-4.2.16/debian/libhdf4-0.install	2024-02-15 15:33:25.000000000 +0300
@@ -1 +1 @@
-usr/lib/lib*.so.0*
+usr/lib/*/lib*.so.0*
diff -Nru libhdf4-4.2.16/debian/libhdf4-alt-dev.install libhdf4-4.2.16/debian/libhdf4-alt-dev.install
--- libhdf4-4.2.16/debian/libhdf4-alt-dev.install	2023-06-13 23:36:27.000000000 +0300
+++ libhdf4-4.2.16/debian/libhdf4-alt-dev.install	2024-02-15 15:33:25.000000000 +0300
@@ -1,6 +1,6 @@
-usr/lib-alt/lib*.a        usr/lib
-usr/lib-alt/lib*.la       usr/lib
-usr/lib-alt/lib*.settings usr/lib
-usr/lib-alt/lib*.so       usr/lib
+usr/lib-alt/${DEB_HOST_MULTIARCH}/lib*.a        usr/lib/${DEB_HOST_MULTIARCH}
+usr/lib-alt/${DEB_HOST_MULTIARCH}/lib*.la       usr/lib/${DEB_HOST_MULTIARCH}
+usr/lib-alt/${DEB_HOST_MULTIARCH}/lib*.settings usr/lib/${DEB_HOST_MULTIARCH}
+usr/lib-alt/${DEB_HOST_MULTIARCH}/lib*.so       usr/lib/${DEB_HOST_MULTIARCH}
 usr/include-alt/hdf       usr/include
 usr/share/man/man3
diff -Nru libhdf4-4.2.16/debian/libhdf4-dev.install libhdf4-4.2.16/debian/libhdf4-dev.install
--- libhdf4-4.2.16/debian/libhdf4-dev.install	2023-06-13 23:36:27.000000000 +0300
+++ libhdf4-4.2.16/debian/libhdf4-dev.install	2024-02-15 15:33:25.000000000 +0300
@@ -1,6 +1,6 @@
-usr/lib/lib*.a
-usr/lib/lib*.la
-usr/lib/lib*.settings
-usr/lib/lib*.so
+usr/lib/*/lib*.a
+usr/lib/*/lib*.la
+usr/lib/*/lib*.settings
+usr/lib/*/lib*.so
 usr/include/hdf
 usr/share/man/man3
diff -Nru libhdf4-4.2.16/debian/rules libhdf4-4.2.16/debian/rules
--- libhdf4-4.2.16/debian/rules	2023-06-13 23:36:27.000000000 +0300
+++ libhdf4-4.2.16/debian/rules	2024-02-15 15:33:25.000000000 +0300
@@ -82,7 +82,7 @@
 	                  --builddirectory=debian/build-hdf4 \
 	                  -- --prefix=/usr \
 	                     --includedir=/usr/include/hdf \
-	                     --libdir=/usr/lib \
+	                     --libdir=/usr/lib/${DEB_HOST_MULTIARCH} \
 	                     --enable-shared \
 	                     --enable-fortran \
 	                     --with-szlib=yes \
@@ -94,7 +94,7 @@
 	                  --builddirectory=debian/build-hdf4-alt \
 	                  -- --prefix=/usr \
 	                     --includedir=/usr/include/hdf \
-	                     --libdir=/usr/lib \
+	                     --libdir=/usr/lib/${DEB_HOST_MULTIARCH} \
 	                     --enable-shared \
 	                     --disable-fortran \
 	                     --disable-netcdf \
@@ -173,12 +173,12 @@
 	mv $(DESTDIR)/usr/share/hdf4_examples $(DESTDIR)/usr/share/doc/$(PACKAGE)-doc/examples
 	
 	# strip rpath into binaries and libraries	
-	for obj in $(DESTDIR)/usr/bin/* $(DESTDIR)/usr/lib/*.so.* $(DESTDIR)/usr/lib-alt/*.so.*; do \
+	for obj in $(DESTDIR)/usr/bin/* $(DESTDIR)/usr/lib/${DEB_HOST_MULTIARCH}/*.so.* $(DESTDIR)/usr/lib-alt/${DEB_HOST_MULTIARCH}/*.so.*; do \
 		chrpath -d $${obj} || true; \
 	done
 
 	# Empty out the dependency field in our .la files
-	for file in $(DESTDIR)/usr/lib/*.la $(DESTDIR)/usr/lib-alt/*.la; do \
+	for file in $(DESTDIR)/usr/lib/${DEB_HOST_MULTIARCH}/*.la $(DESTDIR)/usr/lib-alt/${DEB_HOST_MULTIARCH}/*.la; do \
 		sed -i -e "/dependency_libs/ s/'.*'/''/" $$file ; \
 	done
 


More information about the Pkg-grass-devel mailing list