Source: libxcrypt
Version: 1:4.4.27-1.1
Tags: patch
User: helm...@debian.org
Usertags: rebootstrap
X-Debbugs-Cc: Reiner Herrmann <rei...@reiner-h.de>

Hi,

do you remember #947193? It was about musl and libxcrypt agreeing on who
provides crypt functionality on musl. At that time, we settled on
libxcrypt and Reiner made the musl packages exclude crypt functionality.
What we didn't do back then was add the relevant bits to libxcrypt.

So here goes a patch that makes libxcrypt build for musl-linux-any.

Helmut
diff --minimal -Nru libxcrypt-4.4.27/debian/changelog 
libxcrypt-4.4.27/debian/changelog
--- libxcrypt-4.4.27/debian/changelog   2022-01-14 20:10:07.000000000 +0100
+++ libxcrypt-4.4.27/debian/changelog   2022-01-20 16:32:40.000000000 +0100
@@ -1,3 +1,10 @@
+libxcrypt (1:4.4.27-1.2) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Enable building for musl-linux-any. (Closes: #-1)
+
+ -- Helmut Grohne <hel...@subdivi.de>  Thu, 20 Jan 2022 16:32:40 +0100
+
 libxcrypt (1:4.4.27-1.1) unstable; urgency=medium
 
   * Non-maintainer upload.
diff --minimal -Nru libxcrypt-4.4.27/debian/control 
libxcrypt-4.4.27/debian/control
--- libxcrypt-4.4.27/debian/control     2021-12-17 22:55:02.000000000 +0100
+++ libxcrypt-4.4.27/debian/control     2022-01-20 16:32:29.000000000 +0100
@@ -11,7 +11,7 @@
 
 Package: libcrypt1
 Section: libs
-Architecture: any
+Architecture: gnu-any-any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
@@ -30,12 +30,29 @@
  It provides the traditional Unix 'crypt' and 'crypt_r' interfaces,
  as well as a set of extended interfaces like 'crypt_gensalt'.
 
+Package: libcrypt2
+Section: libs
+Architecture: musl-any-any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Breaks: musl (<< 1:4.4.27-1.2~)
+Replaces: musl (<< 1:4.4.27-1.2~)
+XB-Important: yes
+Protected: yes
+Description: libcrypt shared library
+ libxcrypt is a modern library for one-way hashing of passwords.
+ It supports DES, MD5, NTHASH, SUNMD5, SHA-2-256, SHA-2-512, and
+ bcrypt-based password hashes
+ It provides the traditional Unix 'crypt' and 'crypt_r' interfaces,
+ as well as a set of extended interfaces like 'crypt_gensalt'.
+
 Package: libcrypt-dev
 Section: libdevel
 Architecture: any
 Multi-Arch: same
 Depends: ${shlibs:Depends}, ${misc:Depends}, ${LIBPKG} (= ${binary:Version})
-Provides: libcrypt1-dev
+Provides: ${LIBPKG}-dev
 Conflicts: libcrypt1-dev, libcrypt2-dev
 Breaks:
  libc6-dev (<< 2.29-4),
@@ -43,6 +60,7 @@
  libc0.1-dev (<< 2.29-4) [kfreebsd-amd64 kfreebsd-i386],
  libc0.3-dev (<< 2.29-4) [hurd-i386],
  manpages-dev (<< 5.01-1),
+ musl-dev (<< 1:4.4.27-1.2~) [musl-linux-any],
 Replaces:
  libcrypt1-dev, libcrypt2-dev,
  libc6-dev (<< 2.29-4),
@@ -50,6 +68,7 @@
  libc0.1-dev (<< 2.29-4) [kfreebsd-amd64 kfreebsd-i386],
  libc0.3-dev (<< 2.29-4) [hurd-i386],
  manpages-dev (<< 5.01-1),
+ musl-dev (<< 1:4.4.27-1.2~) [musl-linux-any],
 Description: libcrypt development files
  This package contains the files needed for developing applications that
  use libcrypt.
@@ -57,7 +76,7 @@
 Package: libcrypt1-udeb
 Package-Type: udeb
 Section: debian-installer
-Architecture: any
+Architecture: gnu-any-any
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}
 Description: libcrypt shared library
diff --minimal -Nru libxcrypt-4.4.27/debian/libcrypt2.symbols 
libxcrypt-4.4.27/debian/libcrypt2.symbols
--- libxcrypt-4.4.27/debian/libcrypt2.symbols   2021-12-17 22:55:02.000000000 
+0100
+++ libxcrypt-4.4.27/debian/libcrypt2.symbols   2022-01-20 16:32:29.000000000 
+0100
@@ -4,7 +4,6 @@
  XCRYPT_4.4@XCRYPT_4.4 1:4.4.0
  crypt@XCRYPT_2.0 1:4.1.0
  crypt_checksalt@XCRYPT_4.3 1:4.3.0
- crypt_gensalt_r@XCRYPT_2.0 1:4.3.4
  crypt_gensalt@XCRYPT_2.0 1:4.1.0
  crypt_gensalt_ra@XCRYPT_2.0 1:4.1.0
  crypt_gensalt_rn@XCRYPT_2.0 1:4.1.0
@@ -12,7 +11,3 @@
  crypt_r@XCRYPT_2.0 1:4.1.0
  crypt_ra@XCRYPT_2.0 1:4.1.0
  crypt_rn@XCRYPT_2.0 1:4.1.0
- xcrypt@XCRYPT_2.0 1:4.3.4
- xcrypt_gensalt@XCRYPT_2.0 1:4.3.4
- xcrypt_gensalt_r@XCRYPT_2.0 1:4.3.4
- xcrypt_r@XCRYPT_2.0 1:4.3.4
diff --minimal -Nru libxcrypt-4.4.27/debian/rules libxcrypt-4.4.27/debian/rules
--- libxcrypt-4.4.27/debian/rules       2022-01-14 20:04:09.000000000 +0100
+++ libxcrypt-4.4.27/debian/rules       2022-01-20 16:32:29.000000000 +0100
@@ -30,7 +30,8 @@
 DS  := $(CURDIR)/debian/libxcrypt-source
 
 CONFFLAGS = --disable-werror --prefix=/usr \
-  --disable-xcrypt-compat-files --enable-obsolete-api=glibc
+  --disable-xcrypt-compat-files --enable-obsolete-api=glibc \
+  --includedir=/usr/include/$(DEB_HOST_MULTIARCH)
 CONFFLAGS_deb  = $(CONFFLAGS) \
   $(shell DEB_BUILD_MAINT_OPTIONS="hardening=+bindnow" \
     dpkg-buildflags --export=configure || true) \

Reply via email to