Bug#1066847: openssh: please consider disabling ssh-askpass-gnome on 32-bit during the time_t transition
Source: openssh
Severity: wishlist
Tags: patch
X-Debbugs-Cc: debian-arm@lists.debian.org
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
>From bbefe785a6ab567677af77ccd12b1fbb59a42d8d Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@debian.org>
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:
--
2.43.0
Reply to: