From: Sebastian Luther Date: Tue, 13 Apr 2010 12:37:49 +0000 (+0200) Subject: Add missing IUSE check in portage.dep._check_required_use() X-Git-Tag: v2.2_rc68~338 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=c4d225f0bdedd7be72a5b6b2f10345773233cead;p=portage.git Add missing IUSE check in portage.dep._check_required_use() --- diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py index 9a3667136..a2dbbe9d0 100644 --- a/pym/portage/dep/__init__.py +++ b/pym/portage/dep/__init__.py @@ -1493,8 +1493,20 @@ def _check_required_use(constraints, use, iuse): unsat.append([constraint, constraints[id+1]]) else: #a simple use flag i.e. A or !A - if (constraint[0] == "!" and constraint[1:] not in use) or \ - (constraint[0] != "!" and constraint in use): + if constraint[0] == "!": + flag = constraint[1:] + not_operator = True + else: + flag = constraint + not_operator = False + + if not flag in iuse: + raise portage.exception.InvalidRequiredUseString( + ("check_required_use(): '%s' contains the use flag '%s', which" + \ + " is not in IUSE") % (constraints, flag)) + + if (not_operator and flag not in use) or \ + (not not_operator and constraint in use): sat.append([constraint]) else: unsat.append([constraint])