Hi Marco, On Sun, Jul 03, 2022 at 02:37:27AM +0200, Marco d'Itri wrote: > I do not want to add any more complexity than what is strictly required > to support musl, which is not even a real port.
I note that this complexity is not due to musl. It is due to libcrypt2 regardless of the architecture. It just happens that musl is the first user of libcrypt2. If we later decide to transition existing architectures to libcrypt2, they'll be fully hit by this in the very same way. So keep in mind: If you move to libcrypt2 you have a choice of breaking multilib or multiarch or adding multlib packages. > If moving crypt.h to the multiarch path only when building with musl is > a solution then let's do that. I'm attaching a patch for your convenience, but I'd prefer understanding the actual problem before papering over it like this. Helmut
diff --minimal -Nru libxcrypt-4.4.28/debian/changelog libxcrypt-4.4.28/debian/changelog --- libxcrypt-4.4.28/debian/changelog 2022-06-30 00:45:46.000000000 +0200 +++ libxcrypt-4.4.28/debian/changelog 2022-07-03 08:23:18.000000000 +0200 @@ -1,3 +1,11 @@ +libxcrypt (1:4.4.28-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Ship crypt.h non-multiarch for obsolete-api builds to unbreak multilib. + (Closes: #1014114) + + -- Helmut Grohne <hel...@subdivi.de> Sun, 03 Jul 2022 08:23:18 +0200 + libxcrypt (1:4.4.28-1) unstable; urgency=medium [ Helmut Grohne ] diff --minimal -Nru libxcrypt-4.4.28/debian/rules libxcrypt-4.4.28/debian/rules --- libxcrypt-4.4.28/debian/rules 2022-06-30 00:44:22.000000000 +0200 +++ libxcrypt-4.4.28/debian/rules 2022-07-03 08:23:16.000000000 +0200 @@ -31,12 +31,13 @@ DS := $(CURDIR)/debian/libxcrypt-source CONFFLAGS = --disable-werror --prefix=/usr \ - --disable-xcrypt-compat-files --enable-obsolete-api=glibc \ - --includedir=/usr/include/$(DEB_HOST_MULTIARCH) -CONFFLAGS_deb = $(CONFFLAGS) \ + --disable-xcrypt-compat-files --enable-obsolete-api=glibc +CONFFLAGS_deb1 = $(CONFFLAGS) \ $(shell DEB_BUILD_MAINT_OPTIONS="hardening=+bindnow" \ dpkg-buildflags --export=configure || true) \ --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) +CONFFLAGS_deb2 = $(subst api=glibc,api=no,$(CONFFLAGS_deb1)) \ + --includedir=/usr/include/$(DEB_HOST_MULTIARCH) CONFFLAGS_udeb = $(CONFFLAGS) \ $(subst -O2,-Os -fomit-frame-pointer,$(shell DEB_BUILD_MAINT_OPTIONS="hardening=-all" \ dpkg-buildflags --export=configure || true)) \ @@ -51,11 +52,11 @@ dh_clean debian/copyright build-deb1/config.status: - dh_auto_configure --builddir=build-deb1 -- $(CONFFLAGS_deb) + dh_auto_configure --builddir=build-deb1 -- $(CONFFLAGS_deb1) sh debian/patch_libtool build-deb1 build-deb2/config.status: - dh_auto_configure --builddir=build-deb2 -- $(subst api=glibc,api=no,$(CONFFLAGS_deb)) + dh_auto_configure --builddir=build-deb2 -- $(CONFFLAGS_deb2) build-udeb/config.status: dh_auto_configure --builddir=build-udeb -- $(CONFFLAGS_udeb)