diff options
Diffstat (limited to 'lib/portage/package/ebuild/doebuild.py')
-rw-r--r-- | lib/portage/package/ebuild/doebuild.py | 9 |
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) |