[OS-BUILD PATCH 2/3] redhat: fix duplicate jira issues in the resolves line

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Herton R. Krzesinski <herton@xxxxxxxxxx>

redhat: fix duplicate jira issues in the resolves line

Bugzilla: INTERNAL
Upstream Status: RHEL only

The current genlog.py code does not check for duplicated jira issues
added to the resolves line. For bugzilla numbers, that check was present
when creating the resolved_bzs list.

To resolve it, convert everything to sets (which can't have duplicated
items), as such we don't need to do additional checks when printing the
resolves line. Also, make sure we sort not only the per changelog item
numbers, but also the items in the resolves line.

Fixes: 552fe563b55b ("redhat: add support for Jira issues in changelog")
Signed-off-by: Herton R. Krzesinski <herton@xxxxxxxxxx>

diff --git a/redhat/scripts/genspec/genlog.py b/redhat/scripts/genspec/genlog.py
index blahblah..blahblah 100755
--- a/redhat/scripts/genspec/genlog.py
+++ b/redhat/scripts/genspec/genlog.py
@@ -80,13 +80,13 @@ def parse_commit(commit):
         # Process Jira issues
         jira_set.update(find_ji_in_line(line, 'JIRA'))
 
-    return (log_entry, sorted(cve_set), sorted(bug_set), sorted(zbug_set), sorted(jira_set))
+    return (log_entry, cve_set, bug_set, zbug_set, jira_set)
 
 
 if __name__ == "__main__":
-    all_bzs = []
-    all_zbzs = []
-    all_jiras = []
+    all_bzs = set()
+    all_zbzs = set()
+    all_jiras = set()
     commits = sys.stdin.read().split('\0')
     for c in commits:
         if not c:
@@ -96,32 +96,29 @@ if __name__ == "__main__":
         if bugs or zbugs or jiras:
             entry += " ["
             if zbugs:
-                entry += " ".join(zbugs)
-                all_zbzs.extend(zbugs)
+                entry += " ".join(sorted(zbugs))
+                all_zbzs.update(zbugs)
             if bugs:
                 entry += " " if zbugs else ""
-                entry += " ".join(bugs)
-                all_bzs.extend(bugs)
+                entry += " ".join(sorted(bugs))
+                all_bzs.update(bugs)
             if jiras:
                 entry += " " if bugs or zbugs else ""
-                entry += " ".join(jiras)
-                all_jiras.extend(jiras)
+                entry += " ".join(sorted(jiras))
+                all_jiras.update(jiras)
             entry += "]"
         if cves:
-            entry += " {" + " ".join(cves) + "}"
+            entry += " {" + " ".join(sorted(cves)) + "}"
         print(entry)
 
-    resolved_bzs = []
-    for bzid in (all_zbzs if all_zbzs else all_bzs):
-        if not bzid in resolved_bzs:
-            resolved_bzs.append(bzid)
+    resolved_bzs = all_zbzs if all_zbzs else all_bzs
     print("Resolves: ", end="")
-    for i, bzid in enumerate(resolved_bzs):
+    for i, bzid in enumerate(sorted(resolved_bzs)):
         if i:
             print(", ", end="")
         print(f"rhbz#{bzid}", end="")
-    for j, jid in enumerate(all_jiras):
-        if j or len(resolved_bzs) > 0:
+    for j, jid in enumerate(sorted(all_jiras)):
+        if j or resolved_bzs:
            print(", ", end="")
         print(f"{jid}", end="")
     print("\n")

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2496
_______________________________________________
kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/kernel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora General Discussion]     [Older Fedora Users Archive]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [USB]     [Asterisk PBX]

  Powered by Linux