Bug#1066982: curl: please consider temporarily disabling LDAP and build-time tests on 32-bit non-x86
Source: curl
Version: 8.6.0-3.2
Severity: wishlist
X-Debbugs-Cc: debian-arm@lists.debian.org, ema@debian.org
Tags: trixie sid patch
Control: block -1 by 1066981
On the architectures affected by the 64-bit time_t transition, there
are at least two cyclic build-dependencies involving this package:
curl, openldap, cyrus-sasl2, postgresql-16, gdb, elfutils, curl and
curl, impacket, pyopenssl, python-cryptography, cargo, curl.
I think it could be pragmatic to disable build-time tests and LDAP on
the affected architectures for a short time in order to unblock this
transition: quite a lot of packages are queued for rebuilding behind
curl and/or cargo.
The attached patches (which are also available from
https://salsa.debian.org/debian/curl/-/merge_requests/24, and depend
on the build profile added in #1066981) implement what I'm
suggesting. I've confirmed that the package builds successfully with
this change in armel and armhf porterbox chroots, and that it still runs
build-time tests on amd64 and i386 (at the time of writing, my amd64
build has passed its tests and my i386 build is still running them).
Unlike #1066981, the patches attached to this bug are intended to be
temporary and should be reverted when the transition has finished.
Thanks,
smcv
>From bc8cd5d7a40c8acaf2c164c538b6c0b07f2d3dab Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@debian.org>
Date: Sat, 16 Mar 2024 11:36:05 +0000
Subject: [PATCH 2/3] Temporarily disable LDAP support on 32-bit non-x86
This makes official buildd builds of curl (with no special build
profiles) temporarily equivalent to pkg.curl.noldap on the
architectures affected by the ongoing 64-bit time_t transition.
This helps to break cyclic dependencies like this one:
curl, openldap, cyrus-sasl2, postgresql-16, gdb, elfutils, curl.
It can be reverted after the transition has progressed past curl.
Helps: #1036884
---
debian/control | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/debian/control b/debian/control
index ee188861b..fe6cf6881 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 <!pkg.curl.noldap>,
+ libldap2-dev [!armel !armhf !hppa !m68k !powerpc !sh4] <!pkg.curl.noldap>,
libnghttp2-dev,
libpsl-dev,
librtmp-dev,
--
2.43.0
>From c105fbbae946bae3c755d8f87d247a36d8d59d47 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@debian.org>
Date: Sat, 16 Mar 2024 11:34:46 +0000
Subject: [PATCH 3/3] Temporarily disable build-time tests on 32-bit non-x86
This makes official buildd builds of curl (with no special build profiles)
temporarily equivalent to nocheck on the architectures affected by the
ongoing 64-bit time_t transition.
This helps to break cyclic dependencies like this one:
curl, impacket, pyopenssl, python-cryptography, cargo, curl.
It can be reverted after the transition has progressed past curl.
Helps: #1036884
---
debian/control | 12 ++++++------
debian/rules | 4 ++++
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/debian/control b/debian/control
index fe6cf6881..35945dfcf 100644
--- a/debian/control
+++ b/debian/control
@@ -25,13 +25,13 @@ Build-Depends: dpkg-dev (>= 1.22.5),
libssl-dev,
libtool,
libzstd-dev,
- locales-all <!nocheck>,
- openssh-server <!nocheck>,
- python3:native <!nocheck>,
- python3-impacket <!nocheck>,
- gnutls-bin [!ppc64el] <!nocheck>,
+ locales-all [!armel !armhf !hppa !m68k !powerpc !sh4] <!nocheck>,
+ openssh-server [!armel !armhf !hppa !m68k !powerpc !sh4] <!nocheck>,
+ python3:native [!armel !armhf !hppa !m68k !powerpc !sh4] <!nocheck>,
+ python3-impacket [!armel !armhf !hppa !m68k !powerpc !sh4] <!nocheck>,
+ gnutls-bin [!armel !armhf !hppa !m68k !powerpc !sh4 !ppc64el] <!nocheck>,
quilt,
- stunnel4 <!nocheck>,
+ stunnel4 [!armel !armhf !hppa !m68k !powerpc !sh4] <!nocheck>,
zlib1g-dev,
Build-Conflicts: autoconf2.13, automake1.4
Standards-Version: 4.6.2
diff --git a/debian/rules b/debian/rules
index 3049d659d..f0ceec938 100755
--- a/debian/rules
+++ b/debian/rules
@@ -100,6 +100,9 @@ TESTS_GENERAL_PARAMETERS += $(TESTS_FAILS_ON_IPV6_ONLY_MACHINES)
override_dh_auto_test:
ifeq ($(filter nocheck,$(DEB_BUILD_PROFILES)),)
+ifeq ($(DEB_HOST_ARCH_BITS)$(filter i386,$(DEB_HOST_ARCH_CPU)),32)
+ : # TODO: Tests temporarily skipped for 64-bit time_t transition
+else
ifeq ($(filter pkg.curl.no-openssl,$(DEB_BUILD_PROFILES)),)
# OpenSSL tests.
cd debian/build && VERBOSE=1 \
@@ -113,6 +116,7 @@ ifeq ($(filter pkg.curl.no-gnutls,$(DEB_BUILD_PROFILES)),)
$(MAKE) test-nonflaky
endif
endif
+endif
override_dh_install:
ifeq ($(filter pkg.curl.no-openssl,$(DEB_BUILD_PROFILES)),)
--
2.43.0
Reply to: