[OE-core] base: Avoid find race
Richard Purdie
richard.purdie at linuxfoundation.org
Thu May 14 14:20:30 UTC 2015
In a similar way to http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=aa1438b56f30515f9c31b306decef7f562dda81f
and http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=527b28c10955daf0387597020d69593ce24bcaa4
there is a find race in base.bbclass.
For recipes with PACKAGES_remove = "${PN}", the find which removes
.la files can race against deletion of other directories in WORKDIR
e.g.:
find: '/home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/sstate-build-populate_lic': No such file or directory
| WARNING: /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/temp/run.do_configure.6558:1 exit 1 from
| find /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7 -name \*.la -delete
Fix the race in the same way.
[YOCTO #7522]
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 0e4b068..99b512b 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -269,7 +269,7 @@ base_do_configure() {
if [ "${CLEANBROKEN}" != "1" -a \( -e Makefile -o -e makefile -o -e GNUmakefile \) ]; then
oe_runmake clean
fi
- find ${B} -name \*.la -delete
+ find ${B} -ignore_readdir_race -name \*.la -delete
fi
fi
if [ -n "${CONFIGURESTAMPFILE}" ]; then
More information about the Openembedded-core
mailing list