From: Zac Medico Date: Tue, 30 Nov 2010 04:48:15 +0000 (-0800) Subject: fix missing_enabled/disabled logic for bug 345979 X-Git-Tag: v2.2.0_alpha7~25 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=2b683ea3f59795ef242361877a3c7e371993d268;p=portage.git fix missing_enabled/disabled logic for bug 345979 --- diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index b369a3a83..4ccbaab18 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -2994,6 +2994,9 @@ class depgraph(object): missing_disabled = atom.use.missing_disabled.difference(pkg.iuse.all) if atom.use.enabled: + if atom.use.enabled.intersection(missing_disabled): + use_match = False + can_adjust_use = False need_enabled = atom.use.enabled.difference(use) if need_enabled: need_enabled = need_enabled.difference(missing_enabled) @@ -3002,11 +3005,11 @@ class depgraph(object): if can_adjust_use: if pkg.use.mask.intersection(need_enabled): can_adjust_use = False - if can_adjust_use: - if missing_disabled.intersection(need_enabled): - can_adjust_use = False if atom.use.disabled: + if atom.use.disabled.intersection(missing_enabled): + use_match = False + can_adjust_use = False need_disabled = atom.use.disabled.intersection(use) if need_disabled: need_disabled = need_disabled.difference(missing_disabled) @@ -3016,9 +3019,6 @@ class depgraph(object): if pkg.use.force.difference( pkg.use.mask).intersection(need_disabled): can_adjust_use = False - if can_adjust_use: - if missing_enabled.intersection(need_disabled): - can_adjust_use = False if not use_match: if can_adjust_use: