summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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"]