Skip to content

Commit 04d86d3

Browse files
committed
test: Set up local RPM signing key for package tests
Rawhide now enforces rpm signatures by default [1]. To be able to install our test RPMs, set up a local signing key. This happens lazily the first time an RPM is built. [1] https://fedoraproject.org/wiki/Changes/Enforcing_signature_checking_by_default
1 parent 68613bd commit 04d86d3

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

test/common/packagelib.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,16 @@ def createDeb(self, name: str, version: str, depends: str, postinst: str | None
223223
m.execute(cmd)
224224
self.addCleanup(m.execute, f"dpkg -P --force-depends --force-remove-reinstreq {name} 2>/dev/null || true")
225225

226+
def setupLocalRPMKey(self) -> None:
227+
"""Fedora requires signed RPMs, set up local key"""
228+
229+
key = "~/.config/rpm/rpmbuild-*.asc"
230+
self.machine.execute(
231+
f"if [ -x /usr/lib/rpm/rpm-setup-autosign ] && ! [ -f {key} ]; then "
232+
" /usr/lib/rpm/rpm-setup-autosign; "
233+
f" rpmkeys --import {key}; "
234+
"fi")
235+
226236
def createRpm(self, name: str, version: str, release: str, requires: str, post: str | None = None, *,
227237
install: bool,
228238
content: Mapping[str, Mapping[str, str] | str] | None = None,
@@ -235,6 +245,7 @@ def createRpm(self, name: str, version: str, release: str, requires: str, post:
235245
If install is True, install the package. Otherwise, update the package
236246
index in repo_dir.
237247
"""
248+
self.setupLocalRPMKey()
238249
if post:
239250
postcode = '\n%%post\n' + post
240251
else:

0 commit comments

Comments
 (0)