summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2017-01-13 15:54:50 +1300
committerPaul Eggleton <paul.eggleton@linux.intel.com>2017-01-20 07:25:41 +1300
commit44665c81d2059a0ea8a31b73cb1bff790855a423 (patch)
treebca55fe6b8ac835facbdf2580a15d8743df2a7b7
parenta7cb408dd784178197687a2129e936620bf6a0d3 (diff)
downloadopenembedded-core-contrib-44665c81d2059a0ea8a31b73cb1bff790855a423.tar.gz
openembedded-core-contrib-44665c81d2059a0ea8a31b73cb1bff790855a423.tar.bz2
openembedded-core-contrib-44665c81d2059a0ea8a31b73cb1bff790855a423.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>
-rw-r--r--meta/classes/populate_sdk_ext.bbclass5
-rw-r--r--meta/recipes-core/meta/meta-environment-extsdk.bb4
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
}