diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-12-09 11:06:47 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-12-11 21:47:34 +0000 |
commit | b366f7ecccc824e4322e6b11383df0f51ebbb5ab (patch) | |
tree | c4364008ab8c8fe59c076f562abc7cc5c2baa124 | |
parent | 2021e95bcd986e5bcfe457da5c3e16d60241d050 (diff) | |
download | poky-b366f7ecccc824e4322e6b11383df0f51ebbb5ab.tar.gz |
populate_sdk_ext: Use prebuilt uninative tarball
For uninative to work, it relies on it being updated to new versions as
newer glibcs are built. This means the uninative generated by the current
build may not be as recent as the uninative that is being downloaded by
uninative.bbclass.
If this occurs, we can get symbol mismatch errors.
Ultimately, the sstate and the uninative versions need to match so we
should use the same tarball as uninative.bbclass is using, not the one
we built.
[YOCTO #12405]
(From OE-Core rev: 1bde969058f7e832db0e7eb9c6f7ef00f027628c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/populate_sdk_ext.bbclass | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 4dfb94caf1..3043a1b13c 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass | |||
@@ -243,11 +243,12 @@ python copy_buildsystem () { | |||
243 | 243 | ||
244 | # Copy uninative tarball | 244 | # Copy uninative tarball |
245 | # For now this is where uninative.bbclass expects the tarball | 245 | # For now this is where uninative.bbclass expects the tarball |
246 | uninative_file = d.expand('${SDK_DEPLOY}/${BUILD_ARCH}-nativesdk-libc.tar.bz2') | 246 | if bb.data.inherits_class('uninative', d): |
247 | uninative_checksum = bb.utils.sha256_file(uninative_file) | 247 | uninative_file = d.expand('${UNINATIVE_DLDIR}/' + d.getVarFlag("UNINATIVE_CHECKSUM", d.getVar("BUILD_ARCH")) + '/${UNINATIVE_TARBALL}') |
248 | uninative_outdir = '%s/downloads/uninative/%s' % (baseoutpath, uninative_checksum) | 248 | uninative_checksum = bb.utils.sha256_file(uninative_file) |
249 | bb.utils.mkdirhier(uninative_outdir) | 249 | uninative_outdir = '%s/downloads/uninative/%s' % (baseoutpath, uninative_checksum) |
250 | shutil.copy(uninative_file, uninative_outdir) | 250 | bb.utils.mkdirhier(uninative_outdir) |
251 | shutil.copy(uninative_file, uninative_outdir) | ||
251 | 252 | ||
252 | env_whitelist = (d.getVar('BB_ENV_EXTRAWHITE') or '').split() | 253 | env_whitelist = (d.getVar('BB_ENV_EXTRAWHITE') or '').split() |
253 | env_whitelist_values = {} | 254 | env_whitelist_values = {} |
@@ -656,7 +657,7 @@ def get_sdk_ext_rdepends(d): | |||
656 | do_populate_sdk_ext[dirs] = "${@d.getVarFlag('do_populate_sdk', 'dirs', False)}" | 657 | do_populate_sdk_ext[dirs] = "${@d.getVarFlag('do_populate_sdk', 'dirs', False)}" |
657 | 658 | ||
658 | do_populate_sdk_ext[depends] = "${@d.getVarFlag('do_populate_sdk', 'depends', False)} \ | 659 | do_populate_sdk_ext[depends] = "${@d.getVarFlag('do_populate_sdk', 'depends', False)} \ |
659 | buildtools-tarball:do_populate_sdk uninative-tarball:do_populate_sdk \ | 660 | buildtools-tarball:do_populate_sdk \ |
660 | ${@'meta-world-pkgdata:do_collect_packagedata' if d.getVar('SDK_INCLUDE_PKGDATA') == '1' else ''} \ | 661 | ${@'meta-world-pkgdata:do_collect_packagedata' if d.getVar('SDK_INCLUDE_PKGDATA') == '1' else ''} \ |
661 | ${@'meta-extsdk-toolchain:do_locked_sigs' if d.getVar('SDK_INCLUDE_TOOLCHAIN') == '1' else ''}" | 662 | ${@'meta-extsdk-toolchain:do_locked_sigs' if d.getVar('SDK_INCLUDE_TOOLCHAIN') == '1' else ''}" |
662 | 663 | ||