summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-11-09 19:11:35 -0800
committerZac Medico <zmedico@gentoo.org>2011-11-09 19:11:35 -0800
commit68e467790f02ea8330a8efd5e3b55ebac3dd3462 (patch)
treebcdf109ce9c8279fedd9ac0df713d0e2eea45063
parentf75d02eb630c5595127faded4a048268ff59ac17 (diff)
downloadportage-68e467790f02ea8330a8efd5e3b55ebac3dd3462.tar.gz
portage-68e467790f02ea8330a8efd5e3b55ebac3dd3462.tar.bz2
portage-68e467790f02ea8330a8efd5e3b55ebac3dd3462.zip
Move ccache/distcc PATH code to doebuild_env.v2.2.0_alpha73
-rwxr-xr-xbin/ebuild.sh10
-rw-r--r--pym/portage/package/ebuild/doebuild.py20
2 files changed, 20 insertions, 10 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 226b9f6e5..f39e5362a 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -578,19 +578,11 @@ if ! has "$EBUILD_PHASE" clean cleanrm ; then
if [[ $EBUILD_PHASE != depend ]] ; then
- _eprefix=${EPREFIX}
- case "$EAPI" in 0|1|2) _eprefix= ;; esac
- # Use default ABI libdir in accordance with bug #355283.
- x=LIBDIR_${DEFAULT_ABI}
- [[ -n $DEFAULT_ABI && -n ${!x} ]] && x=${!x} || x=lib
-
if has distcc $FEATURES ; then
- PATH="${_eprefix}/usr/$x/distcc/bin:$PATH"
[[ -n $DISTCC_LOG ]] && addwrite "${DISTCC_LOG%/*}"
fi
if has ccache $FEATURES ; then
- PATH="${_eprefix}/usr/$x/ccache/bin:$PATH"
if [[ -n $CCACHE_DIR ]] ; then
addread "$CCACHE_DIR"
@@ -600,8 +592,6 @@ if ! has "$EBUILD_PHASE" clean cleanrm ; then
[[ -n $CCACHE_SIZE ]] && ccache -M $CCACHE_SIZE &> /dev/null
fi
- unset x _eprefix
-
if [[ -n $QA_PREBUILT ]] ; then
# these ones support fnmatch patterns
diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py
index 3b728074b..bdfcbcc35 100644
--- a/pym/portage/package/ebuild/doebuild.py
+++ b/pym/portage/package/ebuild/doebuild.py
@@ -372,6 +372,26 @@ def doebuild_environment(myebuild, mydo, myroot=None, settings=None,
_doebuild_path(mysettings, eapi=eapi)
+ if mydo != "depend":
+ ccache = "ccache" in mysettings.features
+ distcc = "distcc" in mysettings.features
+ if ccache or distcc:
+ # Use default ABI libdir in accordance with bug #355283.
+ libdir = None
+ default_abi = mysettings.get("DEFAULT_ABI")
+ if default_abi:
+ libdir = mysettings.get("LIBDIR_" + default_abi)
+ if not libdir:
+ libdir = "lib"
+
+ if distcc:
+ mysettings["PATH"] = os.path.join(os.sep, eprefix_lstrip,
+ "usr", libdir, "distcc", "bin") + ":" + mysettings["PATH"]
+
+ if ccache:
+ mysettings["PATH"] = os.path.join(os.sep, eprefix_lstrip,
+ "usr", libdir, "ccache", "bin") + ":" + mysettings["PATH"]
+
if not eapi_exports_KV(eapi):
# Discard KV for EAPIs that don't support it. Cache KV is restored
# from the backupenv whenever config.reset() is called.