From e0a1d8472b64543d2540ca5f9900bdaefbc41fff Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 22 Jul 2008 06:39:31 +0000 Subject: Fix resume_depgraph() so that it doesn't raise an AssertionError due to unsatisfied PDEPEND. svn path=/main/trunk/; revision=11166 --- pym/_emerge/__init__.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'pym/_emerge') 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, \ -- cgit v1.2.3-1-g7c22