summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/__init__.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index ae471a975..73ba3e631 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -3453,6 +3453,7 @@ class depgraph(object):
for pkg in vardb:
cpv = pkg.cpv
stale_cache.discard(cpv)
+ pkg_in_graph = self.digraph.contains(pkg)
# Check for masked installed packages. For keyword
# mask there are a couple of common cases that are
@@ -3478,18 +3479,18 @@ class depgraph(object):
# TODO: Share visibility code to fix this inconsistency.
if pkg in final_db:
- if not visible(pkgsettings, pkg):
+ if pkg_in_graph and not visible(pkgsettings, pkg):
self._masked_installed.add(pkg)
elif graph_complete_for_root and \
pkgsettings.getMissingKeywords(
pkg.cpv, pkg.metadata) and \
pkg.metadata["KEYWORDS"].split() and \
- not self.digraph.contains(pkg):
+ not pkg_in_graph:
self._masked_installed.add(pkg)
blocker_atoms = None
blockers = None
- if self.digraph.contains(pkg):
+ if pkg_in_graph:
blockers = []
try:
blockers.extend(