summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/emerge/__init__.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/pym/emerge/__init__.py b/pym/emerge/__init__.py
index 0e96e5032..f93e93adc 100644
--- a/pym/emerge/__init__.py
+++ b/pym/emerge/__init__.py
@@ -2777,8 +2777,10 @@ class depgraph(object):
pkg_status = x[3]
pkg_merge = ordered and pkg_status != "nomerge"
binary_package = pkg_type != "ebuild"
- if pkg_node in self._slot_collision_nodes:
- # The metadata isn't cached due to the slot collision.
+ if pkg_node in self._slot_collision_nodes or \
+ (pkg_status == "nomerge" and pkg_type != "installed"):
+ # The metadata isn't cached due to a slot collision or
+ # --onlydeps.
mydbapi = self.trees[myroot][self.pkg_tree_map[pkg_type]].dbapi
else:
mydbapi = self.mydbapi[myroot] # contains cached metadata