aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/portage/package/ebuild/doebuild.py')
-rw-r--r--lib/portage/package/ebuild/doebuild.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/portage/package/ebuild/doebuild.py b/lib/portage/package/ebuild/doebuild.py
index 5da9c9503..47c69967c 100644
--- a/lib/portage/package/ebuild/doebuild.py
+++ b/lib/portage/package/ebuild/doebuild.py
@@ -211,7 +211,6 @@ def _doebuild_path(settings, eapi=None):
if portage_bin_path[0] != portage.const.PORTAGE_BIN_PATH:
# Add a fallback path for restarting failed builds (bug 547086)
portage_bin_path.append(portage.const.PORTAGE_BIN_PATH)
- eprefix = portage.const.EPREFIX
prerootpath = [x for x in settings.get("PREROOTPATH", "").split(":") if x]
rootpath = [x for x in settings.get("ROOTPATH", "").split(":") if x]
rootpath_set = frozenset(rootpath)
@@ -219,9 +218,10 @@ def _doebuild_path(settings, eapi=None):
"__PORTAGE_TEST_PATH_OVERRIDE", "").split(":") if x]
prefixes = []
- if eprefix:
- prefixes.append(eprefix)
- prefixes.append("/")
+ # settings["EPREFIX"] should take priority over portage.const.EPREFIX
+ if portage.const.EPREFIX != settings["EPREFIX"] and settings["ROOT"] == os.sep:
+ prefixes.append(settings["EPREFIX"])
+ prefixes.append(portage.const.EPREFIX)
path = overrides
@@ -245,6 +245,7 @@ def _doebuild_path(settings, eapi=None):
path.extend(prerootpath)
for prefix in prefixes:
+ prefix = prefix if prefix else "/"
for x in ("usr/local/sbin", "usr/local/bin", "usr/sbin", "usr/bin", "sbin", "bin"):
# Respect order defined in ROOTPATH
x_abs = os.path.join(prefix, x)