Add Sequoia signing support back

It turns out the subpackage itself is fine, we just need to adjust the
affected Beaker tests and make them cover the Sequoia backend as well.

This reverts commit 40c682ecfc.

Related: RHEL-56363
This commit is contained in:
Michal Domonkos 2024-11-12 14:14:36 +01:00
parent b137aeee16
commit 8317a615b0
2 changed files with 45 additions and 5 deletions

23
macros.rpmsign-sequoia Normal file
View File

@ -0,0 +1,23 @@
#==============================================================================
# ---- Sequoia signature macros.
# The signature to use and the location of configuration files for
# signing packages with Sequoia.
#
# Unlike GnuPG, Sequoia doesn't support specifying the signer key by
# email or name match, you need to supply the hex fingerprint (or keyid)
#%_gpg_name
#%_gpg_path
%__gpg /usr/bin/sq
# Macro(s) to hold the arguments passed to Sequoia for package
# signing. Expansion result is parsed by popt, so be sure to use
# %{shescape} where needed.
#
%__gpg_sign_cmd %{__gpg} %{__gpg} sign \
%{?_gpg_sign_cmd_extra_args} \
%{?_gpg_name:--signer-key %{_gpg_name}} \
--detached --output %{shescape:%{?__signature_filename}} \
%{?__plaintext_filename:-- %{shescape:%{__plaintext_filename}}}

View File

@ -27,7 +27,7 @@
%global rpmver 4.19.1.1 %global rpmver 4.19.1.1
#global snapver rc1 #global snapver rc1
%global baserelease 7 %global baserelease 8
%global sover 10 %global sover 10
%global srcver %{rpmver}%{?snapver:-%{snapver}} %global srcver %{rpmver}%{?snapver:-%{snapver}}
@ -46,6 +46,7 @@ Source10: rpmdb-rebuild.service
Source20: rpmdb-migrate.service Source20: rpmdb-migrate.service
Source21: rpmdb_migrate Source21: rpmdb_migrate
Source30: macros.rpmsign-sequoia
Source31: macros.rpmsign-gnupg Source31: macros.rpmsign-gnupg
Requires: coreutils Requires: coreutils
@ -137,7 +138,7 @@ rpm-4.9.90-no-man-dirs.patch
rpm-4.18.92-disable-sysusers.patch rpm-4.18.92-disable-sysusers.patch
rpm-4.18.90-weak-user-group.patch rpm-4.18.90-weak-user-group.patch
# We supply gpg config separately, remove gpg stuff from main macros # We supply gpg/sq config separately, remove gpg stuff from main macros
rpm-4.19.1.1-nogpg.patch rpm-4.19.1.1-nogpg.patch
# Patches already upstream: # Patches already upstream:
@ -183,7 +184,7 @@ This package contains the RPM shared libraries for building packages.
%package sign-libs %package sign-libs
Summary: Libraries for signing RPM packages Summary: Libraries for signing RPM packages
Requires: rpm-libs%{_isa} = %{version}-%{release} Requires: rpm-libs%{_isa} = %{version}-%{release}
Requires(meta): rpm-sign-gnupg Requires(meta): (rpm-sign-gnupg or rpm-sign-sequoia)
%description sign-libs %description sign-libs
This package contains the RPM shared libraries for signing packages. This package contains the RPM shared libraries for signing packages.
@ -192,10 +193,20 @@ This package contains the RPM shared libraries for signing packages.
Summary: Support for signing RPM packages using GnuPG Summary: Support for signing RPM packages using GnuPG
Requires: gnupg2 Requires: gnupg2
Requires(meta): rpm-sign-libs%{_isa} >= %{version}-%{release} Requires(meta): rpm-sign-libs%{_isa} >= %{version}-%{release}
Conflicts: rpm-sign-sequoia
%description sign-gnupg %description sign-gnupg
This package provides configuration for signing RPM packages using GnuPG. This package provides configuration for signing RPM packages using GnuPG.
%package sign-sequoia
Summary: Support for signing RPM packages using Sequoia
Requires: sequoia-sq
Requires(meta): rpm-sign-libs%{_isa} >= %{version}-%{release}
Conflicts: rpm-sign-gnupg
%description sign-sequoia
This package provides configuration for signing RPM packages using Sequoia.
%package devel %package devel
Summary: Development files for manipulating RPM packages Summary: Development files for manipulating RPM packages
License: GPL-2.0-or-later OR LGPL-2.1-or-later License: GPL-2.0-or-later OR LGPL-2.1-or-later
@ -440,8 +451,8 @@ rm -rf $RPM_BUILD_ROOT/var/tmp
# workaround for https://github.com/rpm-software-management/rpm/issues/2811 # workaround for https://github.com/rpm-software-management/rpm/issues/2811
rm $RPM_BUILD_ROOT/%{_defaultdocdir}/rpm/README.md rm $RPM_BUILD_ROOT/%{_defaultdocdir}/rpm/README.md
# Signing macros for GnuPG # Signing macros for Sequoia and GnuPG
install -m 644 %{SOURCE31} $RPM_BUILD_ROOT/%{rpmhome}/macros.d install -m 644 %{SOURCE30} %{SOURCE31} $RPM_BUILD_ROOT/%{rpmhome}/macros.d
%pre %pre
# Symlink all rpmdb files to the new location if we're still using /var/lib/rpm # Symlink all rpmdb files to the new location if we're still using /var/lib/rpm
@ -580,6 +591,9 @@ fi
%{_libdir}/librpmsign.so.%{sover} %{_libdir}/librpmsign.so.%{sover}
%{_libdir}/librpmsign.so.%{sover}.* %{_libdir}/librpmsign.so.%{sover}.*
%files sign-sequoia
%{rpmhome}/macros.d/macros.rpmsign-sequoia
%files sign-gnupg %files sign-gnupg
%{rpmhome}/macros.d/macros.rpmsign-gnupg %{rpmhome}/macros.d/macros.rpmsign-gnupg
@ -639,6 +653,9 @@ fi
%doc %{_defaultdocdir}/rpm/API/ %doc %{_defaultdocdir}/rpm/API/
%changelog %changelog
* Tue Nov 12 2024 Michal Domonkos <mdomonko@redhat.com> - 4.19.1.1-8
- Add Sequoia signing support back
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 4.19.1.1-7 * Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 4.19.1.1-7
- Bump release for October 2024 mass rebuild: - Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018 Resolves: RHEL-64018