1 |
commit: a6cfb7dc96cf015d3867929ab0dece49fb69ded0 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Sep 27 16:58:35 2012 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Sep 27 16:58:35 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=a6cfb7dc |
7 |
|
8 |
_slot_operator: EAPI 5-hdepend DEPEND target only |
9 |
|
10 |
--- |
11 |
pym/portage/dep/_slot_operator.py | 14 +++++++++----- |
12 |
1 files changed, 9 insertions(+), 5 deletions(-) |
13 |
|
14 |
diff --git a/pym/portage/dep/_slot_operator.py b/pym/portage/dep/_slot_operator.py |
15 |
index c98c974..ae58862 100644 |
16 |
--- a/pym/portage/dep/_slot_operator.py |
17 |
+++ b/pym/portage/dep/_slot_operator.py |
18 |
@@ -2,6 +2,7 @@ |
19 |
# Distributed under the terms of the GNU General Public License v2 |
20 |
|
21 |
from portage.dep import Atom, paren_enclose, use_reduce |
22 |
+from portage.eapi import _get_eapi_attrs |
23 |
from portage.exception import InvalidData |
24 |
from _emerge.Package import Package |
25 |
|
26 |
@@ -37,6 +38,7 @@ def evaluate_slot_operator_equal_deps(settings, use, trees): |
27 |
|
28 |
metadata = settings.configdict['pkg'] |
29 |
eapi = metadata['EAPI'] |
30 |
+ eapi_attrs = _get_eapi_attrs(eapi) |
31 |
running_vardb = trees[trees._running_eroot]["vartree"].dbapi |
32 |
target_vardb = trees[trees._target_eroot]["vartree"].dbapi |
33 |
vardbs = [target_vardb] |
34 |
@@ -48,11 +50,13 @@ def evaluate_slot_operator_equal_deps(settings, use, trees): |
35 |
for k in Package._runtime_keys: |
36 |
_eval_deps(deps[k], vardbs) |
37 |
|
38 |
- if running_vardb is not target_vardb: |
39 |
- vardbs.append(running_vardb) |
40 |
- |
41 |
- _eval_deps(deps["DEPEND"], vardbs) |
42 |
- _eval_deps(deps["HDEPEND"], [running_vardb]) |
43 |
+ if eapi_attrs.hdepend: |
44 |
+ _eval_deps(deps["HDEPEND"], [running_vardb]) |
45 |
+ _eval_deps(deps["DEPEND"], [target_vardb]) |
46 |
+ else: |
47 |
+ if running_vardb is not target_vardb: |
48 |
+ vardbs.append(running_vardb) |
49 |
+ _eval_deps(deps["DEPEND"], vardbs) |
50 |
|
51 |
result = {} |
52 |
for k, v in deps.items(): |