Backport Kevin's changes from infra tag
This commit is contained in:
parent
5a556967d1
commit
8f6800baf9
98
1278.patch
Normal file
98
1278.patch
Normal file
@ -0,0 +1,98 @@
|
||||
From 72bf795bd45e15af86e1a4f96cfbe0d40d40a8cc Mon Sep 17 00:00:00 2001
|
||||
From: Owen W. Taylor <otaylor@fishsoup.net>
|
||||
Date: Oct 10 2019 19:13:38 +0000
|
||||
Subject: ostree-install: allow configuring additional depenencies for runroot
|
||||
|
||||
|
||||
A lorax template used for the ostree-installer might need an additional
|
||||
package dependency (e.g., flatpak to embed a flatpak repository) - add
|
||||
a config key 'extra_runroot_pkgs' to the ostree installer configuration
|
||||
to allow supplementing the set of packages installed into the runroot.
|
||||
|
||||
Signed-off-by: Owen W. Taylor <otaylor@fishsoup.net>
|
||||
|
||||
---
|
||||
|
||||
diff --git a/doc/configuration.rst b/doc/configuration.rst
|
||||
index 2c8a5a3..2ce9216 100644
|
||||
--- a/doc/configuration.rst
|
||||
+++ b/doc/configuration.rst
|
||||
@@ -1527,6 +1527,11 @@ an OSTree repository. This always runs in Koji as a ``runroot`` task.
|
||||
``template_repo`` needs to point to a Git repository from which to take the
|
||||
templates.
|
||||
|
||||
+ If the templates need to run with additional dependencies, that can be configured
|
||||
+ with the optional key:
|
||||
+
|
||||
+ * ``extra_runroot_pkgs`` -- (*[str]*)
|
||||
+
|
||||
**ostree_installer_overwrite** = False
|
||||
(*bool*) -- by default if a variant including OSTree installer also creates
|
||||
regular installer images in buildinstall phase, there will be conflicts (as
|
||||
diff --git a/pungi/checks.py b/pungi/checks.py
|
||||
index a20d0f7..513728d 100644
|
||||
--- a/pungi/checks.py
|
||||
+++ b/pungi/checks.py
|
||||
@@ -1132,6 +1132,7 @@ def make_schema():
|
||||
"rootfs_size": {"type": "string"},
|
||||
"template_repo": {"type": "string"},
|
||||
"template_branch": {"type": "string"},
|
||||
+ "extra_runroot_pkgs": {"$ref": "#/definitions/list_of_strings"},
|
||||
},
|
||||
"additionalProperties": False,
|
||||
}),
|
||||
diff --git a/pungi/phases/ostree_installer.py b/pungi/phases/ostree_installer.py
|
||||
index 995ac96..46c774b 100644
|
||||
--- a/pungi/phases/ostree_installer.py
|
||||
+++ b/pungi/phases/ostree_installer.py
|
||||
@@ -195,6 +195,8 @@ class OstreeInstallerThread(WorkerThread):
|
||||
' '.join([shlex_quote(x) for x in lorax_cmd]))
|
||||
|
||||
packages = ['pungi', 'lorax', 'ostree']
|
||||
+ packages += config.get('extra_runroot_pkgs', [])
|
||||
+
|
||||
log_file = os.path.join(self.logdir, 'runroot.log')
|
||||
|
||||
runroot = Runroot(compose)
|
||||
diff --git a/tests/test_ostree_installer_phase.py b/tests/test_ostree_installer_phase.py
|
||||
index 0cce4b8..846e23a 100644
|
||||
--- a/tests/test_ostree_installer_phase.py
|
||||
+++ b/tests/test_ostree_installer_phase.py
|
||||
@@ -126,7 +126,8 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
self.assertEqual(compose.im.add.mock_calls,
|
||||
[mock.call('Everything', 'x86_64', image)])
|
||||
|
||||
- def assertRunrootCall(self, koji, sources, release, isfinal=False, extra=[], weight=None):
|
||||
+ def assertRunrootCall(self, koji, sources, release, isfinal=False, extra=[],
|
||||
+ extra_pkgs=[], weight=None):
|
||||
lorax_cmd = [
|
||||
'lorax',
|
||||
'--product=Fedora',
|
||||
@@ -156,7 +157,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
[mock.call('rrt', 'x86_64',
|
||||
'rm -rf %s && %s' % (outdir, ' '.join(lorax_cmd)),
|
||||
channel=None, mounts=[self.topdir],
|
||||
- packages=['pungi', 'lorax', 'ostree'],
|
||||
+ packages=['pungi', 'lorax', 'ostree'] + extra_pkgs,
|
||||
task_id=True, use_shell=True, weight=weight,
|
||||
chown_paths=[outdir])])
|
||||
self.assertEqual(koji.run_runroot_cmd.call_args_list,
|
||||
@@ -418,6 +419,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
'add_arch_template': ['other_file.txt'],
|
||||
'template_repo': 'git://example.com/templates.git',
|
||||
'template_branch': 'f24',
|
||||
+ 'extra_runroot_pkgs': ['templatedep'],
|
||||
}
|
||||
koji = KojiWrapper.return_value
|
||||
koji.run_runroot_cmd.return_value = {
|
||||
@@ -445,7 +447,8 @@ class OstreeThreadTest(helpers.PungiTestCase):
|
||||
isfinal=True,
|
||||
extra=['--add-template=%s/some_file.txt' % templ_dir,
|
||||
'--add-arch-template=%s/other_file.txt' % templ_dir,
|
||||
- '--logfile=%s/%s/lorax.log' % (self.topdir, LOG_PATH)])
|
||||
+ '--logfile=%s/%s/lorax.log' % (self.topdir, LOG_PATH)],
|
||||
+ extra_pkgs=['templatedep'])
|
||||
self.assertIsoLinked(link, get_file_size, get_mtime, final_iso_path)
|
||||
self.assertImageAdded(self.compose, ImageCls, iso)
|
||||
self.assertAllCopied(copy_all)
|
||||
|
@ -2,13 +2,14 @@
|
||||
|
||||
Name: pungi
|
||||
Version: 4.1.39
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
Summary: Distribution compose tool
|
||||
|
||||
License: GPLv2
|
||||
URL: https://pagure.io/pungi
|
||||
Source0: https://pagure.io/releases/%{name}/%{name}-%{version}.tar.bz2
|
||||
Patch0: 0001-Allow-loading-overrides-for-module-defaults.patch
|
||||
Patch1: https://pagure.io/pungi/pull-request/1278.patch
|
||||
|
||||
BuildRequires: python3-nose
|
||||
BuildRequires: python3-mock
|
||||
@ -143,6 +144,9 @@ nosetests-3 --exe
|
||||
%{_bindir}/%{name}-wait-for-signed-ostree-handler
|
||||
|
||||
%changelog
|
||||
* Tue Oct 15 2019 Kevin Fenzi <kevin@scrye.com> - 4.1.39-4
|
||||
- Add https://pagure.io/pungi/pull-request/1278
|
||||
|
||||
* Mon Sep 23 2019 Lubomír Sedlář <lsedlar@redhat.com> - 4.1.39-3
|
||||
- Backport patch for module defaults overrides
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user