1 |
Author: genone |
2 |
Date: 2008-05-02 03:24:30 +0000 (Fri, 02 May 2008) |
3 |
New Revision: 10075 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/portage/sets/__init__.py |
7 |
Log: |
8 |
check if a given package set is defined more than once |
9 |
|
10 |
Modified: main/trunk/pym/portage/sets/__init__.py |
11 |
=================================================================== |
12 |
--- main/trunk/pym/portage/sets/__init__.py 2008-05-02 03:24:05 UTC (rev 10074) |
13 |
+++ main/trunk/pym/portage/sets/__init__.py 2008-05-02 03:24:30 UTC (rev 10075) |
14 |
@@ -32,7 +32,6 @@ |
15 |
self.settings = settings |
16 |
self._parsed = False |
17 |
self.active = [] |
18 |
- self.aliases = {} |
19 |
|
20 |
def _parse(self): |
21 |
if self._parsed: |
22 |
@@ -58,11 +57,17 @@ |
23 |
# create single or multiple instances of the given class depending on configuration |
24 |
if self.has_option(sname, "multiset") and self.getboolean(sname, "multiset"): |
25 |
if hasattr(setclass, "multiBuilder"): |
26 |
+ newsets = {} |
27 |
try: |
28 |
- self.psets.update(setclass.multiBuilder(optdict, self.settings, self.trees)) |
29 |
+ newsets = setclass.multiBuilder(optdict, self.settings, self.trees) |
30 |
except SetConfigError, e: |
31 |
self.errors.append("Configuration error in section '%s': %s" % (sname, str(e))) |
32 |
continue |
33 |
+ for x in newsets: |
34 |
+ if x in self.psets: |
35 |
+ self.errors.append("Redefinition of set '%s' (sections: '%s', '%s')" % (setname, self.psets[setname].creator, sname)) |
36 |
+ newsets[x].creator = sname |
37 |
+ self.psets.update(newsets) |
38 |
else: |
39 |
self.errors.append("Section '%s' is configured as multiset, but '%s' doesn't support that configuration" % (sname, classname)) |
40 |
continue |
41 |
@@ -71,9 +76,12 @@ |
42 |
setname = self.get(sname, "name") |
43 |
except NoOptionError: |
44 |
setname = sname |
45 |
+ if setname in self.psets: |
46 |
+ self.errors.append("Redefinition of set '%s' (sections: '%s', '%s')" % (setname, self.psets[setname].creator, sname)) |
47 |
if hasattr(setclass, "singleBuilder"): |
48 |
try: |
49 |
self.psets[setname] = setclass.singleBuilder(optdict, self.settings, self.trees) |
50 |
+ self.psets[setname].creator = sname |
51 |
except SetConfigError, e: |
52 |
self.errors.append("Configuration error in section '%s': %s" % (sname, str(e))) |
53 |
continue |
54 |
|
55 |
-- |
56 |
gentoo-commits@l.g.o mailing list |