summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-09-19 04:13:50 -0700
committerZac Medico <zmedico@gentoo.org>2010-09-19 04:13:50 -0700
commit583cfd11138feb8141253486ac45fc27b6d1d2b3 (patch)
tree0d1f336bb3b5b2b7b96724f81d242423d0688dcb
parentFix incorrect depgraph_sets reference in depgraph._load_favorites(). (diff)
downloadportage-583cfd11138feb8141253486ac45fc27b6d1d2b3.tar.gz
portage-583cfd11138feb8141253486ac45fc27b6d1d2b3.tar.bz2
portage-583cfd11138feb8141253486ac45fc27b6d1d2b3.zip
Fix depgraph._complete_graph() to preserve initial_arg_list when it
updates args with _set_args().
-rw-r--r--pym/_emerge/depgraph.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index d09d68a45..529dd2ae9 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -3171,15 +3171,17 @@ class depgraph(object):
for trees in self._dynamic_config._filtered_trees.values():
trees["porttree"].dbapi._clear_cache()
- args = []
+ args = self._dynamic_config._initial_arg_list[:]
for root in self._frozen_config.roots:
if root != self._frozen_config.target_root and \
"remove" in self._dynamic_config.myparams:
# Only pull in deps for the relevant root.
continue
depgraph_sets = self._dynamic_config.sets[root]
+ required_set_names = self._frozen_config._required_set_names.copy()
+ remaining_args = required_set_names.copy()
if required_sets is None or root not in required_sets:
- required_set_names = self._frozen_config._required_set_names.copy()
+ pass
else:
# Removal actions may override sets with temporary
# replacements that have had atoms removed in order
@@ -3190,8 +3192,8 @@ class depgraph(object):
if "remove" not in self._dynamic_config.myparams and \
root == self._frozen_config.target_root and \
(already_deep or "empty" in self._dynamic_config.myparams):
- required_set_names.difference_update(depgraph_sets.sets)
- if not required_set_names and \
+ remaining_args.difference_update(depgraph_sets.sets)
+ if not remaining_args and \
not self._dynamic_config._ignored_deps and \
not self._dynamic_config._dep_stack:
continue