Override unblock{,-udeb} hints based on the versions they apply to

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>

Based on patches to britney by Philipp Kern <pkern@debian.org>
debian
Adam D. Barratt 15 years ago
parent 644caa3f31
commit 1e4a1aa727

@ -781,6 +781,15 @@ class Britney:
z = {} z = {}
for a, b in hints[x]: for a, b in hints[x]:
if z.has_key(a) and z[a] != b: if z.has_key(a) and z[a] != b:
if x in ['unblock', 'unblock-udeb']:
if apt_pkg.VersionCompare(z[a][0], b[0]) < 0:
# This hint is for a newer version, so discard the old one
self.__log("Overriding %s[%s] = %s with %s" % (x, a, z[a], b), type="W")
else:
# This hint is for an older version, so ignore the new one
self.__log("Ignoring %s[%s] = %s, %s is higher or equal" % (x, a, b, z[a]), type="W")
continue
else:
self.__log("Overriding %s[%s] = %s with %s" % (x, a, z[a], b), type="W") self.__log("Overriding %s[%s] = %s with %s" % (x, a, z[a], b), type="W")
z[a] = b z[a] = b
hints[x] = z hints[x] = z

Loading…
Cancel
Save