From: Paul Eggleton Date: Mon, 17 Feb 2014 14:22:29 +0000 (+0000) Subject: classes/populate_sdk_base: fix race condition with do_rootfs X-Git-Tag: rev_ivi_2015_02_04~9197 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=49e3b31952d8613930d8828cf026d554d6eb8bac;p=scm%2Fbb%2Ftizen-distro.git 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 Signed-off-by: Richard Purdie --- 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}"