summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/__init__.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 43649ab45..913c70563 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -4446,8 +4446,18 @@ def cpv_expand(mycpv, mydb=None, use_cache=1, settings=None):
for x in settings.categories:
if mydb.cp_list(x+"/"+myp,use_cache=use_cache):
matches.append(x+"/"+myp)
- if (len(matches)>1):
- raise ValueError, matches
+ if len(matches) > 1:
+ if len(matches) == 2:
+ for x in matches:
+ if not x.startswith("virtual/"):
+ # Assume that the non-virtual is desired. This helps
+ # avoid the ValueError for invalid deps that come from
+ # installed packages (during reverse blocker detection,
+ # for example).
+ mykey = x
+ break
+ if mykey is None:
+ raise ValueError, matches
elif matches:
mykey=matches[0]