[OE-core] [PATCH 3/5] autotools: move aclocal-copy to WORKDIR

Andre McCurdy armccurdy at gmail.com
Tue Oct 17 18:56:54 UTC 2017


On Fri, Aug 5, 2016 at 8:17 AM, Ross Burton <ross.burton at intel.com> wrote:
> To save time move the temporary copy of the autoconf macros, aclocal-copy, from
> ${B} to ${WORKDIR}.  This ensures that it can't conflict with anything in ${S}
> and means the pruning code doesn't need to know about it.

Apparently this breaks recipes which copy all sources into ${WORKDIR}
and then set ${S} to ${WORKDIR}.

Obviously that's the recipe's problem, but wondering if we should add
a check in the autotools class to catch and flag that particular case?

Sorry to bring this up so late but I just recently came across a user
who's recipe broke when they updated from daisy to morty and their
proposed "fix" was to hack autotools.bbclass to re-instate the "grep
-v aclocal-copy" removed below...

> Signed-off-by: Ross Burton <ross.burton at intel.com>
> ---
>  meta/classes/autotools.bbclass | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
> index 1c884b4..22359d3 100644
> --- a/meta/classes/autotools.bbclass
> +++ b/meta/classes/autotools.bbclass
> @@ -134,7 +134,7 @@ EXTRACONFFUNCS ??= ""
>  do_configure[prefuncs] += "autotools_preconfigure autotools_copy_aclocals ${EXTRACONFFUNCS}"
>  do_configure[postfuncs] += "autotools_postconfigure"
>
> -ACLOCALDIR = "${B}/aclocal-copy"
> +ACLOCALDIR = "${WORKDIR}/aclocal-copy"
>
>  python autotools_copy_aclocals () {
>      s = d.getVar("AUTOTOOLS_SCRIPT_PATH", True)
> @@ -248,7 +248,7 @@ autotools_do_configure() {
>                 if [ x"${acpaths}" = xdefault ]; then
>                         acpaths=
>                         for i in `find ${AUTOTOOLS_SCRIPT_PATH} -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
> +                               grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
>                                 acpaths="$acpaths -I $i"
>                         done
>                 else
> @@ -288,9 +288,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} -ignore_readdir_race -name $i | grep -v aclocal-copy`; do
> -                                       rm $j
> -                               done
> +                               find ${S} -ignore_readdir_race -name $i -delete
>                         done
>                 fi
>                 mkdir -p m4
> --
> 2.8.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list