summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-11-29 20:48:15 -0800
committerZac Medico <zmedico@gentoo.org>2010-11-29 20:48:15 -0800
commit2b683ea3f59795ef242361877a3c7e371993d268 (patch)
treed694580623f2a1011f026b8577fb830b4f103722 /pym
parent1a81d7d5ae0f8350348e3f8e43d0251d5e6156df (diff)
downloadportage-2b683ea3f59795ef242361877a3c7e371993d268.tar.gz
portage-2b683ea3f59795ef242361877a3c7e371993d268.tar.bz2
portage-2b683ea3f59795ef242361877a3c7e371993d268.zip
fix missing_enabled/disabled logic for bug 345979
Diffstat (limited to 'pym')
-rw-r--r--pym/_emerge/depgraph.py12
1 files changed, 6 insertions, 6 deletions
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: