From: Zac Medico Date: Mon, 31 Jul 2006 15:08:10 +0000 (-0000) Subject: Add more dependencies to the digraph in order to help prevent strange merge orders... X-Git-Tag: v2.1-r2~20 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=32d1db4af2ecd2a98db1d001e394ad2c7fc73b6e;p=portage.git Add more dependencies to the digraph in order to help prevent strange merge orders for bug #126748. This patch is from trunk r4018:4021. svn path=/main/branches/2.1/; revision=4054 --- diff --git a/bin/emerge b/bin/emerge index fce95547a..ee195e12d 100755 --- a/bin/emerge +++ b/bin/emerge @@ -925,9 +925,15 @@ class depgraph: #"no downgrade" emerge #print "mybigkey:",mybigkey - jbigkey=string.join(mybigkey) - if self.digraph.hasnode(jbigkey+" merge") or self.digraph.hasnode(jbigkey+" nomerge"): - #this conditional is needed to prevent infinite recursion on already-processed deps + jbigkey = " ".join(mybigkey) + " merge" + if self.digraph.hasnode(jbigkey): + 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.digraph.addnode(jbigkey, myparent) + return 1 + jbigkey = " ".join(mybigkey) + " nomerge" + if self.digraph.hasnode(jbigkey): return 1 update_spinner()