This commit is contained in:
Lubomír Sedlář 2021-01-22 11:11:17 +01:00
parent 129b70f616
commit d97675f9fc
2 changed files with 72 additions and 1 deletions

67
1484.patch Normal file
View File

@ -0,0 +1,67 @@
From 9ea1098eaee9a6c1195d8b0e8e3073c2d4308cb4 Mon Sep 17 00:00:00 2001
From: Lubomír Sedlář <lsedlar@redhat.com>
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ář <lsedlar@redhat.com>
---
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)

View File

@ -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ář <lsedlar@redhat.com> - 4.2.7-2
- Backport patch for preserving default attribute in comps
* Tue Dec 8 09:01:52 CET 2020 Lubomír Sedlář <lsedlar@redhat.com> - 4.2.7-1
- New upstream version