diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-02-12 07:04:46 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-02-12 07:04:46 +0000 |
commit | a743cc567b636e27d83d14202afcc28cc55ac2fe (patch) | |
tree | d5d1df408c591eeb3d76e4de93617bfb6bf64366 | |
parent | 54421fd308149c4b6623557f072a64131bd728ab (diff) | |
download | portage-a743cc567b636e27d83d14202afcc28cc55ac2fe.tar.gz portage-a743cc567b636e27d83d14202afcc28cc55ac2fe.tar.bz2 portage-a743cc567b636e27d83d14202afcc28cc55ac2fe.zip |
In the event of a circular dependency panic, eliminate root nodes in order to reduce the noise level to a minimum.
svn path=/main/trunk/; revision=5956
-rwxr-xr-x | bin/emerge | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/bin/emerge b/bin/emerge index e97127b4f..1c8e02f6a 100755 --- a/bin/emerge +++ b/bin/emerge @@ -2057,6 +2057,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) |