]> code.ossystems Code Review - openembedded-core.git/commitdiff
staging: Fix staging_populate_sysroot_dir native corruption
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 23 Feb 2019 13:41:22 +0000 (13:41 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 25 Feb 2019 10:42:56 +0000 (10:42 +0000)
bitbake gdk-pixbuf gdk-pixbuf-native
bitbake build-sysroots -c build_target_sysroot

can lead to tracebacks as gdk-pixbuf-native is being installed into the
target sysroot. The issue is that the x86_64 (common BUILD_ARCH) sysroot
components directory can contain a mix of native and target artefacts.

Differentiate by the "-native" in the recipe names. Should also trim
down the size of the sysroot used in eSDK.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/staging.bbclass

index 84e13bab5928ca086854163925d3a8df2feec0d0..c9bcd745fe62ed838934934ab33a2d109603cffd 100644 (file)
@@ -198,6 +198,10 @@ def staging_populate_sysroot_dir(targetsysroot, nativesysroot, native, d):
             if manifest.endswith("-initial.populate_sysroot"):
                 # skip glibc-initial and libgcc-initial due to file overlap
                 continue
+            if not native and (manifest.endswith("-native.populate_sysroot") or "nativesdk-" in manifest):
+                continue
+            if native and not (manifest.endswith("-native.populate_sysroot") or manifest.endswith("-cross.populate_sysroot") or "-cross-" in manifest):
+                continue
             tmanifest = targetdir + "/" + os.path.basename(manifest)
             if os.path.exists(tmanifest):
                 continue