diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-02-12 07:11:06 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-02-12 07:11:06 +0000 |
commit | eb537b378cff012d58bdb3f16eb9de4fff1a8bf9 (patch) | |
tree | 41d2c0d27fac96fb01ecf4825a23ab0eb52e8a6d | |
parent | 8d336ab9cb3479b504ae30f4088530e3448ef3ed (diff) | |
download | portage-eb537b378cff012d58bdb3f16eb9de4fff1a8bf9.tar.gz portage-eb537b378cff012d58bdb3f16eb9de4fff1a8bf9.tar.bz2 portage-eb537b378cff012d58bdb3f16eb9de4fff1a8bf9.zip |
In the event of a circular dependency panic, eliminate root nodes in order to reduce the noise level to a minimum. (trunk r5956)
svn path=/main/branches/2.1.2/; revision=5957
-rwxr-xr-x | bin/emerge | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/bin/emerge b/bin/emerge index a4888188a..06e9b9eb2 100755 --- a/bin/emerge +++ b/bin/emerge @@ -2054,6 +2054,15 @@ class depgraph: self.altlist() print "!!! Error: circular dependencies:" print + # Reduce the noise level to a minimum via elimination of root + # nodes. + while True: + root_nodes = mygraph.root_nodes( + ignore_priority=DepPriority.SOFT) + if not root_nodes: + break + for node in root_nodes: + mygraph.remove(node) mygraph.debug_print() sys.exit(1) |