From 68e467790f02ea8330a8efd5e3b55ebac3dd3462 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 9 Nov 2011 19:11:35 -0800 Subject: [PATCH] Move ccache/distcc PATH code to doebuild_env. --- bin/ebuild.sh | 10 ---------- pym/portage/package/ebuild/doebuild.py | 20 ++++++++++++++++++++ 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. -- 2.26.2