From: Zac Medico Date: Tue, 21 Jun 2011 08:14:47 +0000 (-0700) Subject: use_reduce: less strict for installed X-Git-Tag: v2.2.0_alpha42~36 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=a7a196924c936b51a2aac4f3536bf056c518c270;p=portage.git use_reduce: less strict for installed --- 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"]