summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-10-31 22:12:41 +0000
committerZac Medico <zmedico@gentoo.org>2007-10-31 22:12:41 +0000
commit052bd7b2a0acf97e890e59fa1693077b8aaae2e8 (patch)
treefb1e3b1c9336335a2ba3f9576aead92cba5b55b7 /pym
parente7f9d6e222313c7b2565284785221be38937de39 (diff)
downloadportage-052bd7b2a0acf97e890e59fa1693077b8aaae2e8.tar.gz
portage-052bd7b2a0acf97e890e59fa1693077b8aaae2e8.tar.bz2
portage-052bd7b2a0acf97e890e59fa1693077b8aaae2e8.zip
Make depgraph.select_files() recursively expand sets given as
arguments so that containment tests in _get_parent_sets() properly match atoms in nested sets (like if world contains system). Otherwise, atoms from nested sets would get recorded in the world file. svn path=/main/trunk/; revision=8350
Diffstat (limited to 'pym')
-rw-r--r--pym/_emerge/__init__.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 3f8ab808c..83e0d1af5 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -1644,7 +1644,14 @@ class depgraph(object):
def select_files(self, myfiles, mysets):
"given a list of .tbz2s, .ebuilds and deps, create the appropriate depgraph and return a favorite list"
- self._sets.update(mysets)
+ # Recursively expand sets so that containment tests in
+ # self._get_parent_sets() properly match atoms in nested
+ # sets (like if world contains system). Otherwise, atoms
+ # from nested sets would get recorded in the world file.
+ setconfig = self.settings.setconfig
+ for set_name in mysets:
+ self._sets[set_name] = InternalPackageSet(
+ initial_atoms=setconfig.getSetAtoms(set_name))
myfavorites=[]
myroot = self.target_root
dbs = self._filtered_trees[myroot]["dbs"]