summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-09-18 05:25:33 -0700
committerZac Medico <zmedico@gentoo.org>2010-09-18 05:25:33 -0700
commit3b2bba3cba144c91873db51783accfffbb0e9af1 (patch)
treec5a8a2bcd88bf04435d9d6e26243d4b48f3ac64f
parentUse blocking IO in ebuild-ipc.py and EbuildIpcDaemon._send_reply(), (diff)
downloadportage-3b2bba3cba144c91873db51783accfffbb0e9af1.tar.gz
portage-3b2bba3cba144c91873db51783accfffbb0e9af1.tar.bz2
portage-3b2bba3cba144c91873db51783accfffbb0e9af1.zip
Fix breakage in population of dynamic_config._set_atoms since the
fix from bug #337540.
-rw-r--r--pym/_emerge/depgraph.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index fd33beb2a..d7d658a6f 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -1933,8 +1933,6 @@ class depgraph(object):
args_set.add(atom)
self._dynamic_config._set_atoms.clear()
- self._dynamic_config._set_atoms.update(chain.from_iterable(
- pset.getAtoms() for pset in self._dynamic_config._sets.values()))
atom_arg_map = self._dynamic_config._atom_arg_map
atom_arg_map.clear()
@@ -1942,8 +1940,11 @@ class depgraph(object):
# happens at a later stage and we don't want to make
# any state changes here that aren't reversed by a
# another call to this method.
+ set_atoms = []
for arg in self._expand_set_args(args, add_to_digraph=False):
for atom in arg.pset.getAtoms():
+ if arg.root_config.root == self._frozen_config.target_root:
+ set_atoms.append(atom)
atom_key = (atom, arg.root_config.root)
refs = atom_arg_map.get(atom_key)
if refs is None:
@@ -1952,6 +1953,8 @@ class depgraph(object):
if arg not in refs:
refs.append(arg)
+ self._dynamic_config._set_atoms.update(set_atoms)
+
# Invalidate the package selection cache, since
# arguments influence package selections.
self._dynamic_config._highest_pkg_cache.clear()