summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-07-09 15:54:47 -0700
committerZac Medico <zmedico@gentoo.org>2011-07-09 15:54:47 -0700
commitda3ad6bd4e0adc5ee928f1886c9c147c637706f2 (patch)
tree3237649eba47faf8e0490bf4c3c33ac74fe86c38 /pym/_emerge
parent50da885309a3a69f0927a730e19026734523b090 (diff)
downloadportage-da3ad6bd4e0adc5ee928f1886c9c147c637706f2.tar.gz
portage-da3ad6bd4e0adc5ee928f1886c9c147c637706f2.tar.bz2
portage-da3ad6bd4e0adc5ee928f1886c9c147c637706f2.zip
circular_dependency: show debug graph earlier
This might help in some cases like bug 374397 where we're troubleshooting the circular_dependency code.
Diffstat (limited to 'pym/_emerge')
-rw-r--r--pym/_emerge/depgraph.py3
-rw-r--r--pym/_emerge/resolver/circular_dependency.py10
2 files changed, 11 insertions, 2 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 899d04e30..64ed50e27 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -5497,8 +5497,7 @@ class depgraph(object):
noiselevel=-1)
portage.writemsg("\n", noiselevel=-1)
- if handler.circular_dep_message is None or \
- "--debug" in self._frozen_config.myopts:
+ if handler.circular_dep_message is None:
handler.debug_print()
portage.writemsg("\n", noiselevel=-1)
diff --git a/pym/_emerge/resolver/circular_dependency.py b/pym/_emerge/resolver/circular_dependency.py
index 9a3286c5c..994e2022d 100644
--- a/pym/_emerge/resolver/circular_dependency.py
+++ b/pym/_emerge/resolver/circular_dependency.py
@@ -4,10 +4,12 @@
from __future__ import print_function
from itertools import chain, product
+import logging
from portage.dep import use_reduce, extract_affecting_use, check_required_use, get_required_use_flags
from portage.exception import InvalidDependString
from portage.output import colorize
+from portage.util import writemsg_level
from _emerge.DepPrioritySatisfiedRange import DepPrioritySatisfiedRange
class circular_dependency_handler(object):
@@ -17,6 +19,14 @@ class circular_dependency_handler(object):
self.graph = graph
self.all_parent_atoms = depgraph._dynamic_config._parent_atoms
+ if "--debug" in depgraph._frozen_config.myopts:
+ # Show this debug output before doing the calculations
+ # that follow, so at least we have this debug info
+ # if we happen to hit a bug later.
+ writemsg_level("\n\ncircular dependency graph:\n\n",
+ level=logging.DEBUG, noiselevel=-1)
+ self.debug_print()
+
self.cycles, self.shortest_cycle = self._find_cycles()
#Guess if it is a large cluster of cycles. This usually requires
#a global USE change.