diff options
-rw-r--r-- | pym/emerge/__init__.py | 6 |
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 |