]> code.ossystems Code Review - openembedded-core.git/commitdiff
autotools: Avoid find race for S = "${WORKDIR}"
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 26 Mar 2015 14:18:30 +0000 (14:18 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 31 Mar 2015 21:21:43 +0000 (22:21 +0100)
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

The simplest fix is to add the find option which ignores these kind of races.

[YOCTO #7522]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/autotools.bbclass

index 046e83dc9b20d169c72d9c3a962a2037e9b75532..bb129fb245f1ec5679bfcd02e55cf34703ad38f1 100644 (file)
@@ -86,7 +86,7 @@ oe_runconf () {
                ${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"
                if [ "$?" != "0" ]; then
                        echo "Configure failed. The contents of all config.log files follows to aid debugging"
-                       find ${S} -name config.log -print -exec cat {} \;
+                       find ${S} -ignore_readdir_race -name config.log -print -exec cat {} \;
                        bbfatal "oe_runconf failed"
                fi
                set -e