summaryrefslogtreecommitdiffstats
path: root/bin/emerge
diff options
context:
space:
mode:
Diffstat (limited to 'bin/emerge')
-rwxr-xr-xbin/emerge20
1 files changed, 11 insertions, 9 deletions
diff --git a/bin/emerge b/bin/emerge
index e139e2a23..477bff713 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -3347,7 +3347,7 @@ class depgraph:
#we need to use "--emptrytree" testing here rather than "empty" param testing because "empty"
#param is used for -u, where you still *do* want to see when something is being upgraded.
- myoldbest = ""
+ myoldbest = []
myinslotlist = None
installed_versions = vardb.match(portage.cpv_getkey(pkg_key))
if vardb.cpv_exists(pkg_key):
@@ -3370,9 +3370,10 @@ class depgraph:
portage.cpv_getkey(pkg_key):
myinslotlist = None
if myinslotlist:
- myoldbest = portage.best(myinslotlist)
+ myoldbest = myinslotlist[:]
addl = " " + fetch
- if portage.pkgcmp(portage.pkgsplit(x[2]), portage.pkgsplit(myoldbest)) < 0:
+ if not portage_dep.cpvequal(pkg_key,
+ portage.best([pkg_key] + myoldbest)):
# Downgrade in slot
addl += turquoise("U")+blue("D")
if ordered:
@@ -3420,7 +3421,7 @@ class depgraph:
cur_use = [flag for flag in cur_use if flag in cur_iuse]
if myoldbest and myinslotlist:
- pkg = myoldbest
+ pkg = myoldbest[0]
else:
pkg = x[2]
if self.trees[x[1]]["vartree"].dbapi.cpv_exists(pkg):
@@ -3587,16 +3588,17 @@ class depgraph:
indent = " " * depth
- if myoldbest:
- if myinslotlist:
- myoldbest = [myoldbest]
+ # Convert myoldbest from a list to a string.
+ if not myoldbest:
+ myoldbest = ""
+ else:
for pos, key in enumerate(myoldbest):
- key = portage.pkgsplit(key)[1] + "-" + portage.pkgsplit(key)[2]
+ key = portage.catpkgsplit(key)[2] + \
+ "-" + portage.catpkgsplit(key)[3]
if key[-3:] == "-r0":
key = key[:-3]
myoldbest[pos] = key
myoldbest = blue("["+", ".join(myoldbest)+"]")
-
pkg_cp = xs[0]
root_config = self.roots[myroot]