Bug#1066049: stunnel4: please consider temporarily disabling tests on arm to unblock the t64 transition

2024-03-13 Thread Emanuele Rocca
Hi!

On 2024-03-12 10:46, Simon McVittie wrote:
> I think this change might be a pragmatic way to shorten the critical
> path for the time64 transition.

The patch works fine indeed, and stunnel4 can be built successfully on
armhf with it. I agree that it should be applied.

It seems however that stunnel4 alone is unfortunately not sufficient to
build curl as hoped:

 sbuild --arch armhf --dist unstable curl --extra-package 
stunnel4_5.72-1.1_armhf.deb

 [...]

 libssh-4 : Depends: libssl3 (>= 3.0.0) but it is not installable
 openssh-client : Depends: libssl3 (>= 3.0.0) but it is not installable
 openssh-server : Depends: libcom-err2 (>= 1.43.9) but it is not installable
  Depends: libssl3 (>= 3.0.0) but it is not installable
 python3-cryptography : Depends: libssl3 (>= 3.0.0) but it is not installable
 sbuild-build-depends-main-dummy : Depends: libldap2-dev



Bug#1066049: stunnel4: please consider temporarily disabling tests on arm to unblock the t64 transition

2024-03-12 Thread Simon McVittie
On Mon, 11 Mar 2024 at 20:09:06 +, Simon McVittie wrote:
> Thanks for proposing this, but I think these should be ifneq instead
> of ifeq

Actually, this patch also still allowed dh_auto_test to run on the
time64-affected architectures, which would presumably fail because the
tests' dependencies weren't met.

I attach a tested patch based on Mattia's, also available from
. This seems
to have the desired results:

* amd64: tests are run, and pass; autopkgtests also pass
* i386: tests are run, and pass; autopkgtests still in progress at the
  time of writing
* armhf on a porterbox: tests are not run, package is buildable without
  having to wait for python3-cryptography

armhf and other affected architectures will still be tested via autopkgtest
after python3-cryptography becomes available.

I think this change might be a pragmatic way to shorten the critical
path for the time64 transition. Please consider applying it?

Thanks,
smcv
>From 93d5d5d18d916d7fda9dcd0298019f9e1c887133 Mon Sep 17 00:00:00 2001
From: Simon McVittie 
Date: Tue, 12 Mar 2024 10:26:49 +
Subject: [PATCH 1/2] Don't run build-time tests on the 32-bit non-i386
 architectures

This allows libcurl to be rebuilt on the architectures affected by the
64-bit time_t transition, which unblocks rebuilding of a lot of the
C/C++ ecosystem without having to wait for rustc/cargo to be
re-bootstrapped (#1065787).

Closes: #1066049
Co-authored-by: Mattia Rizzolo 
Signed-off-by: Simon McVittie 
---
 debian/control | 10 +-
 debian/rules   |  5 +
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/debian/control b/debian/control
index f32dc6f..f34acbd 100644
--- a/debian/control
+++ b/debian/control
@@ -10,13 +10,13 @@ Build-Depends:
  libssl-dev,
  libsystemd-dev [linux-any],
  libwrap0-dev,
- net-tools ,
- netcat-openbsd ,
+ net-tools [!armel !armhf !hppa !m68k !powerpc !sh4] ,
+ netcat-openbsd [!armel !armhf !hppa !m68k !powerpc !sh4] ,
  openssl,
  pkgconf,
- procps ,
- python3 ,
- python3-cryptography ,
+ procps [!armel !armhf !hppa !m68k !powerpc !sh4] ,
+ python3 [!armel !armhf !hppa !m68k !powerpc !sh4] ,
+ python3-cryptography [!armel !armhf !hppa !m68k !powerpc !sh4] ,
 Maintainer: Peter Pentchev 
 Uploaders: Laszlo Boszormenyi (GCS) 
 Standards-Version: 4.6.2
diff --git a/debian/rules b/debian/rules
index 8801c88..d022647 100755
--- a/debian/rules
+++ b/debian/rules
@@ -30,6 +30,10 @@ override_dh_auto_configure:
 	sleep 1
 	touch src/dhparam.c
 
+ifeq ($(DEB_HOST_ARCH_BITS)$(filter i386,$(DEB_HOST_ARCH_CPU)),32)
+override_dh_auto_test:
+	: # Tests temporarily skipped for 64-bit time_t transition
+else
 execute_before_dh_auto_test:
 	env PYTHONPATH='$(CURDIR)/debian/tests/python' \
 		python3 -B -u -m struntime \
@@ -42,6 +46,7 @@ override_dh_auto_test:
 		find tests/logs/ -type f -name '*.log' -exec grep -EHe '^' -- '{}' + 1>&2; \
 		false; \
 	}
+endif
 
 override_dh_auto_install:
 	dh_auto_install -- -C src
-- 
2.43.0

>From ca30697de1fd1f034947dff786cca0f897fc2f03 Mon Sep 17 00:00:00 2001
From: Simon McVittie 
Date: Tue, 12 Mar 2024 10:29:26 +
Subject: [PATCH 2/2] Update changelog

---
 debian/changelog | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 9f9ff57..90f0a3b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+stunnel4 (3:5.72-1.1) UNRELEASED; urgency=medium
