diff options
-rw-r--r-- | pym/_emerge/create_depgraph_params.py | 4 | ||||
-rw-r--r-- | pym/_emerge/depgraph.py | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/pym/_emerge/create_depgraph_params.py b/pym/_emerge/create_depgraph_params.py index 09863479a..ae7a8aed6 100644 --- a/pym/_emerge/create_depgraph_params.py +++ b/pym/_emerge/create_depgraph_params.py @@ -17,6 +17,10 @@ def create_depgraph_params(myopts, myaction): # rebuilt_binaries: replace installed packages with rebuilt binaries myparams = {"recurse" : True} + bdeps = myopts.get("--with-bdeps") + if bdeps is not None: + myparams["bdeps"] = bdeps + if myaction == "remove": myparams["remove"] = True myparams["complete"] = True diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index f1c111fb1..4753bd24a 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -1245,7 +1245,7 @@ class depgraph(object): ignore_build_time_deps = False if pkg.built and not removal_action: - if self._frozen_config.myopts.get("--with-bdeps", "n") == "y": + if self._dynamic_config.myparams.get("bdeps", "n") == "y": # Pull in build time deps as requested, but marked them as # "optional" since they are not strictly required. This allows # more freedom in the merge order calculation for solving @@ -1257,7 +1257,7 @@ class depgraph(object): else: ignore_build_time_deps = True - if removal_action and self._frozen_config.myopts.get("--with-bdeps", "y") == "n": + if removal_action and self._dynamic_config.myparams.get("bdeps", "y") == "n": ignore_build_time_deps = True if removal_action: @@ -3854,6 +3854,9 @@ class depgraph(object): self._select_package = self._select_pkg_from_installed else: self._select_package = self._select_pkg_from_graph + # Make the graph as complete as possible by traversing build-time + # dependencies if they happen to be installed already. + self._dynamic_config.myparams["bdeps"] = "y" already_deep = self._dynamic_config.myparams.get("deep") is True if not already_deep: self._dynamic_config.myparams["deep"] = True |