Re: Bug#1132159: zlib1g-udeb has new depends (lib32z1)

Cyril Brulebois <[email protected]> Sat, 28 Mar 2026 17:59:30 +0100
Newsgroups gmane.linux.debian.ports.amd64,gmane.linux.debian.devel.boot
Organization Debian
Message-ID <[email protected]>
--p2oxgt7yd6ysdz4t
Content-Type: multipart/mixed; boundary="wj2eqbdjhgklflx6"
Content-Disposition: inline


--wj2eqbdjhgklflx6
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Control: tag -1 patch

Cyril Brulebois <[email protected]> (2026-03-28):
> Let's look at the dependencies at the ELF level:
>=20
>     (unstable-amd64-devel)kibi@tokyo:/tmp/zlib-1.3.dfsg+really1.3.2$ objd=
ump -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$ objd=
ump -x debian/zlib1g-udeb/usr/lib/libz.so.1.3.2|grep NEEDED
>       NEEDED               libc.so.6
>=20
> I think there might be some confusion going on because of the duality of
> =E2=80=9Clibz 1=E2=80=9D entries:
>=20
>     (unstable-amd64-devel)kibi@tokyo:/tmp/zlib-1.3.dfsg+really1.3.2$ cat =
debian/lib32z1/DEBIAN/shlibs=20
>     libz 1 lib32z1 (>=3D 1:1.2.3.3.dfsg-1)
>=20
>     (unstable-amd64-devel)kibi@tokyo:/tmp/zlib-1.3.dfsg+really1.3.2$ cat =
debian/zlib1g/DEBIAN/shlibs=20
>     libz 1 zlib1g (>=3D 1:1.2.3.3.dfsg-1)
>     udeb: libz 1 zlib1g-udeb (>=3D 1:1.2.3.3.dfsg-1)
>=20
> 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 =E2=80=9Calternatives=E2=80=9D to zlib1g, I suppose we could =
game the
system and add --add-udeb=3Dzlib1g-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 (>=3D 1:1.2.3.3.dfsg-1)
    udeb: libz 1 zlib1g-udeb (>=3D 1:1.2.3.3.dfsg-1)

and dependencies look better:

     Depends: libc6-udeb (>=3D 2.42)

Attached patch tested on amd64.


Cheers,
--=20
Cyril Brulebois ([email protected])            <https://debamax.com/>
D-I release manager -- Release team member -- Freelance Consultant

--wj2eqbdjhgklflx6
Content-Type: text/x-diff; charset=utf-8
Content-Disposition: attachment; filename="zlib+udeb.diff"
Content-Transfer-Encoding: quoted-printable

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.00000000=
0 +0100
+++ zlib-1.3.dfsg+really1.3.2/debian/changelog	2026-03-28 17:55:24.00000000=
0 +0100
@@ -1,3 +1,11 @@
+zlib (1:1.3.dfsg+really1.3.2-2) UNRELEASED; urgency=3Dmedium
+
+  * Add --add-udeb=3Dzlib1g-udeb to the dh_makeshlibs call for all
+    lib32z1, lib64z1, and libn32z1 packages, avoiding dependencies like
+    zlib1g-udeb =E2=86=92 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=3Dlow
=20
   * 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 +0=
100
+++ zlib-1.3.dfsg+really1.3.2/debian/rules	2026-03-28 17:51:17.000000000 +0=
100
@@ -207,13 +207,13 @@
 	dh_makeshlibs -pzlib1g -V"zlib1g (>=3D 1:1.2.3.3.dfsg-1)" --add-udeb=3Dzl=
ib1g-udeb
 ifeq (,$(filter nobiarch,$(DEB_BUILD_PROFILES)))
 ifneq (,$(filter $(DEB_HOST_ARCH), $(32-ARCHS)))
-	dh_makeshlibs -plib32z1 -V"lib32z1 (>=3D 1:1.2.3.3.dfsg-1)"
+	dh_makeshlibs -plib32z1 -V"lib32z1 (>=3D 1:1.2.3.3.dfsg-1)" --add-udeb=3D=
zlib1g-udeb
 endif
 ifneq (,$(filter $(DEB_HOST_ARCH), $(64-ARCHS)))
-	dh_makeshlibs -plib64z1 -V"lib64z1 (>=3D 1:1.2.3.3.dfsg-1)"
+	dh_makeshlibs -plib64z1 -V"lib64z1 (>=3D 1:1.2.3.3.dfsg-1)" --add-udeb=3D=
zlib1g-udeb
 endif
 ifneq (,$(filter $(DEB_HOST_ARCH), $(N32-ARCHS)))
-	dh_makeshlibs -plibn32z1 -V"libn32z1 (>=3D 1:1.2.3.3.dfsg-1)"
+	dh_makeshlibs -plibn32z1 -V"libn32z1 (>=3D 1:1.2.3.3.dfsg-1)" --add-udeb=
=3Dzlib1g-udeb
 endif
 endif
 	dh_installdeb -a

--wj2eqbdjhgklflx6--

--p2oxgt7yd6ysdz4t
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEtg6/KYRFPHDXTPR4/5FK8MKzVSAFAmnICPEACgkQ/5FK8MKz
VSBJ8RAAj7Ejm0ZdqRnvs7P4qAIolKFEVIjz3NDh7b/w1p7F5BdDsXfPRJw/3On3
tn0p2geyjsmfFtNZhGbVV2YUXng+74qEfDy2FQNBox4HWYp5v9GPBAXcX3FhswiC
Aembk+7+ePctjKlUi5l1xQpIi7of4hD5Gk3818DxnI8q14Xa21zdTRnr2TA6wjCv
4DnMEKMLMsq26SgDZgbfsP1mCpdfWQ490FAf2h49l/QH852XM4vkJM5Arod0D0+c
xY/C4IeoC0vboyVD5wcJfkqUvjkbRAJx+5R9g0GTUVwAbBp1ioCItV4ePiKNXsgi
YEW+DiRWSU+pcKv/y7te8pTWvsswRJFSh8BJ+D0XzFBqhjb8tUnyFYkgkjb0K+SG
Yp6RED8ofZJm2QvEgkihFXEelMpMzAXJsLdzir1jexRLOAJsZmE6T89+39tb5Rm/
K4OpOEHK4pTyjo4fkInRmj1FvsiPMZXTgVdHyfjhDl3mODg6KC1efvDAHr7UJszo
jDlbywF9i5Fs3P5xrs2UnN74fvRKTBPqSmn3xJ3HhJgHQlci70DASY+e85DC4dMY
9AmZG5hi6MhUFkHpx3yXzd0uh3hLo5yNO8LgOW+denutnxeReiegCIY15nEj55my
6kTE4lZuwdbGoFMI4sH5Da9ZO78SyZEfhcPND4f/X6VQ13DT4mQ=
=22Vd
-----END PGP SIGNATURE-----

--p2oxgt7yd6ysdz4t--