summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-07-22 06:39:31 +0000
committerZac Medico <zmedico@gentoo.org>2008-07-22 06:39:31 +0000
commite0a1d8472b64543d2540ca5f9900bdaefbc41fff (patch)
treebf8cd0aa716b989cc5279555490f5e4d6f59a96c
parent306ff9a76caf570eea8cdfcbb75959d242d56bea (diff)
downloadportage-e0a1d8472b64543d2540ca5f9900bdaefbc41fff.tar.gz
portage-e0a1d8472b64543d2540ca5f9900bdaefbc41fff.tar.bz2
portage-e0a1d8472b64543d2540ca5f9900bdaefbc41fff.zip
Fix resume_depgraph() so that it doesn't raise an AssertionError due to
unsatisfied PDEPEND. svn path=/main/trunk/; revision=11166
-rw-r--r--pym/_emerge/__init__.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index aa2cbfdbf..9126fa9e0 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -12088,13 +12088,11 @@ def resume_depgraph(settings, trees, mtimedb, myopts, myparams, spinner,
if isinstance(x, list) and \
tuple(x) not in unsatisfied_parents]
- # It shouldn't happen, but if the size of mergelist
- # does not decrease for some reason then the loop
- # will be infinite. Therefore, if that case ever
- # occurs for some reason, raise the exception to
- # break out of the loop.
+ # If the mergelist doesn't shrink then this loop is infinite.
if len(pruned_mergelist) == len(mergelist):
- raise AssertionError("tight loop")
+ # This happens if a package can't be dropped because
+ # it's already installed, but it has unsatisfied PDEPEND.
+ raise
mergelist[:] = pruned_mergelist
dropped_tasks.update(unsatisfied_parents)
del e, graph, traversed_nodes, \