+
+  * Don't run build-time tests on the 32-bit non-i386 architectures.
+This allows libcurl to be rebuilt on the architectures affected by the
+64-bit time_t transition, which unblocks rebuilding of a lot of the
+C/C++ ecosystem without having to wait for rustc/cargo to be
+re-bootstrapped (#1065787).
+Thanks to Mattia Rizzolo (Closes: #1066049)
+
+ -- Simon McVittie   Tue, 12 Mar 2024 10:28:55 +
+
 stunnel4 (3:5.72-1) unstable; urgency=medium
 
   * Minor improvements to the test suite for the autopkgtest suite:
-- 
2.43.0



Bug#1066049: stunnel4: please consider temporarily disabling tests on arm to unblock the t64 transition

2024-03-11 Thread Simon McVittie
On Mon, 11 Mar 2024 at 19:54:00 +0100, Mattia Rizzolo wrote:
> +ifeq ($(DEB_HOST_ARCH_BITS)$(filter i386,$(DEB_HOST_ARCH_CPU)),32)
>  execute_before_dh_auto_test:
>   env PYTHONPATH='$(CURDIR)/debian/tests/python' \
>   python3 -B -u -m struntime \
>   --certdir='$(CURDIR)/debian/tests/certs' \
>   --program='$(CURDIR)/src/stunnel'
> +endif
>  
> +ifeq ($(DEB_HOST_ARCH_BITS)$(filter i386,$(DEB_HOST_ARCH_CPU)),32)
>  override_dh_auto_test:
>   dh_auto_test || { \
>   printf '\n\n=== Some tests failed; here are all the 
> logs...\n\n' 1>&2; \
>   find tests/logs/ -type f -name '*.log' -exec grep -EHe '^' -- 
> '{}' + 1>&2; \
>   false; \
>   }
> +endif

Thanks for proposing this, but I think these should be ifneq instead
of ifeq: the current implementation looks like it's running tests on
exactly those architectures where you don't want to run tests :-)

The expression before the comma will expand to:

- 64: on amd64, arm64, s390x, etc. (we still want to run tests)
- 32: on armel, armhf, hppa, etc. (we don't want to run tests)
- 32i386: on i386 (we still want to run tests, because as a special
  exception, i386 does not get 64-bit time_t)

so we want to run the tests if it expands to anything other than 32.

The two if(n)eq..endif blocks could also be combined into one, to make
it more obvious that their condition is the same.

smcv



Bug#1066049: stunnel4: please consider temporarily disabling tests on arm to unblock the t64 transition

2024-03-11 Thread Mattia Rizzolo
Source: stunnel4
Version: 3:5.72-1
Severity: wishlist
Tags: patch

Hello Peter,

In #-devel a couple of us (not related to the people working on the t64
transition) thought it would be a good idea if stunnel4 could
temporarily disable tests on the involved architectures (all 32 bits
archs except i386).

rebuilds of stunnel4 are blocked being rebootstrapping rustc and cargo,
and stunnel is itself blocking libssl3 and everything under it from
progressing.
It feels like detaching stunnel from the rust world is an easy enough
pick to let everything else progress while somebody works on rust/cargo.


I'm attaching a patch that should do what I explained above, please
consider uploading it?

-- 
regards,
Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540  .''`.
More about me:  https://mapreri.org : :'  :
Launchpad user: https://launchpad.net/~mapreri  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-
diff --git a/debian/control b/debian/control
index f32dc6f..f34acbd 100644
--- a/debian/control
+++ b/debian/control
@@ -10,13 +10,13 @@ Build-Depends:
  libssl-dev,
  libsystemd-dev [linux-any],
  libwrap0-dev,
- net-tools ,
- netcat-openbsd ,
+ net-tools [!armel !armhf !hppa !m68k !powerpc !sh4] ,
+ netcat-openbsd [!armel !armhf !hppa !m68k !powerpc !sh4] ,
  openssl,
  pkgconf,
- procps ,
- python3 ,
- python3-cryptography ,
+ procps [!armel !armhf !hppa !m68k !powerpc !sh4] ,
+ python3 [!armel !armhf !hppa !m68k !powerpc !sh4] ,
+ python3-cryptography [!armel !armhf !hppa !m68k !powerpc !sh4] ,
 Maintainer: Peter Pentchev 
 Uploaders: Laszlo Boszormenyi (GCS) 
 Standards-Version: 4.6.2
diff --git a/debian/rules b/debian/rules
index 8801c88..0507219 100755
--- a/debian/rules
+++ b/debian/rules
@@ -30,18 +30,22 @@ override_dh_auto_configure:
 	sleep 1
 	touch src/dhparam.c
 
+ifeq ($(DEB_HOST_ARCH_BITS)$(filter i386,$(DEB_HOST_ARCH_CPU)),32)
 execute_before_dh_auto_test:
 	env PYTHONPATH='$(CURDIR)/debian/tests/python' \
 		python3 -B -u -m struntime \
 		--certdir='$(CURDIR)/debian/tests/certs' \
 		--program='$(CURDIR)/src/stunnel'
+endif
 
+ifeq ($(DEB_HOST_ARCH_BITS)$(filter i386,$(DEB_HOST_ARCH_CPU)),32)
 override_dh_auto_test:
 	dh_auto_test || { \
 		printf '\n\n=== Some tests failed; here are all the logs...\n\n' 1>&2; \
 		find tests/logs/ -type f -name '*.log' -exec grep -EHe '^' -- '{}' + 1>&2; \
 		false; \
 	}
+endif
 
 override_dh_auto_install:
 	dh_auto_install -- -C src


signature.asc
Description: PGP signature