Bug#1066847: openssh: please consider disabling ssh-askpass-gnome on 32-bit during the time_t transition

Simon McVittie <[email protected]>
Newsgroups gmane.linux.debian.devel.ssh
Message-ID <ZfLZn_D5EO2ol5_h__21488.7793337525$1710414583$gmane$org@tautology.pseudorandom.co.uk>
Source: openssh
Severity: wishlist
Tags: patch
X-Debbugs-Cc: [email protected]

On the architectures affected by the 64-bit time_t transition, there
is at least one cyclic build-dependency involving this package:
openssh-server, gtk+3.0, at-spi2-core, dbus-broker, systemd, cryptsetup,
libssh, openssh-server.

I've tried to break this cycle at at-spi2-core (#1066844) but that's going
to require additional changes in gtk+3.0, to disable its test suite (which
requires librsvg, which requires Rust, which needs re-bootstrapping)
on the affected architectures, and at this stage I'm unsure whether other
relevant cycles exist.

I think it would be pragmatic to disable ssh-askpass-gnome on the affected
architectures for the duration of this transition: it's a low-popcon
leaf package which is the only thing pulling in "heavy" dependencies
to openssh. I attach a possible patch. I've verified that it compiles
successfully in an armhf porterbox chroot (without ssh-askpass-gnome)
and on amd64 (with ssh-askpass-gnome), but I haven't otherwise tested it.

Thanks,
    smcv
0001-d-control-d-rules-Disable-ssh-askpass-gnome-on-32-bi.patch (text/x-diff, 2.2 KB)
>From bbefe785a6ab567677af77ccd12b1fbb59a42d8d Mon Sep 17 00:00:00 2001
From: Simon McVittie <[email protected]>
Date: Thu, 14 Mar 2024 10:48:03 +0000
Subject: [PATCH] d/control, d/rules: Disable ssh-askpass-gnome on 32-bit,
 except i386

On the architectures affected by the 64-bit time_t transition, there
is at least one cyclic build-dependency involving this package:
openssh-server, gtk+3.0, at-spi2-core, dbus-broker, systemd, cryptsetup,
libssh, openssh-server. Temporarily dropping a low-popcon binary package
that is already excludable by a build-profile seems like a convenient
place to break the cycle.

Closes: #-1
---
 debian/control | 2 +-
 debian/rules   | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index 0a785bcb2..38abe62ec 100644
--- a/debian/control
+++ b/debian/control
@@ -10,7 +10,7 @@ Build-Depends: debhelper (>= 13.1~),
                libaudit-dev [linux-any],
                libedit-dev,
                libfido2-dev (>= 1.5.0) [linux-any],
-               libgtk-3-dev <!pkg.openssh.nognome>,
+               libgtk-3-dev [!armel !armhf !hppa !m68k !powerpc !sh4] <!pkg.openssh.nognome>,
                libkrb5-dev | heimdal-dev,
                libpam0g-dev | libpam-dev,
                libselinux1-dev [linux-any],
diff --git a/debian/rules b/debian/rules
index fd9ab8d03..cd4c27b58 100755
--- a/debian/rules
+++ b/debian/rules
@@ -108,6 +108,10 @@ ifeq ($(shell dpkg-vendor --is Ubuntu && echo yes) $(DEB_HOST_ARCH), yes i386)
   BUILD_PACKAGES += -Nopenssh-tests
 endif
 
+ifeq ($(DEB_HOST_ARCH_BITS)$(filter i386,$(DEB_HOST_ARCH_CPU)),32)
+  BUILD_PACKAGES += -Nssh-askpass-gnome
+endif
+
 %:
 	dh $@ --with=runit $(BUILD_PACKAGES)
 
@@ -132,9 +136,11 @@ ifeq ($(filter noudeb,$(DEB_BUILD_PROFILES)),)
 	$(MAKE) -C debian/build-udeb $(PARALLEL) ASKPASS_PROGRAM='/usr/bin/ssh-askpass' ssh scp sftp sshd ssh-keygen
 endif
 
+ifneq ($(DEB_HOST_ARCH_BITS)$(filter i386,$(DEB_HOST_ARCH_CPU)),32)
 ifeq ($(filter pkg.openssh.nognome,$(DEB_BUILD_PROFILES)),)
 	$(MAKE) -C contrib gnome-ssh-askpass3 CC='$(CC) $(CPPFLAGS) $(CFLAGS) -Wall -Wl,--as-needed $(LDFLAGS)' PKG_CONFIG=$(PKG_CONFIG)
 endif
+endif
 
 override_dh_auto_build-indep:
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.