diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-11-29 20:48:15 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-12-03 22:20:16 -0800 |
commit | 4686b00eb753020672a0890f51e2321e36da2ddd (patch) | |
tree | 1865a51a2524fdd3b8ac824e0a807cb494b97b6d | |
parent | de7a3198bf97b8a9ae2b2559e6efb2294dc60ca1 (diff) | |
download | portage-4686b00eb753020672a0890f51e2321e36da2ddd.tar.gz portage-4686b00eb753020672a0890f51e2321e36da2ddd.tar.bz2 portage-4686b00eb753020672a0890f51e2321e36da2ddd.zip |
fix missing_enabled/disabled logic for bug 345979
-rw-r--r-- | pym/_emerge/depgraph.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 39522e381..730511995 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -2964,6 +2964,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) @@ -2972,11 +2975,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) @@ -2986,9 +2989,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: |