summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/emerge/__init__.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/emerge/__init__.py b/pym/emerge/__init__.py
index e681fd231..63146e93a 100644
--- a/pym/emerge/__init__.py
+++ b/pym/emerge/__init__.py
@@ -1936,13 +1936,15 @@ class depgraph(object):
existing_node = None
myeb = None
usepkgonly = "--usepkgonly" in self.myopts
+ empty = "empty" in self.myparams
+ selective = "selective" in self.myparams
for find_existing_node in True, False:
if existing_node:
break
for db, pkg_type, built, installed, db_keys in dbs:
if existing_node:
break
- if installed and matched_packages:
+ if installed and (matched_packages or empty):
# We only need to select an installed package here
# if there is no other choice.
continue
@@ -2061,6 +2063,8 @@ class depgraph(object):
"empty" not in self.myparams and \
vardb.cpv_exists(cpv):
break
+ if installed and not (selective or not myarg):
+ break
# Metadata accessed above is cached internally by
# each db in order to optimize visibility checks.
# Now that all possible checks visibility checks