_repo_separator
from portage.dep._slot_operator import ignore_built_slot_operator_deps
from portage.eapi import eapi_has_strong_blocks, eapi_has_required_use, \
- _get_eapi_attrs, eapi_has_hdepend
+ _get_eapi_attrs
from portage.exception import (InvalidAtom, InvalidDependString,
PackageNotFound, PortageException)
from portage.output import colorize, create_color_func, \
myroot = pkg.root
metadata = pkg.metadata
removal_action = "remove" in self._dynamic_config.myparams
+ eapi_attrs = _get_eapi_attrs(pkg.metadata["EAPI"])
edepend={}
depkeys = ["DEPEND","RDEPEND","PDEPEND","HDEPEND"]
if removal_action:
depend_root = myroot
else:
- if eapi_has_hdepend(pkg.metadata['EAPI']):
+ if eapi_attrs.hdepend:
depend_root = myroot
else:
depend_root = self._frozen_config._running_root.root
_eapi_attrs = collections.namedtuple('_eapi_attrs',
'dots_in_PN dots_in_use_flags exports_EBUILD_PHASE_FUNC '
- 'feature_flag_test feature_flag_targetroot iuse_defaults iuse_effective '
+ 'feature_flag_test feature_flag_targetroot '
+ 'hdepend iuse_defaults iuse_effective '
'repo_deps required_use required_use_at_most_one_of slot_operator slot_deps '
'src_uri_arrows strong_blocks use_deps use_dep_defaults')
dots_in_use_flags = (eapi is None or eapi_allows_dots_in_use_flags(eapi)),
exports_EBUILD_PHASE_FUNC = (eapi is None or eapi_exports_EBUILD_PHASE_FUNC(eapi)),
feature_flag_test = True,
- feature_flag_targetroot = eapi_has_targetroot(eapi),
+ feature_flag_targetroot = (eapi is not None and eapi_has_targetroot(eapi)),
+ hdepend = (eapi is not None and eapi_has_hdepend(eapi)),
iuse_defaults = (eapi is None or eapi_has_iuse_defaults(eapi)),
iuse_effective = (eapi is not None and eapi_has_iuse_effective(eapi)),
repo_deps = (eapi is None or eapi_has_repo_deps(eapi)),