diff options
Diffstat (limited to 'pym/_emerge/depgraph.py')
-rw-r--r-- | pym/_emerge/depgraph.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index abe2cb1bd..b4fc5f297 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -5707,6 +5707,7 @@ class depgraph(object): if self._dynamic_config._autounmask is not True: return + autounmask_keep_keywords = self._frozen_config.myopts.get("--autounmask-keep-keywords", "n") != "n" autounmask_keep_masks = self._frozen_config.myopts.get("--autounmask-keep-masks", "n") != "n" autounmask_level = self._AutounmaskLevel() @@ -5716,14 +5717,16 @@ class depgraph(object): autounmask_level.allow_license_changes = True yield autounmask_level - autounmask_level.allow_unstable_keywords = True - yield autounmask_level - - if not autounmask_keep_masks: + if not autounmask_keep_keywords: + autounmask_level.allow_unstable_keywords = True + yield autounmask_level + if not (autounmask_keep_keywords or autounmask_keep_masks): + autounmask_level.allow_unstable_keywords = True autounmask_level.allow_missing_keywords = True yield autounmask_level + if not autounmask_keep_masks: # 4. USE + license + masks # Try to respect keywords while discarding # package.mask (see bug #463394). @@ -5732,6 +5735,7 @@ class depgraph(object): autounmask_level.allow_unmasks = True yield autounmask_level + if not (autounmask_keep_keywords or autounmask_keep_masks): autounmask_level.allow_unstable_keywords = True for missing_keyword, unmask in ((False, True), (True, True)): |