[pkg-gnupg-maint] Bug#1055238: pinentry: Please add bootstrapping profile
Samuel Thibault
sthibault at debian.org
Thu Nov 2 17:33:45 GMT 2023
Source: pinentry
Severity: normal
Tags: patch
Hello,
When bootstrapping a new port, buildds needs to use gnupg to sign
packages, which depends on gpg-agent, which depends on pinentry. But
pinentry build-deps on qt, gtk etc. which we don't really want to
bootstrap by hand. The attached patch adds build profiles that can be
used to easily build pinentry-tty, then install buildds, and let them
build the rest.
(I had to switch the no-secret/secret configuration, otherwise the
pinentry.info file doesn't get found in the nogtk profile)
Samuel
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'oldstable-proposed-updates-debug'), (500, 'oldstable-proposed-updates'), (500, 'oldoldstable-proposed-updates'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, arm64
Kernel: Linux 6.5.0-1-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
--
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.
-------------- next part --------------
--- debian/control.original 2023-11-02 18:12:13.454799542 +0100
+++ debian/control 2023-11-02 18:12:30.682864897 +0100
@@ -7,18 +7,18 @@
Build-Depends:
debhelper-compat (= 13),
libassuan-dev (>= 2.1.0),
- libfltk1.3-dev,
- libgcr-3-dev,
- libglib2.0-dev (>= 2.15.5),
+ libfltk1.3-dev <!pkg.pinentry.nofltk>,
+ libgcr-3-dev <!pkg.pinentry.nogtk>,
+ libglib2.0-dev (>= 2.15.5) <!pkg.pinentry.nogtk>,
libgpg-error-dev (>= 1.16),
- libgtk2.0-dev (>= 2.4.0),
- libncurses5-dev,
- libncursesw5-dev,
- libqt5waylandclient5-dev,
- libsecret-1-dev,
+ libgtk2.0-dev (>= 2.4.0) <!pkg.pinentry.nogtk>,
+ libncurses5-dev <!pkg.pinentry.nocurses>,
+ libncursesw5-dev <!pkg.pinentry.nocurses>,
+ libqt5waylandclient5-dev <!pkg.pinentry.noqt>,
+ libsecret-1-dev <!pkg.pinentry.nogtk>,
m4,
pkg-config,
- qtbase5-dev,
+ qtbase5-dev <!pkg.pinentry.noqt>,
texinfo,
Standards-Version: 4.6.1
Homepage: https://www.gnupg.org/related_software/pinentry/
@@ -29,6 +29,7 @@
Package: pinentry-curses
Architecture: any
Multi-Arch: foreign
+Build-Profiles: <!pkg.pinentry.nocurses>
Depends:
${misc:Depends},
${shlibs:Depends},
@@ -87,6 +88,7 @@
Package: pinentry-qt
Architecture: any
Multi-Arch: foreign
+Build-Profiles: <!pkg.pinentry.noqt>
Depends:
${misc:Depends},
${shlibs:Depends},
@@ -111,6 +113,7 @@
Package: pinentry-gtk2
Architecture: any
+Build-Profiles: <!pkg.pinentry.nogtk>
Depends:
${misc:Depends},
${shlibs:Depends},
@@ -139,6 +142,7 @@
Package: pinentry-fltk
Architecture: any
Multi-Arch: foreign
+Build-Profiles: <!pkg.pinentry.nofltk>
Depends:
${misc:Depends},
${shlibs:Depends},
@@ -167,6 +171,7 @@
Package: pinentry-gnome3
Architecture: any
Multi-Arch: foreign
+Build-Profiles: <!pkg.pinentry.nogtk>
Depends:
gcr,
${misc:Depends},
--- debian/rules.original 2023-11-02 18:12:18.838819816 +0100
+++ debian/rules 2023-11-02 18:14:39.283391832 +0100
@@ -2,34 +2,60 @@
QT_SELECT = qt5
export QT_SELECT
-SHARED_CONFIGS = --disable-rpath --without-libcap --disable-pinentry-emacs --disable-inside-emacs --enable-fallback-curses --disable-pinentry-tqt --disable-pinentry-efl
+SHARED_CONFIGS = --disable-rpath --without-libcap --disable-pinentry-emacs --disable-inside-emacs --disable-pinentry-tqt --disable-pinentry-efl
export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow
+ifeq (,$(filter pkg.pinentry.nocurses,$(DEB_BUILD_PROFILES)))
+ENABLE_CURSES = --enable-pinentry-curses
+FALLBACK_CURSES = --enable-fallback-curses
+else
+ENABLE_CURSES = --disable-pinentry-curses
+FALLBACK_CURSES = --disable-fallback-curses
+endif
+
+ifeq (,$(filter pkg.pinentry.noqt,$(DEB_BUILD_PROFILES)))
+ENABLE_QT = --enable-pinentry-qt
+else
+ENABLE_QT = --disable-pinentry-qt
+endif
+
+ifeq (,$(filter pkg.pinentry.nofltk,$(DEB_BUILD_PROFILES)))
+ENABLE_FLTK = --enable-pinentry-fltk
+else
+ENABLE_FLTK = --disable-pinentry-fltk
+endif
+
%:
dh $@
override_dh_auto_configure:
- dh_auto_configure --builddirectory=build-no-libsecret -- \
+ dh_auto_configure -- \
$(SHARED_CONFIGS) --disable-libsecret \
--enable-pinentry-tty \
- --enable-pinentry-curses \
- --enable-pinentry-qt \
+ $(ENABLE_CURSES) \
+ $(FALLBACK_CURSES) \
+ $(ENABLE_QT) \
--disable-pinentry-qt4 \
- --enable-pinentry-fltk \
+ $(ENABLE_FLTK) \
--disable-pinentry-gtk2 \
--disable-pinentry-gnome3
- dh_auto_configure -- $(SHARED_CONFIGS) \
+ifeq (,$(filter pkg.pinentry.nogtk,$(DEB_BUILD_PROFILES)))
+ dh_auto_configure --builddirectory=build-libsecret -- $(SHARED_CONFIGS) \
--disable-pinentry-tty \
--disable-pinentry-curses \
+ $(FALLBACK_CURSES) \
--disable-pinentry-qt \
--disable-pinentry-qt4 \
--disable-pinentry-fltk \
--enable-pinentry-gtk2 \
--enable-pinentry-gnome3
+endif
override_dh_auto_build:
- dh_auto_build --builddirectory=build-no-libsecret
dh_auto_build
+ifeq (,$(filter pkg.pinentry.nogtk,$(DEB_BUILD_PROFILES)))
+ dh_auto_build --builddirectory=build-libsecret
+endif
override_dh_installdocs:
dh_installdocs -A NEWS AUTHORS
--- debian/pinentry-curses.install.original 2023-11-02 18:18:17.988832606 +0100
+++ debian/pinentry-curses.install 2023-11-02 18:18:25.948884041 +0100
@@ -1 +1 @@
-build-no-libsecret/curses/pinentry-curses usr/bin
+usr/bin/pinentry-curses
--- debian/pinentry-fltk.install.original 2023-11-02 18:18:17.992832632 +0100
+++ debian/pinentry-fltk.install 2023-11-02 18:18:30.556913691 +0100
@@ -1 +1 @@
-build-no-libsecret/fltk/pinentry-fltk usr/bin
+usr/bin/pinentry-fltk
--- debian/pinentry-gnome3.install.original 2023-11-02 18:18:17.992832632 +0100
+++ debian/pinentry-gnome3.install 2023-11-02 18:19:09.157158690 +0100
@@ -1 +1 @@
-usr/bin/pinentry-gnome3
+build-libsecret/gnome3/pinentry-gnome3 usr/bin
--- debian/pinentry-gtk2.install.original 2023-11-02 18:18:17.992832632 +0100
+++ debian/pinentry-gtk2.install 2023-11-02 18:19:26.781268698 +0100
@@ -1 +1 @@
-usr/bin/pinentry-gtk-2
+build-libsecret/gtk+-2/pinentry-gtk-2 usr/bin
--- debian/pinentry-qt.install.original 2023-11-02 18:18:17.996832658 +0100
+++ debian/pinentry-qt.install 2023-11-02 18:19:34.613317242 +0100
@@ -1 +1 @@
-build-no-libsecret/qt/pinentry-qt usr/bin
+usr/bin/pinentry-qt
--- debian/pinentry-tty.install.original 2023-11-02 18:18:17.996832658 +0100
+++ debian/pinentry-tty.install 2023-11-02 18:19:39.333346400 +0100
@@ -1 +1 @@
-build-no-libsecret/tty/pinentry-tty usr/bin/
+usr/bin/pinentry-tty
More information about the pkg-gnupg-maint
mailing list