Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/
Date: Sun, 01 May 2011 21:17:44
Message-Id: a524f21fc85e899455d13301c3d435077c694ece.zmedico@gentoo
1 commit: a524f21fc85e899455d13301c3d435077c694ece
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Sun May 1 21:17:06 2011 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Sun May 1 21:17:06 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=a524f21f
7
8 depgraph: traverse bdeps in complete mode
9
10 This makes the graph as complete as possible, and can help --rebuild to
11 find more rebuilds.
12
13 ---
14 pym/_emerge/create_depgraph_params.py | 4 ++++
15 pym/_emerge/depgraph.py | 7 +++++--
16 2 files changed, 9 insertions(+), 2 deletions(-)
17
18 diff --git a/pym/_emerge/create_depgraph_params.py b/pym/_emerge/create_depgraph_params.py
19 index 0986347..ae7a8ae 100644
20 --- a/pym/_emerge/create_depgraph_params.py
21 +++ b/pym/_emerge/create_depgraph_params.py
22 @@ -17,6 +17,10 @@ def create_depgraph_params(myopts, myaction):
23 # rebuilt_binaries: replace installed packages with rebuilt binaries
24 myparams = {"recurse" : True}
25
26 + bdeps = myopts.get("--with-bdeps")
27 + if bdeps is not None:
28 + myparams["bdeps"] = bdeps
29 +
30 if myaction == "remove":
31 myparams["remove"] = True
32 myparams["complete"] = True
33
34 diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
35 index f1c111f..4753bd2 100644
36 --- a/pym/_emerge/depgraph.py
37 +++ b/pym/_emerge/depgraph.py
38 @@ -1245,7 +1245,7 @@ class depgraph(object):
39
40 ignore_build_time_deps = False
41 if pkg.built and not removal_action:
42 - if self._frozen_config.myopts.get("--with-bdeps", "n") == "y":
43 + if self._dynamic_config.myparams.get("bdeps", "n") == "y":
44 # Pull in build time deps as requested, but marked them as
45 # "optional" since they are not strictly required. This allows
46 # more freedom in the merge order calculation for solving
47 @@ -1257,7 +1257,7 @@ class depgraph(object):
48 else:
49 ignore_build_time_deps = True
50
51 - if removal_action and self._frozen_config.myopts.get("--with-bdeps", "y") == "n":
52 + if removal_action and self._dynamic_config.myparams.get("bdeps", "y") == "n":
53 ignore_build_time_deps = True
54
55 if removal_action:
56 @@ -3854,6 +3854,9 @@ class depgraph(object):
57 self._select_package = self._select_pkg_from_installed
58 else:
59 self._select_package = self._select_pkg_from_graph
60 + # Make the graph as complete as possible by traversing build-time
61 + # dependencies if they happen to be installed already.
62 + self._dynamic_config.myparams["bdeps"] = "y"
63 already_deep = self._dynamic_config.myparams.get("deep") is True
64 if not already_deep:
65 self._dynamic_config.myparams["deep"] = True