From 583cfd11138feb8141253486ac45fc27b6d1d2b3 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 19 Sep 2010 04:13:50 -0700 Subject: Fix depgraph._complete_graph() to preserve initial_arg_list when it updates args with _set_args(). --- pym/_emerge/depgraph.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'pym') 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 -- cgit v1.2.3-1-g7c22