From 2f9ee1635ca33f347e6eaa523e965c7172cd481e Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 21 Jan 2013 13:30:13 -0800 Subject: Fix default use match for implicit IUSE. 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. --- pym/portage/dep/__init__.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'pym/portage/dep/__init__.py') diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py index 511753116..1edbab76f 100644 --- a/pym/portage/dep/__init__.py +++ b/pym/portage/dep/__init__.py @@ -2282,9 +2282,11 @@ def match_from_list(mydep, candidate_list): continue if mydep.use: - - missing_enabled = mydep.use.missing_enabled.difference(x.iuse.all) - missing_disabled = mydep.use.missing_disabled.difference(x.iuse.all) + is_valid_flag = x.iuse.is_valid_flag + missing_enabled = frozenset(flag for flag in + mydep.use.missing_enabled if not is_valid_flag(flag)) + missing_disabled = frozenset(flag for flag in + mydep.use.missing_disabled if not is_valid_flag(flag)) if mydep.use.enabled: if any(f in mydep.use.enabled for f in missing_disabled): -- cgit v1.2.3-1-g7c22