[elbe-devel] [PATCH v2 4/4] Fix pkg list validation error on version wildcards
Torben Hohn
torben.hohn at linutronix.de
Thu Mar 11 10:20:31 CET 2021
When version is specified using wildcards (glob), the simple comparison
of versions fails, and the build fails.
Use fnmatchcase, which is the actual matcher used in pythons glob module,
to match version strings. re is not used, because + is a special character
there and versions containing + doe not match themselves, when interpreted
as re.
Fixes: #276
Signed-off-by: Torben Hohn <torben.hohn at linutronix.de>
---
elbepack/dump.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/elbepack/dump.py b/elbepack/dump.py
index edc6637f6..56ce54d60 100644
--- a/elbepack/dump.py
+++ b/elbepack/dump.py
@@ -7,6 +7,7 @@
import logging
+from fnmatch import fnmatchcase
from datetime import datetime
from apt import Cache
@@ -106,7 +107,7 @@ def check_full_pkgs(pkgs, fullpkgs, cache):
ver = p.et.get('version')
pkg = cache.get_pkg(nomulti_name)
- if ver and (pkg.installed_version != ver):
+ if ver and fnmatchcase(pkg.installed_version, ver):
validation.error("Package '%s' version '%s' does not match installed version %s",
name, ver, pkg.installed_version)
errors += 1
@@ -143,7 +144,7 @@ def check_full_pkgs(pkgs, fullpkgs, cache):
pkg = cache.get_pkg(name)
- if pkg.installed_version != ver:
+ if fnmatchcase(pkg.installed_version, ver):
validation.error("Package '%s' version %s does not match installed version %s",
name, ver, pkg.installed_version)
errors += 1
--
2.20.1
More information about the elbe-devel
mailing list