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


Reply via email to