diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-07-08 22:02:17 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-07-08 22:02:17 +0000 |
commit | d0fb18b6b0e205dfb0de99e590750fcd77662370 (patch) | |
tree | 69aa205e94d646dc4174d2188cbada096d1811e6 | |
parent | 90ab9855f680b5d863d3b2535212fa5ac8a322c3 (diff) | |
download | portage-d0fb18b6b0e205dfb0de99e590750fcd77662370.tar.gz portage-d0fb18b6b0e205dfb0de99e590750fcd77662370.tar.bz2 portage-d0fb18b6b0e205dfb0de99e590750fcd77662370.zip |
Add a --debug warning message inside _add_pkg in case a potentially infinite
backtracking loop is detected (it should never happen).
svn path=/main/trunk/; revision=13808
-rw-r--r-- | pym/_emerge/depgraph.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 61edea2a8..6689f33e3 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -758,7 +758,19 @@ class depgraph(object): return 1 else: # A slot conflict has occurred. + # The existing node should not already be in + # runtime_pkg_mask, since that would trigger an + # infinite backtracking loop. if self._dynamic_config._allow_backtracking and \ + existing_node in \ + self._dynamic_config._runtime_pkg_mask: + if "--debug" in self._frozen_config.myopts: + writemsg( + "!!! backtracking loop detected: %s %s\n" % \ + (existing_node, + self._dynamic_config._runtime_pkg_mask[ + existing_node]), noiselevel=-1) + elif self._dynamic_config._allow_backtracking and \ not self._accept_blocker_conflicts(): self._add_slot_conflict(pkg) if dep.atom is not None and dep.parent is not None: |