diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-06-21 01:14:47 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-06-21 01:14:47 -0700 |
commit | a7a196924c936b51a2aac4f3536bf056c518c270 (patch) | |
tree | 352af4e0a1792c7010b824bbada2f17158ba30a7 | |
parent | bd3a6386eb50fdab72f092a4c0585ef152c7019e (diff) | |
download | portage-a7a196924c936b51a2aac4f3536bf056c518c270.tar.gz portage-a7a196924c936b51a2aac4f3536bf056c518c270.tar.bz2 portage-a7a196924c936b51a2aac4f3536bf056c518c270.zip |
use_reduce: less strict for installed
-rw-r--r-- | pym/_emerge/resolver/circular_dependency.py | 14 |
1 files 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"] |