[oe-commits] Paul Eggleton : classes/populate_sdk_base: fix race condition with do_rootfs

git at git.openembedded.org git at git.openembedded.org
Mon Feb 17 16:58:01 UTC 2014


Module: openembedded-core.git
Branch: master-next
Commit: 53578cef2cbc59dcc637d1cc561f63b3c448425a
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=53578cef2cbc59dcc637d1cc561f63b3c448425a

Author: Paul Eggleton <paul.eggleton at linux.intel.com>
Date:   Mon Feb 17 14:22:29 2014 +0000

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.)

Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/populate_sdk_base.bbclass | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index ee2a7c1..e2e013a 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -26,6 +26,8 @@ SDK_DIR = "${WORKDIR}/sdk"
 SDK_OUTPUT = "${SDK_DIR}/image"
 SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
 
+B_task-populate-sdk = "${SDK_DIR}"
+
 SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}"
 
 TOOLCHAIN_HOST_TASK ?= "nativesdk-packagegroup-sdk-host packagegroup-cross-canadian-${MACHINE}"



More information about the Openembedded-commits mailing list