diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-10-31 22:12:41 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-10-31 22:12:41 +0000 |
commit | 052bd7b2a0acf97e890e59fa1693077b8aaae2e8 (patch) | |
tree | fb1e3b1c9336335a2ba3f9576aead92cba5b55b7 | |
parent | e7f9d6e222313c7b2565284785221be38937de39 (diff) | |
download | portage-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
-rw-r--r-- | pym/_emerge/__init__.py | 9 |
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"] |