[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: