aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-08-27 16:41:20 -0700
committerZac Medico <zmedico@gentoo.org>2010-08-27 16:41:20 -0700
commitea1fa3b9c473a0f20fb7fb5083fcfd9b5ab51db6 (patch)
treee201ee302512f4de4a379fe89851d00ff5569664 /bin
parentMerge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage (diff)
downloadportage-ea1fa3b9c473a0f20fb7fb5083fcfd9b5ab51db6.tar.gz
portage-ea1fa3b9c473a0f20fb7fb5083fcfd9b5ab51db6.tar.bz2
portage-ea1fa3b9c473a0f20fb7fb5083fcfd9b5ab51db6.zip
Define a cmp work-alike function for use in the egencache
--update-use-local-desc code, since it's ugly to have so many repetitions of this construct.
Diffstat (limited to 'bin')
-rwxr-xr-xbin/egencache16
1 files changed, 11 insertions, 5 deletions
diff --git a/bin/egencache b/bin/egencache
index eaed7b655..b8c2c82a2 100755
--- a/bin/egencache
+++ b/bin/egencache
@@ -337,6 +337,13 @@ class GenUseLocalDesc(object):
'''.lstrip())
+ # The cmp function no longer exists in python3, so we'll
+ # implement our own here under a slightly different name
+ # since we don't want any confusion given that we never
+ # want to rely on the builtin cmp function.
+ def cmp_func(a, b):
+ return (a > b) - (a < b)
+
for cp in self._portdb.cp_all():
metadata_path = os.path.join(repo_path, cp, 'metadata.xml')
try:
@@ -361,18 +368,17 @@ class GenUseLocalDesc(object):
def atomcmp(atoma, atomb):
# None is better than an atom, that's why we reverse the args
if atoma is None or atomb is None:
- return -1 * ((atoma > atomb) - (atoma < atomb))
+ return cmp_func(atomb, atoma)
# Same for plain PNs (.operator is None then)
elif atoma.operator is None or atomb.operator is None:
- return -1 * ((atoma.operator > atomb.operator) - \
- (atoma.operator < atomb.operator))
+ return cmp_func(atomb.operator, atoma.operator)
# Version matching
elif atoma.cpv != atomb.cpv:
return pkgcmp(pkgsplit(atoma.cpv), pkgsplit(atomb.cpv))
# Versions match, let's fallback to operator matching
else:
- return ((ops.get(atoma.operator, -1) > ops.get(atomb.operator, -1)) - \
- (ops.get(atoma.operator, -1) < ops.get(atomb.operator, -1)))
+ return cmp_func(ops.get(atoma.operator, -1),
+ ops.get(atomb.operator, -1))
def _Atom(key):
if key is not None: