From d97675f9fc619fd4ae9f0707efb26185f4f69b6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= Date: Fri, 22 Jan 2021 11:11:17 +0100 Subject: [PATCH] Backport https://pagure.io/pungi/pull-request/1484 --- 1484.patch | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ pungi.spec | 6 ++++- 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 1484.patch diff --git a/1484.patch b/1484.patch new file mode 100644 index 00000000..2a54ece2 --- /dev/null +++ b/1484.patch @@ -0,0 +1,67 @@ +From 9ea1098eaee9a6c1195d8b0e8e3073c2d4308cb4 Mon Sep 17 00:00:00 2001 +From: Lubomír Sedlář +Date: Jan 22 2021 07:33:09 +0000 +Subject: comps: Preserve default arg on groupid + + +When the wrapper processes comps file, it wasn't emitting "default" +argument for groupid element. The default is false and most entries are +actually using the default, so let's only emit it if set to true. + +Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1882358 +Signed-off-by: Lubomír Sedlář + +--- + +diff --git a/pungi/wrappers/comps.py b/pungi/wrappers/comps.py +index 4eaddb0..aa7685b 100644 +--- a/pungi/wrappers/comps.py ++++ b/pungi/wrappers/comps.py +@@ -325,9 +325,8 @@ class CompsWrapper(object): + group_node.appendChild(packagelist) + + for category in self.comps.categories: +- groups = set(x.name for x in category.group_ids) & set( +- self.get_comps_groups() +- ) ++ group_ids = set(self.get_comps_groups()) ++ groups = set(g for g in category.group_ids if g.name in group_ids) + if not groups: + continue + cat_node = doc.createElement("category") +@@ -341,7 +340,7 @@ class CompsWrapper(object): + append_grouplist(doc, cat_node, groups) + + for environment in sorted(self.comps.environments, key=attrgetter("id")): +- groups = set(x.name for x in environment.group_ids) ++ groups = set(environment.group_ids) + if not groups: + continue + env_node = doc.createElement("environment") +@@ -356,10 +355,7 @@ class CompsWrapper(object): + + if environment.option_ids: + append_grouplist( +- doc, +- env_node, +- (x.name for x in environment.option_ids), +- "optionlist", ++ doc, env_node, set(environment.option_ids), "optionlist", + ) + + if self.comps.langpacks: +@@ -460,8 +456,11 @@ def append(doc, parent, elem, content=None, lang=None, **kwargs): + + def append_grouplist(doc, parent, groups, elem="grouplist"): + grouplist_node = doc.createElement(elem) +- for groupid in sorted(groups): +- append(doc, grouplist_node, "groupid", groupid) ++ for groupid in sorted(groups, key=lambda x: x.name): ++ kwargs = {} ++ if groupid.default: ++ kwargs["default"] = "true" ++ append(doc, grouplist_node, "groupid", groupid.name, **kwargs) + parent.appendChild(grouplist_node) + + + diff --git a/pungi.spec b/pungi.spec index f3f229ff..5a28e328 100644 --- a/pungi.spec +++ b/pungi.spec @@ -2,12 +2,13 @@ Name: pungi Version: 4.2.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Distribution compose tool License: GPLv2 URL: https://pagure.io/pungi Source0: https://pagure.io/releases/%{name}/%{name}-%{version}.tar.bz2 +Patch0: https://pagure.io/pungi/pull-request/1484.patch BuildRequires: make BuildRequires: python3-nose @@ -137,6 +138,9 @@ nosetests-3 --exe %{_bindir}/%{name}-wait-for-signed-ostree-handler %changelog +* Fri Jan 22 2021 Lubomír Sedlář - 4.2.7-2 +- Backport patch for preserving default attribute in comps + * Tue Dec 8 09:01:52 CET 2020 Lubomír Sedlář - 4.2.7-1 - New upstream version