Source: curl
Version: 8.6.0-3.2
Severity: wishlist
Tags: trixie sid patch
User: debian-cr...@lists.debian.org
Usertags: staged-build

curl is involved in the critical path for re-bootstrapping 32-bit
architectures for the time_t transition, and in general it's likely
to be tied up in bootstrapping of every other new architecture, because
important toolchain components like elfutils and cmake depend on it.
One thing that can easily be done to break some of the cycles is to
disable its optional support for openldap, which is involved in cycles like:
curl, openldap, cyrus-sasl2, postgresql-16, gdb, elfutils, curl.

The attached patch (also available from
https://salsa.debian.org/debian/curl/-/merge_requests/23)
adds a build-profile that disables this optional feature.

I've confirmed that in the current state of unstable, curl can be built
successfully in armel and armhf porterbox chroots with the combination of
this build profile and nocheck.

(An ulterior motive for me contributing this change is that in my
day job, I'm involved in maintaining the Debian-based Steam Runtime,
which contains a copy of curl with its packaging patched to disable
LDAP, RTSP, RTMP and possibly other features that are unlikely to be
used by game engines. When I'm back at work I'd be happy to look at
contributing similar build-profiles to disable other optional bits if
there is interest.)

    smcv
>From ae094c1e4b2b0ec943f39f2b6a6176091af20d33 Mon Sep 17 00:00:00 2001
From: Simon McVittie <s...@debian.org>
Date: Sat, 16 Mar 2024 11:26:58 +0000
Subject: [PATCH 1/3] d/control: Add a build-profile that disables LDAP support

openldap is involved in a cyclic build dependency
(curl, openldap, cyrus-sasl2, postgresql-16, gdb, elfutils, curl).
The ability to load LDAP resources is probably a relatively infrequently
used feature of curl, and is straightforward to disable.

Helps: #1036884
---
 debian/control | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index de9ac8f69..ee188861b 100644
--- a/debian/control
+++ b/debian/control
@@ -16,7 +16,7 @@ Build-Depends: dpkg-dev (>= 1.22.5),
  libgnutls28-dev,
  libidn2-dev,
  libkrb5-dev,
- libldap2-dev,
+ libldap2-dev <!pkg.curl.noldap>,
  libnghttp2-dev,
  libpsl-dev,
  librtmp-dev,
-- 
2.43.0

Reply via email to