1 |
commit: dbb89fde73049da97fdbfa157618977317440db5 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed May 4 18:18:34 2011 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed May 4 18:18:34 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=dbb89fde |
7 |
|
8 |
add_pkg_deps: use dep priority to ignore blockers |
9 |
|
10 |
--- |
11 |
pym/_emerge/depgraph.py | 22 ++++++++++------------ |
12 |
1 files changed, 10 insertions(+), 12 deletions(-) |
13 |
|
14 |
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py |
15 |
index 9dcc5b9..dd65a45 100644 |
16 |
--- a/pym/_emerge/depgraph.py |
17 |
+++ b/pym/_emerge/depgraph.py |
18 |
@@ -1351,20 +1351,17 @@ class depgraph(object): |
19 |
(depend_root, edepend["DEPEND"], |
20 |
self._priority(buildtime=True, |
21 |
optional=(pkg.built or ignore_build_time_deps), |
22 |
- ignored=ignore_build_time_deps), |
23 |
- pkg.built or ignore_build_time_deps), |
24 |
+ ignored=ignore_build_time_deps)), |
25 |
(myroot, edepend["RDEPEND"], |
26 |
- self._priority(runtime=True), |
27 |
- False), |
28 |
+ self._priority(runtime=True)), |
29 |
(myroot, edepend["PDEPEND"], |
30 |
- self._priority(runtime_post=True), |
31 |
- False) |
32 |
+ self._priority(runtime_post=True)) |
33 |
) |
34 |
|
35 |
debug = "--debug" in self._frozen_config.myopts |
36 |
strict = mytype != "installed" |
37 |
|
38 |
- for dep_root, dep_string, dep_priority, ignore_blockers in deps: |
39 |
+ for dep_root, dep_string, dep_priority in deps: |
40 |
if not dep_string: |
41 |
continue |
42 |
if debug: |
43 |
@@ -1415,14 +1412,14 @@ class depgraph(object): |
44 |
|
45 |
if not self._add_pkg_dep_string( |
46 |
pkg, dep_root, dep_priority, dep_string, |
47 |
- allow_unsatisfied, ignore_blockers=ignore_blockers): |
48 |
+ allow_unsatisfied): |
49 |
return 0 |
50 |
|
51 |
self._dynamic_config._traversed_pkg_deps.add(pkg) |
52 |
return 1 |
53 |
|
54 |
def _add_pkg_dep_string(self, pkg, dep_root, dep_priority, dep_string, |
55 |
- allow_unsatisfied, ignore_blockers=False): |
56 |
+ allow_unsatisfied): |
57 |
_autounmask_backup = self._dynamic_config._autounmask |
58 |
if dep_priority.optional or dep_priority.ignored: |
59 |
# Temporarily disable autounmask for deps that |
60 |
@@ -1431,12 +1428,12 @@ class depgraph(object): |
61 |
try: |
62 |
return self._wrapped_add_pkg_dep_string( |
63 |
pkg, dep_root, dep_priority, dep_string, |
64 |
- allow_unsatisfied, ignore_blockers=ignore_blockers) |
65 |
+ allow_unsatisfied) |
66 |
finally: |
67 |
self._dynamic_config._autounmask = _autounmask_backup |
68 |
|
69 |
def _wrapped_add_pkg_dep_string(self, pkg, dep_root, dep_priority, |
70 |
- dep_string, allow_unsatisfied, ignore_blockers=False): |
71 |
+ dep_string, allow_unsatisfied): |
72 |
depth = pkg.depth + 1 |
73 |
deep = self._dynamic_config.myparams.get("deep", 0) |
74 |
recurse_satisfied = deep is True or depth <= deep |
75 |
@@ -1483,7 +1480,8 @@ class depgraph(object): |
76 |
is_virt = hasattr(atom, '_orig_atom') |
77 |
atom = getattr(atom, '_orig_atom', atom) |
78 |
|
79 |
- if ignore_blockers and atom.blocker: |
80 |
+ if atom.blocker and \ |
81 |
+ (dep_priority.optional or dep_priority.ignored): |
82 |
# For --with-bdeps, ignore build-time only blockers |
83 |
# that originate from built packages. |
84 |
continue |