Bug: https://bugs.gentoo.org/465772 --- pym/portage/eapi.py | 7 +++++++ pym/portage/package/ebuild/config.py | 5 +++++ 2 files changed, 12 insertions(+)
diff --git a/pym/portage/eapi.py b/pym/portage/eapi.py index 5613fb5d2..d1ca299f5 100644 --- a/pym/portage/eapi.py +++ b/pym/portage/eapi.py @@ -111,11 +111,16 @@ def eapi_empty_groups_always_true(eapi): return eapi in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi", "5", "5-progress", "6") +def eapi_path_variables_end_with_trailing_slash(eapi): + return eapi in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi", + "5", "5-progress", "6") + _eapi_attrs = collections.namedtuple('_eapi_attrs', 'dots_in_PN dots_in_use_flags exports_EBUILD_PHASE_FUNC ' 'exports_PORTDIR exports_ECLASSDIR ' 'feature_flag_test feature_flag_targetroot ' 'hdepend iuse_defaults iuse_effective posixish_locale ' + 'path_variables_end_with_trailing_slash ' 'repo_deps required_use required_use_at_most_one_of slot_operator slot_deps ' 'src_uri_arrows strong_blocks use_deps use_dep_defaults ' 'empty_groups_always_true') @@ -150,6 +155,8 @@ def _get_eapi_attrs(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)), + path_variables_end_with_trailing_slash = (eapi is not None and + eapi_path_variables_end_with_trailing_slash(eapi)), posixish_locale = (eapi is not None and eapi_requires_posixish_locale(eapi)), repo_deps = (eapi is None or eapi_has_repo_deps(eapi)), required_use = (eapi is None or eapi_has_required_use(eapi)), diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py index 10250cf46..898626ecc 100644 --- a/pym/portage/package/ebuild/config.py +++ b/pym/portage/package/ebuild/config.py @@ -2804,6 +2804,11 @@ class config(object): if not eapi_attrs.exports_ECLASSDIR: mydict.pop("ECLASSDIR", None) + if not eapi_attrs.path_variables_end_with_trailing_slash: + for v in ("D", "ED", "ROOT", "EROOT"): + if v in mydict: + mydict[v] = mydict[v].rstrip(os.path.sep) + try: builddir = mydict["PORTAGE_BUILDDIR"] distdir = mydict["DISTDIR"] -- 2.16.2