[oe-commits] Richard Purdie : ltp: Work around parallel make race

git at git.openembedded.org git at git.openembedded.org
Sun Mar 2 17:19:41 UTC 2014


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

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Sat Mar  1 15:17:50 2014 +0000

ltp: Work around parallel make race

As per the comments, the makefiles use make -C extensively and
this causes particular problems around the kernel syscall header. We
therefore ensure its up to date in advance.

Also, append the configure, not prepend since otherwise the configure
will rerun during the build due to the timestamps being outdated.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/recipes-extended/ltp/ltp_20140115.bb | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-extended/ltp/ltp_20140115.bb b/meta/recipes-extended/ltp/ltp_20140115.bb
index 361eccb..2a3999b 100644
--- a/meta/recipes-extended/ltp/ltp_20140115.bb
+++ b/meta/recipes-extended/ltp/ltp_20140115.bb
@@ -39,10 +39,18 @@ export exec_prefix = "/opt/ltp"
 
 # ltp doesn't regenerate ffsb-6.0-rc2 configure and hardcode configure call.
 # we explicitly force regeneration of that directory and pass configure options.
-do_configure_prepend() {
+do_configure_append() {
     (cd utils/ffsb-6.0-rc2; autoreconf -fvi; ./configure ${CONFIGUREOPTS})
 }
 
+# The makefiles make excessive use of make -C and several include testcases.mk
+# which triggers a build of the syscall header. To reproduce, build ltp,
+# then delete the header, then "make -j XX" and watch regen.sh run multiple 
+# times. Its easier to generate this once here instead.
+do_compile_prepend () {
+	( make -C ${B}/testcases/kernel include/linux_syscall_numbers.h )
+}
+
 do_install(){
     install -d ${D}/opt/ltp/
     oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install



More information about the Openembedded-commits mailing list