* [PATCH] autotools: Fix find races on source directory
@ 2015-04-28 10:51 Richard Purdie
0 siblings, 0 replies; only message in thread
From: Richard Purdie @ 2015-04-28 10:51 UTC (permalink / raw)
To: openembedded-core
In a similar way to http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=aa1438b56f30515f9c31b306decef7f562dda81f
there are more find races in the autotools class.
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 remaining races in the same way.
[YOCTO #7522]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index 19c1091..24bc530 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -116,7 +116,7 @@ autotools_preconfigure() {
echo "Running \"${MAKE} clean\" in ${S}"
${MAKE} clean
fi
- find ${S} -name \*.la -delete
+ find ${S} -ignore_readdir_race -name \*.la -delete
fi
fi
fi
@@ -227,7 +227,7 @@ autotools_do_configure() {
# for a package whose autotools are old, on an x86_64 machine, which the old
# config.sub does not support. Work around this by installing them manually
# regardless.
- ( for ac in `find ${S} -name configure.in -o -name configure.ac`; do
+ ( for ac in `find ${S} -ignore_readdir_race -name configure.in -o -name configure.ac`; do
rm -f `dirname $ac`/configure
done )
if [ -e ${S}/configure.in -o -e ${S}/configure.ac ]; then
@@ -236,7 +236,7 @@ autotools_do_configure() {
ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/"
if [ x"${acpaths}" = xdefault ]; then
acpaths=
- for i in `find ${S} -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
+ for i in `find ${S} -ignore_readdir_race -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
grep -v 'acinclude.m4' | grep -v 'aclocal-copy' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
acpaths="$acpaths -I $i"
done
@@ -277,7 +277,7 @@ autotools_do_configure() {
fi
fi
for i in gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4; do
- for j in `find ${S} -name $i | grep -v aclocal-copy`; do
+ for j in `find ${S} -ignore_readdir_race -name $i | grep -v aclocal-copy`; do
rm $j
done
done
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2015-04-28 10:51 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-28 10:51 [PATCH] autotools: Fix find races on source directory Richard Purdie
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.