Your message dated Mon, 28 Apr 2025 16:34:17 +0000
with message-id <e1u9rqv-003nxg...@fasolo.debian.org>
and subject line Bug#1104210: fixed in gnupg2 2.4.7-17
has caused the Debian Bug report #1104210,
regarding gnupg2: libtss-dev build dependency significantly enlarges 
architecture cross bootstrap set
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1104210: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1104210
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: gnupg2
Version: 2.4.7-3
Severity: important
Justification: breaks architecture cross bootstrap
Tags: patch

gnupg2 recently gained a new dependency on libtss-dev. This in turn
pulls e.g. libftdi1-dev, which requires boost and numpy and stuff. There
is no chance we can make this all build. I looked into reducing
libftdi1 (#1104092), because most other things pulled actually do cross
build with little additional dependencies. However removing boost from
libftdi1 is a non-trivial exercise.

Therefore I looked at gnupg2 and since we only really need gpgv (as long
as cross bootstrap cannot yet supply sqv for apt to depend on), I now
propose the addition of a fairly invasive build profiles that trims the
gnupg2 package build into just building gpgv and nothing else.

I first tried to build gnupg2 without tpm2daemon leaving much else in
place, but I failed at doing this in a reproducible way. Once accepting
that gnupg2 needs a build profile, disabling as much as possible
actually is beneficial. So I moved to disabling everything but gpgv
instead. I note that the result also is not reproducible. The additional
components add compiler flags (e.g. -I...) and those flags influence the
build-id such that the resulting gpgv build does not reproduce the
default build. The changes even affect binary offsets, so quite a bit of
assembly also differs. Still that looks like the least bad option to me.

What do you think. Would you be able to include this change in trixie?
The patch is carefully crafted in such a way as to not affect the
default build.

Helmut
diff --minimal -Nru gnupg2-2.4.7/debian/changelog gnupg2-2.4.7/debian/changelog
--- gnupg2-2.4.7/debian/changelog       2025-04-16 05:06:01.000000000 +0200
+++ gnupg2-2.4.7/debian/changelog       2025-04-27 10:09:25.000000000 +0200
@@ -1,3 +1,10 @@
+gnupg2 (2.4.7-15.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Add pkg.gnupg2.gpgvonly build profile. (Closes: #-1)
+
+ -- Helmut Grohne <hel...@subdivi.de>  Sun, 27 Apr 2025 10:09:25 +0200
+
 gnupg2 (2.4.7-15) unstable; urgency=medium
 
   [ Andreas Metzler ]
diff --minimal -Nru gnupg2-2.4.7/debian/control gnupg2-2.4.7/debian/control
--- gnupg2-2.4.7/debian/control 2025-04-12 00:43:52.000000000 +0200
+++ gnupg2-2.4.7/debian/control 2025-04-27 10:09:25.000000000 +0200
@@ -23,28 +23,28 @@
  libgnutls28-dev (>= 3.2),
  libgpg-error-dev (>= 1.46),
  libksba-dev (>= 1.6.3),
- libldap2-dev,
+ libldap2-dev <!pkg.gnupg2.gpgvonly>,
  libnpth0-dev (>= 1.2),
- libreadline-dev,
+ libreadline-dev <!pkg.gnupg2.gpgvonly>,
  librsvg2-bin <!nodoc>,
- libsqlite3-dev,
- libtss2-dev,
- libusb-1.0-0-dev [!hurd-any],
- openssh-client <!nocheck>,
+ libsqlite3-dev <!pkg.gnupg2.gpgvonly>,
+ libtss2-dev <!pkg.gnupg2.gpgvonly>,
+ libusb-1.0-0-dev [!hurd-any] <!pkg.gnupg2.gpgvonly>,
+ openssh-client <!nocheck !pkg.gnupg2.gpgvonly>,
  pkgconf,
- swtpm <!nocheck>,
+ swtpm <!nocheck !pkg.gnupg2.gpgvonly>,
  texinfo <!nodoc>,
  unicode-data,
  zlib1g-dev | libz-dev,
 Build-Depends-Indep:
- binutils-multiarch [!amd64 !i386],
- libassuan-mingw-w64-dev (>= 2.5.0),
- libgcrypt-mingw-w64-dev (>= 1.9.1),
- libgpg-error-mingw-w64-dev (>= 1.50-4~),
- libksba-mingw-w64-dev (>= 1.6.3),
- libnpth-mingw-w64-dev (>= 1.2),
- libz-mingw-w64-dev,
- mingw-w64,
+ binutils-multiarch [!amd64 !i386] <!pkg.gnupg2.gpgvonly>,
+ libassuan-mingw-w64-dev (>= 2.5.0) <!pkg.gnupg2.gpgvonly>,
+ libgcrypt-mingw-w64-dev (>= 1.9.1) <!pkg.gnupg2.gpgvonly>,
+ libgpg-error-mingw-w64-dev (>= 1.50-4~) <!pkg.gnupg2.gpgvonly>,
+ libksba-mingw-w64-dev (>= 1.6.3) <!pkg.gnupg2.gpgvonly>,
+ libnpth-mingw-w64-dev (>= 1.2) <!pkg.gnupg2.gpgvonly>,
+ libz-mingw-w64-dev <!pkg.gnupg2.gpgvonly>,
+ mingw-w64 <!pkg.gnupg2.gpgvonly>,
 Vcs-Git: https://salsa.debian.org/debian/gnupg2.git
 Vcs-Browser: https://salsa.debian.org/debian/gnupg2
 Homepage: https://www.gnupg.org/
@@ -53,6 +53,7 @@
 Package: gpgconf
 Architecture: any
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  ${misc:Depends},
  ${shlibs:Depends},
@@ -74,6 +75,7 @@
 Architecture: all
 Section: oldlibs
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  gpg-agent (>= ${source:Version}),
  ${misc:Depends},
@@ -88,6 +90,7 @@
 Package: gpg-agent
 Architecture: any
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  gpgconf (= ${binary:Version}),
  pinentry-curses | pinentry,
@@ -124,6 +127,7 @@
 Package: gpg-wks-server
 Architecture: any
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  default-mta | mail-transport-agent,
  gpg (= ${binary:Version}),
@@ -151,6 +155,7 @@
 Package: gpg-wks-client
 Architecture: any
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  dirmngr (= ${binary:Version}),
  gpg (= ${binary:Version}),
@@ -178,6 +183,7 @@
 Package: scdaemon
 Architecture: any
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  gpg-agent (= ${binary:Version}),
  ${misc:Depends},
@@ -196,6 +202,7 @@
 Package: gpgsm
 Architecture: any
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  gpgconf (= ${binary:Version}),
  ${misc:Depends},
@@ -216,6 +223,7 @@
 Package: gpg
 Architecture: any
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  gpgconf (= ${binary:Version}),
  ${misc:Depends},
@@ -247,6 +255,7 @@
 Architecture: all
 Section: metapackages
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  dirmngr (<< ${source:Version}.1~),
  dirmngr (>= ${source:Version}),
@@ -296,6 +305,7 @@
 Architecture: all
 Section: oldlibs
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  gnupg (>= ${source:Version}),
  ${misc:Depends},
@@ -331,6 +341,7 @@
 Package: dirmngr
 Architecture: any
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  adduser,
  gpgconf (= ${binary:Version}),
@@ -364,6 +375,7 @@
 Package: tpm2daemon
 Architecture: any
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  gpgconf (= ${binary:Version}),
  ${misc:Depends},
@@ -387,7 +399,7 @@
 
 Package: gpgv-udeb
 Package-Type: udeb
-Build-Profiles: <!noudeb>
+Build-Profiles: <!noudeb !pkg.gnupg2.gpgvonly>
 Section: debian-installer
 Architecture: any
 Depends:
@@ -405,6 +417,7 @@
 Package: gpgv-static
 Architecture: any
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  ${misc:Depends},
  ${shlibs:Depends},
@@ -429,6 +442,7 @@
 Package: gpgv-win32
 Architecture: all
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  ${misc:Depends},
 Suggests:
@@ -448,6 +462,7 @@
 Section: localization
 Architecture: all
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Depends:
  ${misc:Depends},
 Enhances:
@@ -466,6 +481,7 @@
 Package: gnupg-utils
 Architecture: any
 Multi-Arch: foreign
+Build-Profiles: <!pkg.gnupg2.gpgvonly>
 Replaces:
  gnupg (<< 2.1.21-4),
  gnupg-agent (<< 2.1.21-4),
diff --minimal -Nru gnupg2-2.4.7/debian/rules gnupg2-2.4.7/debian/rules
--- gnupg2-2.4.7/debian/rules   2025-04-12 02:11:19.000000000 +0200
+++ gnupg2-2.4.7/debian/rules   2025-04-27 10:09:25.000000000 +0200
@@ -39,11 +39,13 @@
 %:
        dh $@ --with=autoreconf --builddirectory=build
 
+GPGV_UNNEEDED = gpgtar gpgsm scdaemon dirmngr tofu exec ldap gnutls sqlite 
libdns keyboxd tpm2d npth
 GPGV_UDEB_UNNEEDED = gpgtar bzip2 gpgsm scdaemon dirmngr doc tofu exec ldap 
gnutls sqlite libdns keyboxd tpm2d npth
 
 WIN32_FLAGS=LDFLAGS="-Xlinker --no-insert-timestamp -static" CFLAGS="-g -Os" 
CPPFLAGS=
 
 execute_after_dh_auto_configure:
+ifeq ($(filter pkg.gnupg2.gpgvonly,$(DEB_BUILD_PROFILES)),)
        dh_auto_configure --builddirectory=build --verbose -- \
                --libexecdir=\$${prefix}/lib/gnupg \
                --enable-wks-tools \
@@ -53,6 +55,13 @@
                --with-mailprog=/usr/sbin/sendmail \
                --enable-maintainer-mode \
                $(NODOC)
+else
+       dh_auto_configure --builddirectory=build --verbose -- \
+               --libexecdir=\$${prefix}/lib/gnupg \
+               --enable-maintainer-mode \
+               $(NODOC) \
+               $(foreach x, $(GPGV_UNNEEDED), --disable-$(x))
+endif
        # win32 uses hand-written *FLAGS
        # mkdefsinc is built with *_FOR_BUILD
        # gpgscm is also not shipped
@@ -61,9 +70,11 @@
        @echo 'blhc: ignore-line-regexp: .*-o gpgscm .*'
 
 override_dh_auto_configure-arch:
+ifeq ($(filter pkg.gnupg2.gpgvonly,$(DEB_BUILD_PROFILES)),)
        dh_auto_configure --builddirectory=build-gpgv-udeb -- \
                $(NODOC) \
                $(foreach x, $(GPGV_UDEB_UNNEEDED), --disable-$(x))
+endif
 
 override_dh_auto_configure-indep:
        # nothing to do
@@ -71,6 +82,7 @@
 execute_after_dh_auto_build:
        dh_auto_build --builddirectory=build
 
+ifeq ($(filter pkg.gnupg2.gpgvonly,$(DEB_BUILD_PROFILES)),)
 override_dh_auto_build-arch:
        dh_auto_build --builddirectory=build-gpgv-udeb
        cp -a build-gpgv-udeb build-gpgv-static
@@ -103,14 +115,17 @@
        rm -vf \
                
debian/gnupg/usr/share/doc/gnupg/examples/systemd-user/*.service \
                debian/gnupg/usr/share/doc/gnupg/examples/systemd-user/*.socket
+endif
 
 override_dh_auto_test:
+ifeq ($(filter nocheck pkg.gnupg2.gpgvonly,$(DEB_BUILD_PROFILES)),)
        dh_auto_test --builddirectory=build -- verbose=3 
TESTFLAGS=$(AUTOTEST_FLAGS)
 
 override_dh_shlibdeps:
 # Make ldap a recommends rather than a hard dependency.
        dpkg-shlibdeps -Tdebian/dirmngr.substvars -dRecommends 
debian/dirmngr/usr/lib/gnupg/dirmngr_ldap -dDepends 
debian/dirmngr/usr/bin/dirmngr*
        dh_shlibdeps -Ndirmngr
+endif
 
 execute_before_dh_autoreconf:
        echo "Developer change history can be found in the source tarball. See 
NEWS for high-level changes." > ChangeLog

--- End Message ---
--- Begin Message ---
Source: gnupg2
Source-Version: 2.4.7-17
Done: Andreas Metzler <ametz...@debian.org>

We believe that the bug you reported is fixed in the latest version of
gnupg2, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1104...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andreas Metzler <ametz...@debian.org> (supplier of updated gnupg2 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Mon, 28 Apr 2025 18:13:47 +0200
Source: gnupg2
Architecture: source
Version: 2.4.7-17
Distribution: unstable
Urgency: medium
Maintainer: Debian GnuPG Maintainers <pkg-gnupg-ma...@lists.alioth.debian.org>
Changed-By: Andreas Metzler <ametz...@debian.org>
Closes: 1104210
Changes:
 gnupg2 (2.4.7-17) unstable; urgency=medium
 .
   * re-enable piuparts in salsa-ci, keyboxd package is no more.
   * disable missing-breaks salsa ci. (fp: gpg-from-sq)
   * Add pkg.gnupg2.gpgvonly build profile. (Thanks, Helmut Grohne)
     Closes: #1104210
Checksums-Sha1: 
 2729ee1b91ae7e3c6d87adb81ae0e46f9d306d76 4877 gnupg2_2.4.7-17.dsc
 3a7263ac2373531a5ec48a82713d0ce3c76bc026 108044 gnupg2_2.4.7-17.debian.tar.xz
Checksums-Sha256: 
 8347ddd99d8d1f31bfab52656918f208e8482c235947dcdbbf5074c7cda49c08 4877 
gnupg2_2.4.7-17.dsc
 3ea0417e251261cd812de7c3fd3d0f221d4d03127e20ebd05e31bb09e72b8b42 108044 
gnupg2_2.4.7-17.debian.tar.xz
Files: 
 5df46f383c4cd3cf1504efc1914b0be5 4877 utils optional gnupg2_2.4.7-17.dsc
 53fae4d0719bfecd45e2e77622b649fb 108044 utils optional 
gnupg2_2.4.7-17.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE0uCSA5741Jbt9PpepU8BhUOCFIQFAmgPqxsACgkQpU8BhUOC
FITNsA//WcoC4Eiv6CTckBTacQK42gPMHsvXPIRX9vzK1vIKWYeOgbhoI70eVL0Q
GD0XKjhcItdYUN5Yix5PSKpfX2GU+hqDzc0TU0LMx1dVOGyRp4EF48UHbQCceDgd
/Md3GSuPqAyIfuFmtiyDaNkulKUYevt+LcamA5Cmh8tCKvvvEV/zmvBGzmmAcAAx
esfJk6P4rzAqMfYODWr37pmRoMgFcP+x/J1T+v5gHDsEfbMuQieBPEubV9hWJ45D
T/e5Z0QWwS8tjD+tSpe7nJYQtYJfnf9wEd8POz113RXI9qyDDjnVdzwUe1fZ68pf
USuITVBZtCK0lLrXaJw/lwvTX+MdhR2/zVugcYjjOmVMVDPudfFOGTwm2FnREPaC
DjfVROQxRZ01kqcLKMzTOqcy4Bg+0TXlfT21xMZZFnfsTkB2oc9sqwTEJVvx79HQ
+Otq978GXgbdeF8GBejNMELTJ5D7dXxaaE5IzoRCLqDU17ZwXtXfLmavCCowPRu/
DzdPxdrZ+1zacy7g1U/43ENg4/ttsk84XTAr9zfrPmR5THdprEMnc14ULaT5QsFa
PjqFNq8vZaZ66QVraxQYdm8Gw2/wXScU7BwVC8XZbt7v3pqN2NbNtp19QVmIy4tL
mJqetWqrawpAQHZ9P9fpRLK42zPtGk5yRV2t8Pp0/HTEUdt8L00=
=2sbw
-----END PGP SIGNATURE-----

Attachment: pgpZSZN0nlZEp.pgp
Description: PGP signature


--- End Message ---

Reply via email to