1 |
Author: zmedico |
2 |
Date: 2010-02-19 20:56:55 +0000 (Fri, 19 Feb 2010) |
3 |
New Revision: 15397 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/_emerge/Package.py |
7 |
Log: |
8 |
Use isvalidatom to validate PROVIDE entries. |
9 |
|
10 |
|
11 |
Modified: main/trunk/pym/_emerge/Package.py |
12 |
=================================================================== |
13 |
--- main/trunk/pym/_emerge/Package.py 2010-02-19 20:45:15 UTC (rev 15396) |
14 |
+++ main/trunk/pym/_emerge/Package.py 2010-02-19 20:56:55 UTC (rev 15397) |
15 |
@@ -7,7 +7,7 @@ |
16 |
from itertools import chain |
17 |
import portage |
18 |
from portage.cache.mappings import slot_dict_class |
19 |
-from portage.dep import paren_reduce, use_reduce, \ |
20 |
+from portage.dep import isvalidatom, paren_reduce, use_reduce, \ |
21 |
paren_normalize, paren_enclose, _slot_re |
22 |
from _emerge.Task import Task |
23 |
|
24 |
@@ -289,9 +289,15 @@ |
25 |
getattr(self, "_set_" + k.lower())(k, v) |
26 |
elif k in self._use_conditional_keys: |
27 |
try: |
28 |
- use_reduce(paren_reduce(v), matchall=1) |
29 |
+ reduced = use_reduce(paren_reduce(v), matchall=1) |
30 |
except portage.exception.InvalidDependString as e: |
31 |
self._pkg._invalid_metadata(k + ".syntax", "%s: %s" % (k, e)) |
32 |
+ else: |
33 |
+ if reduced and k == 'PROVIDE': |
34 |
+ for x in portage.flatten(reduced): |
35 |
+ if not isvalidatom(x): |
36 |
+ self._pkg._invalid_metadata(k + ".syntax", |
37 |
+ "%s: %s" % (k, x)) |
38 |
|
39 |
def _set_inherited(self, k, v): |
40 |
if isinstance(v, basestring): |