staging/allarch: Remove hardcoded PACKAGE_ARCHS from the class
The code was making an assumption that the only PACKAGE_ARCH in use was TUNE_PKGARCH. This is incorrect so iterate over the list from PACKAGE_EXTRA_ARCH instead. We also need to change allarch to preserve this variable, else the staging code doesn't function. We do this in a way which clears the variable history so that the task hashes remain unaffected. [Thanks to Andrew Goodbody <andrew.goodbody@cambrionix.com> for testing/fixing] (From OE-Core rev: b1bab7a6eff6b195824be7d754de58c6e9ee2bfb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
aa7e2717d3
commit
bb5fe4c35d
|
@ -25,7 +25,9 @@ python () {
|
|||
d.setVar("TARGET_AS_ARCH", "none")
|
||||
d.setVar("TARGET_FPU", "")
|
||||
d.setVar("TARGET_PREFIX", "")
|
||||
d.setVar("PACKAGE_EXTRA_ARCHS", "")
|
||||
# Expand PACKAGE_EXTRA_ARCHS since the staging code needs this
|
||||
# (this removes any dependencies from the hash perspective)
|
||||
d.setVar("PACKAGE_EXTRA_ARCHS", d.getVar("PACKAGE_EXTRA_ARCHS"))
|
||||
d.setVar("SDK_ARCH", "none")
|
||||
d.setVar("SDK_CC_ARCH", "none")
|
||||
d.setVar("TARGET_CPPFLAGS", "none")
|
||||
|
|
|
@ -304,7 +304,9 @@ def staging_populate_sysroot_dir(targetsysroot, nativesysroot, native, d):
|
|||
pkgarchs = ['${BUILD_ARCH}', '${BUILD_ARCH}_*']
|
||||
targetdir = nativesysroot
|
||||
else:
|
||||
pkgarchs = ['${MACHINE_ARCH}', '${TUNE_PKGARCH}', 'allarch']
|
||||
pkgarchs = ['${MACHINE_ARCH}']
|
||||
pkgarchs = pkgarchs + list(reversed(d.getVar("PACKAGE_EXTRA_ARCHS").split()))
|
||||
pkgarchs.append('allarch')
|
||||
targetdir = targetsysroot
|
||||
|
||||
bb.utils.mkdirhier(targetdir)
|
||||
|
@ -528,11 +530,13 @@ python extend_recipe_sysroot() {
|
|||
manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}-%s.populate_sysroot" % c)
|
||||
native = True
|
||||
else:
|
||||
manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-${MACHINE_ARCH}-%s.populate_sysroot" % c)
|
||||
if not os.path.exists(manifest):
|
||||
manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-${TUNE_PKGARCH}-%s.populate_sysroot" % c)
|
||||
if not os.path.exists(manifest):
|
||||
manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-allarch-%s.populate_sysroot" % c)
|
||||
pkgarchs = ['${MACHINE_ARCH}']
|
||||
pkgarchs = pkgarchs + list(reversed(d2.getVar("PACKAGE_EXTRA_ARCHS").split()))
|
||||
pkgarchs.append('allarch')
|
||||
for pkgarch in pkgarchs:
|
||||
manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-%s-%s.populate_sysroot" % (pkgarch, c))
|
||||
if os.path.exists(manifest):
|
||||
break
|
||||
if not os.path.exists(manifest):
|
||||
bb.warn("Manifest %s not found?" % manifest)
|
||||
else:
|
||||
|
|
Loading…
Reference in New Issue