diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2014-02-17 14:22:29 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-02-17 15:34:45 +0000 |
commit | 77a53c5a2a947b6515d4188e37ed823a2602ff83 (patch) | |
tree | 683d7fd6d07dcfe3232f04fc96b881a075a814eb /meta/classes | |
parent | 8dff4af00c471c32e648b8618b4aae78a26374f9 (diff) | |
download | poky-77a53c5a2a947b6515d4188e37ed823a2602ff83.tar.gz |
classes/populate_sdk_base: fix race condition with do_rootfs
do_rootfs has ${S} in cleandirs, and during do_populate_sdk we call
exec_func() several times, which by default uses ${B} as the working
directory. If do_populate_sysroot and do_rootfs race against eachother,
the directory may not exist at the exact instant that the setup code
for do_populate_sdk tries to cd into it. We don't actually use ${B}
for do_populate_sysroot so we can set it to something else just for that
task to avoid the race.
NOTE: because this task name contains an underscore, the override will
not work; the BitBake patch that changes these to hyphens for the
task override is required for this patch to work (but won't break things
without it.)
(From OE-Core rev: 53578cef2cbc59dcc637d1cc561f63b3c448425a)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/populate_sdk_base.bbclass | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass index ee2a7c1d59..e2e013afd6 100644 --- a/meta/classes/populate_sdk_base.bbclass +++ b/meta/classes/populate_sdk_base.bbclass | |||
@@ -26,6 +26,8 @@ SDK_DIR = "${WORKDIR}/sdk" | |||
26 | SDK_OUTPUT = "${SDK_DIR}/image" | 26 | SDK_OUTPUT = "${SDK_DIR}/image" |
27 | SDK_DEPLOY = "${TMPDIR}/deploy/sdk" | 27 | SDK_DEPLOY = "${TMPDIR}/deploy/sdk" |
28 | 28 | ||
29 | B_task-populate-sdk = "${SDK_DIR}" | ||
30 | |||
29 | SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}" | 31 | SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}" |
30 | 32 | ||
31 | TOOLCHAIN_HOST_TASK ?= "nativesdk-packagegroup-sdk-host packagegroup-cross-canadian-${MACHINE}" | 33 | TOOLCHAIN_HOST_TASK ?= "nativesdk-packagegroup-sdk-host packagegroup-cross-canadian-${MACHINE}" |