Control: tag -1 patch

Cyril Brulebois <[email protected]> (2026-03-28):
> Let's look at the dependencies at the ELF level:
> 
>     (unstable-amd64-devel)kibi@tokyo:/tmp/zlib-1.3.dfsg+really1.3.2$ objdump 
> -x debian/zlib1g-udeb/usr/lib/libminizip.so.1.0.0|grep NEEDED
>       NEEDED               libz.so.1
>       NEEDED               libc.so.6
>     (unstable-amd64-devel)kibi@tokyo:/tmp/zlib-1.3.dfsg+really1.3.2$ objdump 
> -x debian/zlib1g-udeb/usr/lib/libz.so.1.3.2|grep NEEDED
>       NEEDED               libc.so.6
> 
> I think there might be some confusion going on because of the duality of
> “libz 1” entries:
> 
>     (unstable-amd64-devel)kibi@tokyo:/tmp/zlib-1.3.dfsg+really1.3.2$ cat 
> debian/lib32z1/DEBIAN/shlibs 
>     libz 1 lib32z1 (>= 1:1.2.3.3.dfsg-1)
> 
>     (unstable-amd64-devel)kibi@tokyo:/tmp/zlib-1.3.dfsg+really1.3.2$ cat 
> debian/zlib1g/DEBIAN/shlibs 
>     libz 1 zlib1g (>= 1:1.2.3.3.dfsg-1)
>     udeb: libz 1 zlib1g-udeb (>= 1:1.2.3.3.dfsg-1)
> 
> I suppose the first one gets picked up (which is arch-specific, and
> doesn't feature a udeb line) instead of the second one (which is
> generic and is desired in this case). I'm not sure how to best solve
> this.

Since the architecture-specific lib32z1, lib64z1, and libn32z1 packages
are basically “alternatives” to zlib1g, I suppose we could game the
system and add --add-udeb=zlib1g-udeb on their dh_makeshlibs call. It
doesn't look or feel clean to me, but it'd be an obvious and direct
improvement over the current situation.

In the amd64 case, the above shlibs becomes:

    (unstable-amd64-devel)kibi@tokyo:/tmp/zlib-1.3.dfsg+really1.3.2$ cat 
./debian/lib32z1/DEBIAN/shlibs
    libz 1 lib32z1 (>= 1:1.2.3.3.dfsg-1)
    udeb: libz 1 zlib1g-udeb (>= 1:1.2.3.3.dfsg-1)

and dependencies look better:

     Depends: libc6-udeb (>= 2.42)

Attached patch tested on amd64.


Cheers,
-- 
Cyril Brulebois ([email protected])            <https://debamax.com/>
D-I release manager -- Release team member -- Freelance Consultant
diff -Nru zlib-1.3.dfsg+really1.3.2/debian/changelog zlib-1.3.dfsg+really1.3.2/debian/changelog
--- zlib-1.3.dfsg+really1.3.2/debian/changelog	2026-03-24 02:05:33.000000000 +0100
+++ zlib-1.3.dfsg+really1.3.2/debian/changelog	2026-03-28 17:55:24.000000000 +0100
@@ -1,3 +1,11 @@
+zlib (1:1.3.dfsg+really1.3.2-2) UNRELEASED; urgency=medium
+
+  * Add --add-udeb=zlib1g-udeb to the dh_makeshlibs call for all
+    lib32z1, lib64z1, and libn32z1 packages, avoiding dependencies like
+    zlib1g-udeb → lib32z1 on amd64 (closes: #1132159).
+
+ -- Cyril Brulebois <[email protected]>  Sat, 28 Mar 2026 17:55:24 +0100
+
 zlib (1:1.3.dfsg+really1.3.2-1) unstable; urgency=low
 
   * New upstream release.
diff -Nru zlib-1.3.dfsg+really1.3.2/debian/control zlib-1.3.dfsg+really1.3.2/debian/control
--- zlib-1.3.dfsg+really1.3.2/debian/control	2026-03-24 02:05:33.000000000 +0100
+++ zlib-1.3.dfsg+really1.3.2/debian/control	2026-03-28 17:29:46.000000000 +0100
@@ -38,6 +38,7 @@
 Architecture: any
 Priority: optional
 Section: debian-installer
+Depends: ${shlibs:Depends}
 Description: compression library - runtime for Debian installer
  zlib is a library implementing the deflate compression method found
  in gzip and PKZIP.  This minimal package includes the shared library
diff -Nru zlib-1.3.dfsg+really1.3.2/debian/rules zlib-1.3.dfsg+really1.3.2/debian/rules
--- zlib-1.3.dfsg+really1.3.2/debian/rules	2026-03-24 02:05:33.000000000 +0100
+++ zlib-1.3.dfsg+really1.3.2/debian/rules	2026-03-28 17:51:17.000000000 +0100
@@ -207,13 +207,13 @@
 	dh_makeshlibs -pzlib1g -V"zlib1g (>= 1:1.2.3.3.dfsg-1)" --add-udeb=zlib1g-udeb
 ifeq (,$(filter nobiarch,$(DEB_BUILD_PROFILES)))
 ifneq (,$(filter $(DEB_HOST_ARCH), $(32-ARCHS)))
-	dh_makeshlibs -plib32z1 -V"lib32z1 (>= 1:1.2.3.3.dfsg-1)"
+	dh_makeshlibs -plib32z1 -V"lib32z1 (>= 1:1.2.3.3.dfsg-1)" --add-udeb=zlib1g-udeb
 endif
 ifneq (,$(filter $(DEB_HOST_ARCH), $(64-ARCHS)))
-	dh_makeshlibs -plib64z1 -V"lib64z1 (>= 1:1.2.3.3.dfsg-1)"
+	dh_makeshlibs -plib64z1 -V"lib64z1 (>= 1:1.2.3.3.dfsg-1)" --add-udeb=zlib1g-udeb
 endif
 ifneq (,$(filter $(DEB_HOST_ARCH), $(N32-ARCHS)))
-	dh_makeshlibs -plibn32z1 -V"libn32z1 (>= 1:1.2.3.3.dfsg-1)"
+	dh_makeshlibs -plibn32z1 -V"libn32z1 (>= 1:1.2.3.3.dfsg-1)" --add-udeb=zlib1g-udeb
 endif
 endif
 	dh_installdeb -a

Attachment: signature.asc
Description: PGP signature

Reply via email to