Source: libxcrypt
Version: 1:4.4.28-2
Severity: wishlist
Tags: patch
X-Debbugs-Cc: Helmut Grohne <[email protected]>

Hi,

After my yesterday’s upload of pkgconf replacing pkg-config, Helmut was
fighting a dependency cycle in rebootstrap:

> there is an unforseen complication with pkgconf. libxcrypt-dev is "very 
> build-essential"
> and must be built very early. unfortunately, libxcrypt b-d pkg-config
<...>
> pkgconf implicitly Build-Depends on libc-dev, libc-dev is Provided by 
> lib6-dev, libc6-dev
> Depends: libcrypt-dev, libcrypt-dev is built from libxcrypt, libxcrypt 
> Build-Depends:
> pkg-config, pkg-config is built from pkgconf

Having looked at libxcrypt’s configure.ac, I found that it only uses
pkg-config’s m4 script in one place, and ships a replacement compat
macro to use when it’s not present. Indeed, building libxcrypt without
pkg-config doesn’t result in a failure, and everything seems in order
except an error message:

    ...
    checking whether the compiler supports GNU C... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to enable C11 features... none needed
    checking whether gcc understands -c and -o together... yes
    checking whether make supports the include directive... yes (GNU style)
    checking dependency style of gcc... none
    ../configure: line 4699: PKG_PROG_PKG_CONFIG: command not found
    ../configure: line 4700: --atleast-pkgconfig-version: command not found
    checking how to run the C preprocessor... gcc -E
    checking whether make sets $(MAKE)... (cached) yes

The -dev binary package ships pkg-config files in the right place:

    drwxr-xr-x root/root         0 2022-11-02 22:13 ./usr/lib/x86_64-linux-gnu/
    -rw-r--r-- root/root    269012 2022-11-02 22:13 
./usr/lib/x86_64-linux-gnu/libcrypt.a
    lrwxrwxrwx root/root         0 2022-11-02 22:13 
./usr/lib/x86_64-linux-gnu/libcrypt.so -> /lib/x86_64-linux-gnu/libcrypt.so.1
    drwxr-xr-x root/root         0 2022-11-02 22:13 
./usr/lib/x86_64-linux-gnu/pkgconfig/
    lrwxrwxrwx root/root         0 2022-11-02 22:13 
./usr/lib/x86_64-linux-gnu/pkgconfig/libcrypt.pc -> libxcrypt.pc
    -rw-r--r-- root/root       389 2022-11-02 22:13 
./usr/lib/x86_64-linux-gnu/pkgconfig/libxcrypt.pc

Please consider applying the following patch to make this a build
profile:

diff --git a/debian/control b/debian/control
index 622438845ba6..da34259abd14 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,8 @@ Section: admin
 Priority: optional
 Maintainer: Marco d'Itri <[email protected]>
 Build-Depends: debhelper-compat (= 13),
-  autoconf, automake, libtool, pkg-config,
+  autoconf, automake, libtool,
+  pkg-config <!pkg.libxcrypt.nopkgconfig>,
 Standards-Version: 4.6.1.1
 Rules-Requires-Root: no
 Vcs-Git: https://salsa.debian.org/md/libxcrypt.git

Thanks.

-- 
Cheers,
  Andrej

Reply via email to