]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
ltp: Work around parallel make race
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 1 Mar 2014 15:17:50 +0000 (15:17 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 2 Mar 2014 17:25:01 +0000 (17:25 +0000)
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@linuxfoundation.org>
meta/recipes-extended/ltp/ltp_20140115.bb

index 361eccb0b1c596ef3cae86fb5bd78ccfb15cf9dc..2a3999b8cb00e9356f106a4d1112661503089fa2 100644 (file)
@@ -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