summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2013-01-21 13:30:13 -0800
committerZac Medico <zmedico@gentoo.org>2013-01-21 13:30:13 -0800
commit2f9ee1635ca33f347e6eaa523e965c7172cd481e (patch)
treee19242a6763b358ea70156c911886e34c250c592 /pym/_emerge
parent24e65d4490c9650bc446cf342a2fc04326d17fb8 (diff)
downloadportage-2f9ee1635ca33f347e6eaa523e965c7172cd481e.tar.gz
portage-2f9ee1635ca33f347e6eaa523e965c7172cd481e.tar.bz2
portage-2f9ee1635ca33f347e6eaa523e965c7172cd481e.zip
Fix default use match for implicit IUSE.v2.2.0_alpha159
This will fix bug #453400, which was triggered by inconsistency between the enabled USE and the effective missing_disabled set used in matching logic, due to implicit IUSE.
Diffstat (limited to 'pym/_emerge')
-rw-r--r--pym/_emerge/depgraph.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 7a967957c..73ee3e982 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -4418,8 +4418,11 @@ class depgraph(object):
use_match = True
can_adjust_use = not pkg.built
- missing_enabled = atom.use.missing_enabled.difference(pkg.iuse.all)
- missing_disabled = atom.use.missing_disabled.difference(pkg.iuse.all)
+ is_valid_flag = pkg.iuse.is_valid_flag
+ missing_enabled = frozenset(x for x in
+ atom.use.missing_enabled if not is_valid_flag(x))
+ missing_disabled = frozenset(x for x in
+ atom.use.missing_disabled if not is_valid_flag(x))
if atom.use.enabled:
if any(x in atom.use.enabled for x in missing_disabled):