diff options
Diffstat (limited to 'pym/_emerge/resolver')
-rw-r--r-- | pym/_emerge/resolver/circular_dependency.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/pym/_emerge/resolver/circular_dependency.py b/pym/_emerge/resolver/circular_dependency.py index 08dd5c55f..aabc174f2 100644 --- a/pym/_emerge/resolver/circular_dependency.py +++ b/pym/_emerge/resolver/circular_dependency.py @@ -6,6 +6,7 @@ from __future__ import print_function from itertools import chain from portage.dep import use_reduce, extract_affecting_use, check_required_use, get_required_use_flags +from portage.exception import InvalidDependString from portage.output import colorize from _emerge.DepPrioritySatisfiedRange import DepPrioritySatisfiedRange @@ -112,8 +113,13 @@ class circular_dependency_handler(object): parent_atom = atom.unevaluated_atom break - affecting_use = extract_affecting_use(dep, parent_atom, - eapi=parent.metadata["EAPI"]) + try: + affecting_use = extract_affecting_use(dep, parent_atom, + eapi=parent.metadata["EAPI"]) + except InvalidDependString: + if not parent.installed: + raise + affecting_use = set() # Make sure we don't want to change a flag that is # a) in use.mask or use.force |