diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-09-27 09:58:35 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-09-27 09:58:35 -0700 |
commit | a6cfb7dc96cf015d3867929ab0dece49fb69ded0 (patch) | |
tree | 0da5dc0beca17f12e80613f35317e8c385b4d000 | |
parent | d0089063c457ef2adc7b01e7296c4988edb709a6 (diff) | |
download | portage-a6cfb7dc96cf015d3867929ab0dece49fb69ded0.tar.gz portage-a6cfb7dc96cf015d3867929ab0dece49fb69ded0.tar.bz2 portage-a6cfb7dc96cf015d3867929ab0dece49fb69ded0.zip |
_slot_operator: EAPI 5-hdepend DEPEND target only
-rw-r--r-- | pym/portage/dep/_slot_operator.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/pym/portage/dep/_slot_operator.py b/pym/portage/dep/_slot_operator.py index c98c97435..ae588626c 100644 --- a/pym/portage/dep/_slot_operator.py +++ b/pym/portage/dep/_slot_operator.py @@ -2,6 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 from portage.dep import Atom, paren_enclose, use_reduce +from portage.eapi import _get_eapi_attrs from portage.exception import InvalidData from _emerge.Package import Package @@ -37,6 +38,7 @@ def evaluate_slot_operator_equal_deps(settings, use, trees): metadata = settings.configdict['pkg'] eapi = metadata['EAPI'] + eapi_attrs = _get_eapi_attrs(eapi) running_vardb = trees[trees._running_eroot]["vartree"].dbapi target_vardb = trees[trees._target_eroot]["vartree"].dbapi vardbs = [target_vardb] @@ -48,11 +50,13 @@ def evaluate_slot_operator_equal_deps(settings, use, trees): for k in Package._runtime_keys: _eval_deps(deps[k], vardbs) - if running_vardb is not target_vardb: - vardbs.append(running_vardb) - - _eval_deps(deps["DEPEND"], vardbs) - _eval_deps(deps["HDEPEND"], [running_vardb]) + if eapi_attrs.hdepend: + _eval_deps(deps["HDEPEND"], [running_vardb]) + _eval_deps(deps["DEPEND"], [target_vardb]) + else: + if running_vardb is not target_vardb: + vardbs.append(running_vardb) + _eval_deps(deps["DEPEND"], vardbs) result = {} for k, v in deps.items(): |