summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/emerge19
1 files changed, 13 insertions, 6 deletions
diff --git a/bin/emerge b/bin/emerge
index cde831622..78130487d 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -802,6 +802,7 @@ class depgraph:
self.edebug = 1
self.spinner = spinner
self.pkgsettings = {}
+ # Maps cpv to digraph node for "merge" nodes only.
self.pkg_node_map = {}
self.mydbapi = {}
self._mydbapi_keys = ["SLOT", "DEPEND", "RDEPEND", "PDEPEND"]
@@ -863,20 +864,24 @@ class depgraph:
if addme and jbigkey != myparent:
# Refuse to make a node depend on itself so that the we don't
# don't create a bogus circular dependency in self.altlist().
- self.pkg_node_map[myroot][mykey] = jbigkey
+ if jbigkey[-1] == "merge":
+ self.pkg_node_map[myroot][mykey] = jbigkey
if rev_dep and myparent:
ptype, proot, pkey, pstatus = myparent
- self.pkg_node_map[proot][pkey] = myparent
+ if myparent[-1] == "merge":
+ self.pkg_node_map[proot][pkey] = myparent
self.digraph.addnode(myparent, jbigkey, priority=priority)
else:
self.digraph.addnode(jbigkey, myparent, priority=priority)
return 1
jbigkey = tuple(chain(mybigkey, ["nomerge"]))
if self.digraph.hasnode(jbigkey):
- self.pkg_node_map[myroot][mykey] = jbigkey
+ if jbigkey[-1] == "merge":
+ self.pkg_node_map[myroot][mykey] = jbigkey
if rev_dep and myparent:
ptype, proot, pkey, pstatus = myparent
- self.pkg_node_map[proot][pkey] = myparent
+ if myparent[-1] == "merge":
+ self.pkg_node_map[proot][pkey] = myparent
self.digraph.addnode(myparent, jbigkey, priority=priority)
else:
self.digraph.addnode(jbigkey, myparent, priority=priority)
@@ -951,10 +956,12 @@ class depgraph:
depgraph already and returned, or we are here. Whether we are merging or not; we must
add the package to the depgraph; so we do that here. """
jbigkey = tuple(mybigkey)
- self.pkg_node_map[myroot][mykey] = jbigkey
+ if jbigkey[-1] == "merge":
+ self.pkg_node_map[myroot][mykey] = jbigkey
if rev_dep and myparent:
ptype, proot, pkey, pstatus = myparent
- self.pkg_node_map[proot][pkey] = myparent
+ if myparent[-1] == "merge":
+ self.pkg_node_map[proot][pkey] = myparent
self.digraph.addnode(myparent, jbigkey,
priority=priority)
else: