diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2017-01-20 07:29:16 +1300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-01-19 22:45:54 +0000 |
commit | 4fe60d526a94f30b201c434994e80fef0f7392f0 (patch) | |
tree | cd9356c2201c298cec2bf5abfe4aa3334250050f | |
parent | edde4c52872fbd089f85b10b94db4d6ef1796be5 (diff) | |
download | openembedded-core-4fe60d526a94f30b201c434994e80fef0f7392f0.tar.gz openembedded-core-4fe60d526a94f30b201c434994e80fef0f7392f0.tar.bz2 openembedded-core-4fe60d526a94f30b201c434994e80fef0f7392f0.zip |
classes/populate_sdk_ext: force a known value for TMPDIR
If TMPDIR is configured to be somewhere outside of TOPDIR (a not
uncommon configuration where you have multiple disks and space on /home
is at a premium) then our attempt to find out the location of paths
under TMPDIR by using a relative path led to horribly broken paths
ending up in the eSDK. To save pain, just force a known value for TMPDIR
(i.e. ${TOPDIR}/tmp) and then we can assume that everywhere else.
Fixes [YOCTO #10797].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/populate_sdk_ext.bbclass | 5 | ||||
-rw-r--r-- | meta/recipes-core/meta/meta-environment-extsdk.bb | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index f21ae8be41..d5f6de9028 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -282,6 +282,7 @@ python copy_buildsystem () { # Write a newline just in case there's none at the end of the original f.write('\n') + f.write('TMPDIR = "${TOPDIR}/tmp"\n') f.write('DL_DIR = "${TOPDIR}/downloads"\n') f.write('INHERIT += "%s"\n' % 'uninative') @@ -512,8 +513,8 @@ install_tools() { # (they get populated from sstate on installation) unfsd_path="${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}/unfsd" if [ "${SDK_INCLUDE_TOOLCHAIN}" == "1" -a ! -e $unfsd_path ] ; then - binrelpath=${@os.path.relpath(d.getVar('STAGING_BINDIR_NATIVE'), d.getVar('TOPDIR'))} - lnr ${SDK_OUTPUT}/${SDKPATH}/$binrelpath/unfsd $unfsd_path + binrelpath=${@os.path.relpath(d.getVar('STAGING_BINDIR_NATIVE'), d.getVar('TMPDIR'))} + lnr ${SDK_OUTPUT}/${SDKPATH}/tmp/$binrelpath/unfsd $unfsd_path fi touch ${SDK_OUTPUT}/${SDKPATH}/.devtoolbase diff --git a/meta/recipes-core/meta/meta-environment-extsdk.bb b/meta/recipes-core/meta/meta-environment-extsdk.bb index 76d2661b10..757afc154f 100644 --- a/meta/recipes-core/meta/meta-environment-extsdk.bb +++ b/meta/recipes-core/meta/meta-environment-extsdk.bb @@ -5,8 +5,8 @@ require meta-environment.bb PN = "meta-environment-extsdk-${MACHINE}" create_sdk_files_append() { - local sysroot=${SDKPATH}/${@os.path.relpath(d.getVar('STAGING_DIR_TARGET'), d.getVar('TOPDIR'))} - local sdkpathnative=${SDKPATH}/${@os.path.relpath(d.getVar('STAGING_DIR_NATIVE'), d.getVar('TOPDIR'))} + local sysroot=${SDKPATH}/tmp/${@os.path.relpath(d.getVar('STAGING_DIR_TARGET'), d.getVar('TMPDIR'))} + local sdkpathnative=${SDKPATH}/tmp/${@os.path.relpath(d.getVar('STAGING_DIR_NATIVE'), d.getVar('TMPDIR'))} toolchain_create_sdk_env_script '' '' $sysroot '' ${bindir_native} ${prefix_native} $sdkpathnative } |