forked from rpms/leapp-repository
41 lines
1.6 KiB
Diff
41 lines
1.6 KiB
Diff
From 70557869df83660a1a0c31808cf9c97a2704aa9a Mon Sep 17 00:00:00 2001
|
|
From: Michal Hecko <mhecko@redhat.com>
|
|
Date: Mon, 21 Apr 2025 20:40:11 +0200
|
|
Subject: [PATCH 30/37] fix(lib/version): broken _validate_version on RHEL 10
|
|
|
|
The validate version used to split a given version on `.` and then
|
|
check that every fragment is a digit, which is false for RHEL 10
|
|
since `10` is not a digit.
|
|
---
|
|
repos/system_upgrade/common/libraries/config/version.py | 9 +++++----
|
|
1 file changed, 5 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/repos/system_upgrade/common/libraries/config/version.py b/repos/system_upgrade/common/libraries/config/version.py
|
|
index 24bb7729..2e837a61 100644
|
|
--- a/repos/system_upgrade/common/libraries/config/version.py
|
|
+++ b/repos/system_upgrade/common/libraries/config/version.py
|
|
@@ -1,4 +1,5 @@
|
|
import operator
|
|
+import re
|
|
|
|
import six
|
|
|
|
@@ -141,10 +142,10 @@ def _version_to_tuple(version):
|
|
|
|
|
|
def _validate_versions(versions):
|
|
- """Raise ``TypeError`` if provided versions are not strings in the form ``<integer>.<integer>``."""
|
|
- for ver in versions:
|
|
- split = ver.split('.')
|
|
- if not len(split) == 2 or not all(x.isdigit() for x in split):
|
|
+ """Raise ``ValueError`` if provided versions are not strings in the form ``<integer>.<integer>``."""
|
|
+ version_format_regex = re.compile(r'^([1-9]\d*)\.(\d+)$')
|
|
+ for version in versions:
|
|
+ if not re.match(version_format_regex, version):
|
|
raise ValueError("Versions have to be in the form of '<integer>.<integer>' "
|
|
"but provided was '{}'".format(versions))
|
|
|
|
--
|
|
2.49.0
|
|
|