1 |
Author: zmedico |
2 |
Date: 2010-02-10 21:02:42 +0000 (Wed, 10 Feb 2010) |
3 |
New Revision: 15336 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/_emerge/depgraph.py |
7 |
Log: |
8 |
Ignore blockers in DEPEND of built packages when --with-bdeps is enabled. |
9 |
|
10 |
|
11 |
Modified: main/trunk/pym/_emerge/depgraph.py |
12 |
=================================================================== |
13 |
--- main/trunk/pym/_emerge/depgraph.py 2010-02-10 18:49:31 UTC (rev 15335) |
14 |
+++ main/trunk/pym/_emerge/depgraph.py 2010-02-10 21:02:42 UTC (rev 15336) |
15 |
@@ -1140,9 +1140,14 @@ |
16 |
deps = ( |
17 |
(bdeps_root, edepend["DEPEND"], |
18 |
self._priority(buildtime=(not bdeps_optional), |
19 |
- optional=bdeps_optional)), |
20 |
- (myroot, edepend["RDEPEND"], self._priority(runtime=True)), |
21 |
- (myroot, edepend["PDEPEND"], self._priority(runtime_post=True)) |
22 |
+ optional=bdeps_optional), |
23 |
+ pkg.built), |
24 |
+ (myroot, edepend["RDEPEND"], |
25 |
+ self._priority(runtime=True), |
26 |
+ False), |
27 |
+ (myroot, edepend["PDEPEND"], |
28 |
+ self._priority(runtime_post=True), |
29 |
+ False) |
30 |
) |
31 |
|
32 |
debug = "--debug" in self._frozen_config.myopts |
33 |
@@ -1151,7 +1156,7 @@ |
34 |
if not strict: |
35 |
portage.dep._dep_check_strict = False |
36 |
|
37 |
- for dep_root, dep_string, dep_priority in deps: |
38 |
+ for dep_root, dep_string, dep_priority, ignore_blockers in deps: |
39 |
if not dep_string: |
40 |
continue |
41 |
if debug: |
42 |
@@ -1186,7 +1191,7 @@ |
43 |
|
44 |
if not self._add_pkg_dep_string( |
45 |
pkg, dep_root, dep_priority, dep_string, |
46 |
- allow_unsatisfied): |
47 |
+ allow_unsatisfied, ignore_blockers=ignore_blockers): |
48 |
return 0 |
49 |
|
50 |
except portage.exception.AmbiguousPackageName as e: |
51 |
@@ -1213,7 +1218,7 @@ |
52 |
return 1 |
53 |
|
54 |
def _add_pkg_dep_string(self, pkg, dep_root, dep_priority, dep_string, |
55 |
- allow_unsatisfied): |
56 |
+ allow_unsatisfied, ignore_blockers=False): |
57 |
depth = pkg.depth + 1 |
58 |
debug = "--debug" in self._frozen_config.myopts |
59 |
strict = pkg.type_name != "installed" |
60 |
@@ -1248,6 +1253,11 @@ |
61 |
for atom, child in self._minimize_children( |
62 |
pkg, dep_priority, root_config, selected_atoms[pkg]): |
63 |
|
64 |
+ if ignore_blockers and atom.blocker: |
65 |
+ # For --with-bdeps, ignore build-time only blockers |
66 |
+ # that originate from built packages. |
67 |
+ continue |
68 |
+ |
69 |
mypriority = dep_priority.copy() |
70 |
if not atom.blocker and vardb.match(atom): |
71 |
mypriority.satisfied = True |