New upstream release 4.3.7

Signed-off-by: Ondřej Nosek <onosek@redhat.com>
This commit is contained in:
Ondřej Nosek 2022-12-09 22:26:23 +00:00
parent 88c001aed1
commit b8f9f3094f
3 changed files with 20 additions and 108 deletions

View File

@ -1,104 +0,0 @@
From 479849042f118508a7d4ee27a7444c002ac9e119 Mon Sep 17 00:00:00 2001
From: Lubomír Sedlář <lsedlar@redhat.com>
Date: Nov 03 2022 10:11:01 +0000
Subject: init: Filter comps for modular variants with tags
Modular variants can either be specified by a list of modules, or by a
list of Koji tags. In terms of comps preprocessing there should not be
any difference between the two.
Resolves: https://pagure.io/pungi/issue/1640
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
---
diff --git a/pungi/phases/init.py b/pungi/phases/init.py
index a78c0dc..a99bc59 100644
--- a/pungi/phases/init.py
+++ b/pungi/phases/init.py
@@ -165,12 +165,18 @@ def write_variant_comps(compose, arch, variant):
run(cmd)
comps = CompsWrapper(comps_file)
- if variant.groups or variant.modules is not None or variant.type != "variant":
- # Filter groups if the variant has some, or it's a modular variant, or
- # is not a base variant.
+ # Filter groups if the variant has some, or it's a modular variant, or
+ # is not a base variant.
+ if (
+ variant.groups
+ or variant.modules is not None
+ or variant.modular_koji_tags is not None
+ or variant.type != "variant"
+ ):
unmatched = comps.filter_groups(variant.groups)
for grp in unmatched:
compose.log_warning(UNMATCHED_GROUP_MSG % (variant.uid, arch, grp))
+
contains_all = not variant.groups and not variant.environments
if compose.conf["comps_filter_environments"] and not contains_all:
# We only want to filter environments if it's enabled by configuration
diff --git a/tests/helpers.py b/tests/helpers.py
index 7aa7452..e221b83 100644
--- a/tests/helpers.py
+++ b/tests/helpers.py
@@ -79,6 +79,7 @@ class MockVariant(mock.Mock):
self.variants = {}
self.pkgsets = set()
self.modules = None
+ self.modular_koji_tags = None
self.name = name
self.nsvc_to_pkgset = defaultdict(lambda: mock.Mock(rpms_by_arch={}))
diff --git a/tests/test_initphase.py b/tests/test_initphase.py
index 1fb80c4..2ddb82c 100644
--- a/tests/test_initphase.py
+++ b/tests/test_initphase.py
@@ -499,6 +499,45 @@ class TestWriteVariantComps(PungiTestCase):
@mock.patch("pungi.phases.init.run")
@mock.patch("pungi.phases.init.CompsWrapper")
+ def test_run_filter_for_modular_koji_tags(self, CompsWrapper, run):
+ compose = DummyCompose(self.topdir, {})
+ variant = compose.variants["Server"]
+ variant.groups = []
+ variant.modular_koji_tags = ["f38-modular"]
+ comps = CompsWrapper.return_value
+ comps.filter_groups.return_value = []
+
+ init.write_variant_comps(compose, "x86_64", variant)
+
+ self.assertEqual(
+ run.mock_calls,
+ [
+ mock.call(
+ [
+ "comps_filter",
+ "--arch=x86_64",
+ "--keep-empty-group=conflicts",
+ "--keep-empty-group=conflicts-server",
+ "--variant=Server",
+ "--output=%s/work/x86_64/comps/comps-Server.x86_64.xml"
+ % self.topdir,
+ self.topdir + "/work/global/comps/comps-global.xml",
+ ]
+ )
+ ],
+ )
+ self.assertEqual(
+ CompsWrapper.call_args_list,
+ [mock.call(self.topdir + "/work/x86_64/comps/comps-Server.x86_64.xml")],
+ )
+ self.assertEqual(comps.filter_groups.call_args_list, [mock.call([])])
+ self.assertEqual(
+ comps.filter_environments.mock_calls, [mock.call(variant.environments)]
+ )
+ self.assertEqual(comps.write_comps.mock_calls, [mock.call()])
+
+ @mock.patch("pungi.phases.init.run")
+ @mock.patch("pungi.phases.init.CompsWrapper")
def test_run_report_unmatched(self, CompsWrapper, run):
compose = DummyCompose(self.topdir, {})
variant = compose.variants["Server"]

View File

@ -1,14 +1,13 @@
%{?python_enable_dependency_generator} %{?python_enable_dependency_generator}
Name: pungi Name: pungi
Version: 4.3.6 Version: 4.3.7
Release: 2%{?dist} Release: 1%{?dist}
Summary: Distribution compose tool Summary: Distribution compose tool
License: GPLv2 License: GPLv2
URL: https://pagure.io/pungi URL: https://pagure.io/pungi
Source0: https://pagure.io/releases/%{name}/%{name}-%{version}.tar.bz2 Source0: https://pagure.io/releases/%{name}/%{name}-%{version}.tar.bz2
Patch: https://pagure.io/pungi/pull-request/1641.patch
BuildRequires: make BuildRequires: make
BuildRequires: python3-pytest BuildRequires: python3-pytest
@ -139,6 +138,23 @@ rm %{buildroot}%{_bindir}/pungi
%{_bindir}/%{name}-wait-for-signed-ostree-handler %{_bindir}/%{name}-wait-for-signed-ostree-handler
%changelog %changelog
* Fri Dec 09 2022 Ondřej Nosek <onosek@redhat.com> - 4.3.7-1
- osbuild: test passing of rich repos from configuration (lsedlar)
- osbuild: support specifying `package_sets` for repos (thozza)
- osbuild: don't use `util.get_repo_urls()` (thozza)
- osbuild: update schema and config documentation (thozza)
- Speed up tests by 30 seconds (lsedlar)
- Stop sending compose paths to CTS (lsedlar)
- Report errors from CTS (lsedlar)
- createiso: Create Joliet tree with xorriso (lsedlar)
- init: Filter comps for modular variants with tags (lsedlar)
- Retry failed cts requests (hlin)
- Ignore existing kerberos ticket for CTS auth (lsedlar)
- osbuild: support specifying upload_options (thozza)
- osbuild: accept only a single image type in the configuration (thozza)
- Add Jenkinsfile for CI (hlin)
- profiler: Flush stdout before printing (lsedlar)
* Mon Nov 07 2022 Lubomír Sedlář <lsedlar@redhat.com> - 4.3.6-2 * Mon Nov 07 2022 Lubomír Sedlář <lsedlar@redhat.com> - 4.3.6-2
- Stop including comps in modular repos - Stop including comps in modular repos

View File

@ -1 +1 @@
SHA512 (pungi-4.3.6.tar.bz2) = cbeb9b1064c0d0883fff9822a668fd76d166b183b163eddba9aec8aa548cdf0ad63e12ad5c04dd2973b0c35010af7482e64368e01ffa7b4875c36a273573fbe6 SHA512 (pungi-4.3.7.tar.bz2) = 1c9390408598d160140f8e028afc069924361f787c835a4db058fcb89932a98de558a3614448f73c804484d30fa4e53f2f667e175038c6f4a0e2eb22b0654dd0