From a7a196924c936b51a2aac4f3536bf056c518c270 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 21 Jun 2011 01:14:47 -0700 Subject: use_reduce: less strict for installed --- pym/_emerge/resolver/circular_dependency.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pym/_emerge/resolver/circular_dependency.py b/pym/_emerge/resolver/circular_dependency.py index aabc174f2..17898012e 100644 --- a/pym/_emerge/resolver/circular_dependency.py +++ b/pym/_emerge/resolver/circular_dependency.py @@ -174,10 +174,16 @@ class circular_dependency_handler(object): current_use.add(flag) else: current_use.discard(flag) - reduced_dep = use_reduce(dep, - uselist=current_use, flat=True) - - if parent_atom not in reduced_dep: + try: + reduced_dep = use_reduce(dep, + uselist=current_use, flat=True) + except InvalidDependString: + if not parent.installed: + raise + reduced_dep = None + + if reduced_dep is not None and \ + parent_atom not in reduced_dep: #We found an assignment that removes the atom from 'dep'. #Make sure it doesn't conflict with REQUIRED_USE. required_use = parent.metadata["REQUIRED_USE"] -- cgit v1.2.3-1-g7c22