aboutsummaryrefslogtreecommitdiff
path: root/python/scripts
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2023-08-08 13:25:09 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2023-08-28 09:55:05 +0200
commit67b9a83daf384f3dc24e83f22da40e34da49021d (patch)
tree616c2430e516391eb90b22c493329aa2ddd39925 /python/scripts
parent87f77f58d897314f0726374ce8f9cdf44ccd9c5b (diff)
downloadqemu-67b9a83daf384f3dc24e83f22da40e34da49021d.zip
qemu-67b9a83daf384f3dc24e83f22da40e34da49021d.tar.gz
qemu-67b9a83daf384f3dc24e83f22da40e34da49021d.tar.bz2
python: mkvenv: tweak the matching of --diagnose to depspecs
Move the matching between the "absent" array and dep_specs[0] inside the loop, preparing for the possibility of having multiple canaries among the installed packages. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'python/scripts')
-rw-r--r--python/scripts/mkvenv.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/python/scripts/mkvenv.py b/python/scripts/mkvenv.py
index a47f1ea..399659b 100644
--- a/python/scripts/mkvenv.py
+++ b/python/scripts/mkvenv.py
@@ -806,6 +806,7 @@ def _do_ensure(
"""
absent = []
present = []
+ canary = None
for spec in dep_specs:
matcher = distlib.version.LegacyMatcher(spec)
ver = _get_version(matcher.name)
@@ -817,6 +818,8 @@ def _do_ensure(
or not matcher.match(distlib.version.LegacyVersion(ver))
):
absent.append(spec)
+ if spec == dep_specs[0]:
+ canary = prog
else:
logger.info("found %s %s", matcher.name, ver)
present.append(matcher.name)
@@ -839,7 +842,7 @@ def _do_ensure(
absent[0],
online,
wheels_dir,
- prog if absent[0] == dep_specs[0] else None,
+ canary,
)
return None