aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-05-01 14:17:06 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-01 14:17:06 -0700
commita524f21fc85e899455d13301c3d435077c694ece (patch)
tree4d87f6e9d6bc102f7c4368793dbaf3cccc6cec00 /pym/_emerge/depgraph.py
parentdepgraph: ignore unwanted virtuals (diff)
downloadportage-a524f21fc85e899455d13301c3d435077c694ece.tar.gz
portage-a524f21fc85e899455d13301c3d435077c694ece.tar.bz2
portage-a524f21fc85e899455d13301c3d435077c694ece.zip
depgraph: traverse bdeps in complete mode
This makes the graph as complete as possible, and can help --rebuild to find more rebuilds.
Diffstat (limited to 'pym/_emerge/depgraph.py')
-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 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