[OE-core] [PATCH] base.bbclass: avoid 'find -ignore_readdir_race -delete'
Peter Kjellerstedt
peter.kjellerstedt at axis.com
Fri Nov 2 15:19:44 UTC 2018
> -----Original Message-----
> From: openembedded-core-bounces at lists.openembedded.org <openembedded-
> core-bounces at lists.openembedded.org> On Behalf Of
> matthias.schiffer at ew.tq-group.com
> Sent: den 2 november 2018 15:39
> To: openembedded-core at lists.openembedded.org
> Subject: [OE-core] [PATCH] base.bbclass: avoid 'find -
> ignore_readdir_race -delete'
>
> From: Matthias Schiffer <matthias.schiffer at ew.tq-group.com>
>
> Until recent versions of findutils, -ignore_readdir_race did not work
> correctly with -delete. This led to spurious build failures when files
> disappeared; specifically this was seen due to do_configure and
> do_populate_lic running concurrently for packages with ${B} == ${WORKDIR}:
>
> find: '.../sstate-build-populate_lic': No such file or directory
>
> As the find command of the host system is used here, we can't ensure that
> the used version contains the fix. Work around the issue by passing the
> output of find to 'rm -f' instead of using -delete.
>
> Signed-off-by: Matthias Schiffer <matthias.schiffer at ew.tq-group.com>
> ---
>
> It would be great if this patch could be backported to all versions
> back to Rocko, as our current setup is still based on Rocko.
>
> meta/classes/base.bbclass | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
> index df11c8b270..5ffd8396e3 100644
> --- a/meta/classes/base.bbclass
> +++ b/meta/classes/base.bbclass
> @@ -303,7 +303,7 @@ base_do_configure() {
> if [ "${CLEANBROKEN}" != "1" -a \( -e Makefile -o -e makefile -o -e GNUmakefile \) ]; then
> oe_runmake clean
> fi
You might want to include a comment here explaining why rm -f is used
instead of -delete, or someone might come along and optimize the code...
> - find ${B} -ignore_readdir_race -name \*.la -delete
> + find ${B} -ignore_readdir_race -name \*.la -type f -print0 | xargs -0 rm -f
> fi
> fi
> if [ -n "${CONFIGURESTAMPFILE}" ]; then
> --
> 2.17.1
//Peter
More information about the Openembedded-core
mailing list