summaryrefslogtreecommitdiff
path: root/pym
diff options
context:
space:
mode:
Diffstat (limited to 'pym')
-rw-r--r--pym/_emerge/__init__.py2
-rw-r--r--pym/portage/sets/__init__.py4
-rw-r--r--pym/portage/sets/base.py1
3 files changed, 6 insertions, 1 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index d2068f1a..18ad9abd 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -4738,7 +4738,7 @@ class depgraph(object):
del e
all_added = []
for k in self._sets:
- if k in ("args", "world"):
+ if k in ("args", "world") or not root_config.sets[k].world_candidate:
continue
s = SETPREFIX + k
if s in world_set:
diff --git a/pym/portage/sets/__init__.py b/pym/portage/sets/__init__.py
index 554b534b..d688164b 100644
--- a/pym/portage/sets/__init__.py
+++ b/pym/portage/sets/__init__.py
@@ -67,6 +67,8 @@ class SetConfig(SafeConfigParser):
if x in self.psets:
self.errors.append("Redefinition of set '%s' (sections: '%s', '%s')" % (setname, self.psets[setname].creator, sname))
newsets[x].creator = sname
+ if self.has_option(sname, "world-candidate") and not self.getboolean(sname, "world-candidate"):
+ newsets[x].world_candidate = False
self.psets.update(newsets)
else:
self.errors.append("Section '%s' is configured as multiset, but '%s' doesn't support that configuration" % (sname, classname))
@@ -82,6 +84,8 @@ class SetConfig(SafeConfigParser):
try:
self.psets[setname] = setclass.singleBuilder(optdict, self.settings, self.trees)
self.psets[setname].creator = sname
+ if self.has_option(sname, "world-candidate") and not self.getboolean(sname, "world-candidate"):
+ self.psets[setname].world_candidate = False
except SetConfigError, e:
self.errors.append("Configuration error in section '%s': %s" % (sname, str(e)))
continue
diff --git a/pym/portage/sets/base.py b/pym/portage/sets/base.py
index 50702cff..d64b632f 100644
--- a/pym/portage/sets/base.py
+++ b/pym/portage/sets/base.py
@@ -24,6 +24,7 @@ class PackageSet(object):
self._loading = False
self.errors = []
self._nonatoms = set()
+ self.world_candidate = True
def __contains__(self, atom):
self._load()