classes/populate_sdk_ext: reset TCLIBCAPPEND to get consistent TMPDIR

populate_sdk_ext sets TMPDIR to a known static value with '/tmp' directory
name and that name is hard coded in a few places (e.g., in
meta-environment-extsdk.bb that writes the eSDK environment variables).

Distros that do not reset TCLIBCAPPEND (poky does) end up getting
TMPDIR = /tmp-${TCLIBCAPPEND} via defaultsetup.conf and that breaks
the functionality in eSDK that expects everything is in /tmp.

To get TMPDIR consistent, we also need to reset TCLIBCAPPEND in
populate_sdk_ext.bbclass.

Fixes: [YOCTO #11298]

(From OE-Core rev: 9ec29153f279bb9e1dbcddc2c66e00fdbe3fd6e9)

Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mikko Ylinen
2017-04-13 13:09:07 +03:00
committed by Richard Purdie
parent bce0b509bf
commit a84a323e4d

View File

@@ -114,6 +114,7 @@ def create_filtered_tasklist(d, sdkbasepath, tasklistfile, conf_initpath):
f.write('SSTATE_MIRRORS_forcevariable = ""\n')
# Ensure TMPDIR is the default so that clean_esdk_builddir() can delete it
f.write('TMPDIR_forcevariable = "${TOPDIR}/tmp"\n')
f.write('TCLIBCAPPEND_forcevariable = ""\n')
# Drop uninative if the build isn't using it (or else NATIVELSBSTRING will
# be different and we won't be able to find our native sstate)
if not bb.data.inherits_class('uninative', d):
@@ -289,6 +290,7 @@ python copy_buildsystem () {
f.write('\n')
f.write('TMPDIR = "${TOPDIR}/tmp"\n')
f.write('TCLIBCAPPEND = ""\n')
f.write('DL_DIR = "${TOPDIR}/downloads"\n')
f.write('INHERIT += "%s"\n' % 'uninative')