From 37a999b34539547395dc86c6a6e2e3095fc4f800 Mon Sep 17 00:00:00 2001 From: Marius Mauch Date: Fri, 2 May 2008 04:17:52 +0000 Subject: add config option for package sets to not be recorded in 'world' svn path=/main/trunk/; revision=10077 --- pym/_emerge/__init__.py | 2 +- pym/portage/sets/__init__.py | 4 ++++ pym/portage/sets/base.py | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) (limited to 'pym') diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index d2068f1ae..18ad9abd1 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 554b534bc..d688164b5 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 50702cff3..d64b632f9 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() -- cgit v1.2.3-1-g7c22