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)

Reply via email to