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

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: