commit:     3f300c8204a90fdbe3f9cee98b16d880dc5442e7
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 14 22:52:27 2021 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Wed Apr 14 22:57:33 2021 +0000
URL:        
https://gitweb.gentoo.org/proj/gentoo-bumpchecker.git/commit/?id=3f300c82

Add support for GNOME 40

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 modules/gnome_module.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/modules/gnome_module.py b/modules/gnome_module.py
index 7ef3b12..7a2f5ed 100644
--- a/modules/gnome_module.py
+++ b/modules/gnome_module.py
@@ -28,6 +28,13 @@ name_mapping = {
     "gnome-themes-standard": "gnome-themes-extra",
 }
 
+# Turns GNOME versions (40.beta) into the PMS version format (40_beta)
+def normalize_version(version: str) -> str:
+    if version.endswith(('.rc', '.beta', '.alpha')):
+        i = version.rindex('.')
+        return f"{version[:i]}_{version[i + 1:]}"
+    return version
+
 class GNOME:
     def __init__(self, nextrev=False):
         options = clioptions_module.Options()
@@ -40,7 +47,7 @@ class GNOME:
         # gnome_release is the major release number the development is leading 
up to or is part of. E.g, 2.21.5 will turn to 2.22 and 2.22.2 becomes 2.22
         # This is used in latest versions list fetching URL construction
         gnome_release_list = args.release_number.split(".")
-        if int(gnome_release_list[1]) % 2 != 0:
+        if int(gnome_release_list[0]) < 40 and int(gnome_release_list[1]) % 2 
!= 0:
             gnome_release_list[1] = str(int(gnome_release_list[1]) + 1)
         self.gnome_release = ".".join(gnome_release_list[:2])
 
@@ -64,7 +71,7 @@ class GNOME:
             # Skip invalid lines
             if len(components) != 4 or len(components[2]) == 0:
                 continue
-            pkg = package_module.Package(components[1] + "-" + components[2], 
suite=components[0])
+            pkg = package_module.Package(components[1] + "-" + 
normalize_version(components[2]), suite=components[0])
             if (pkg.name and pkg.version):
                 ret.append(pkg)
             else:
@@ -109,7 +116,7 @@ class GNOME:
             if not latest:
                 print("Warning: couldn't find latest version from within 
cache.json[3]")
                 continue
-            latest_pkg = package_module.Package(name + "-" + latest)
+            latest_pkg = package_module.Package(name + "-" + 
normalize_version(latest))
             if pkg.name and pkg.version:
                 ret.append(latest_pkg)
             else:

Reply via email to