summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/resolver/circular_dependency.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/_emerge/resolver/circular_dependency.py')
-rw-r--r--pym/_emerge/resolver/circular_dependency.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/pym/_emerge/resolver/circular_dependency.py b/pym/_emerge/resolver/circular_dependency.py
index dbb1adf49..0ecdbbe8c 100644
--- a/pym/_emerge/resolver/circular_dependency.py
+++ b/pym/_emerge/resolver/circular_dependency.py
@@ -244,3 +244,18 @@ class circular_dependency_handler(object):
final_solutions.setdefault(pkg, set()).add(solution)
return final_solutions, suggestions
+
+ def debug_print(self):
+ """
+ Create a copy of the digraph, prune all root nodes,
+ and call the debug_print() method.
+ """
+ graph = self.graph.copy()
+ while True:
+ root_nodes = graph.root_nodes(
+ ignore_priority=DepPrioritySatisfiedRange.ignore_medium_soft)
+ if not root_nodes:
+ break
+ graph.difference_update(root_nodes)
+
+ graph.debug_print()