summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlav Vitters <olav@vitters.nl>2013-08-23 14:59:41 +0200
committerOlav Vitters <olav@vitters.nl>2013-08-23 14:59:41 +0200
commit353942e59bd9c0919acccefb5d229e2a051f8fb2 (patch)
treef39bcb8c6a63585edd2a8659780ff0ea0ac63069
parent40a6e5dead3c906f999d941e8336845f0b91e63c (diff)
downloadmgagnome-353942e59bd9c0919acccefb5d229e2a051f8fb2.tar
mgagnome-353942e59bd9c0919acccefb5d229e2a051f8fb2.tar.gz
mgagnome-353942e59bd9c0919acccefb5d229e2a051f8fb2.tar.bz2
mgagnome-353942e59bd9c0919acccefb5d229e2a051f8fb2.tar.xz
mgagnome-353942e59bd9c0919acccefb5d229e2a051f8fb2.zip
if suggested package is not latest possible version, ensure version increase is safe
-rwxr-xr-xmgagnome10
1 files changed, 10 insertions, 0 deletions
diff --git a/mgagnome b/mgagnome
index 4aad7ea..de13bb2 100755
--- a/mgagnome
+++ b/mgagnome
@@ -662,7 +662,17 @@ class Downstream(object):
return matches
# Return all packages reflecting the version before the current version
+ # - determine the newest version in any spec file
+ latest_possible_version = get_latest_version(packages.values())
+ # - now get the latest version before the current version
latest_version = get_latest_version(packages.values(), max_version=version)
+ # - if the latest_possible_spec version is not the latest version, then
+ # ensure it follows get_safe_max_version
+ if latest_version != latest_possible_version and version_cmp(get_safe_max_version(latest_version, upstream), \
+ version):
+ raise ValueError("Multiple packages found and unsafe version increase: %s (%s => %s)" % (upstream, latest_version, version))
+
+ # - now really get the right packages
matches = [package for package in packages if packages[package] == latest_version]
if len(matches):
return matches