Patchwork [CONSOLIDATED,PULL,-,v2,21/26] module.bbclass: add lock to prevent error bulding ext modules

login
register
mail settings
Submitter Saul Wold
Date Oct. 20, 2011, 7:50 a.m.
Message ID <5cc4cf6e109440a359fffc5061a411045a03dec9.1319096633.git.sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/13599/
State New, archived
Headers show

Comments

Saul Wold - Oct. 20, 2011, 7:50 a.m.
From: Anders Darander <anders@chargestorm.se>

When external modules are built, files in $STAGING_KERNEL_DIR/scripts/basic will/can get
rebuilt.
This raises a potential race condition. Prevent this by adding a lock around the
do_make_scripts() function. Further, make sure that the kernel has been installed
to the sysroot, prior to executing this new task.

Signed-off-by: Anders Darander <anders@chargestorm.se>
---
 meta/classes/module.bbclass |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

Patch

diff --git a/meta/classes/module.bbclass b/meta/classes/module.bbclass
index 572df0d..53c16b7 100644
--- a/meta/classes/module.bbclass
+++ b/meta/classes/module.bbclass
@@ -14,8 +14,11 @@  do_make_scripts() {
 	           -C ${STAGING_KERNEL_DIR} scripts
 }
 
+addtask make_scripts before do_compile
+do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
+do_make_scripts[deptask] = "do_populate_sysroot"
+
 module_do_compile() {
-	do_make_scripts
 	unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
 	oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR}   \
 		   KERNEL_SRC=${STAGING_KERNEL_DIR}    \