diff mbox

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

Message ID 1470410231-21681-3-git-send-email-ross.burton@intel.com
State Accepted
Commit d7249c5cce6fbc7875c46f2452ca8cd045773898
Headers show

Commit Message

Ross Burton Aug. 5, 2016, 3:17 p.m. UTC
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.

Signed-off-by: Ross Burton <ross.burton@intel.com>

---
 meta/classes/autotools.bbclass | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

-- 
2.8.1

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Comments

Andre McCurdy Oct. 17, 2017, 6:56 p.m. UTC | #1
On Fri, Aug 5, 2016 at 8:17 AM, Ross Burton <ross.burton@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@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@lists.openembedded.org

> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
diff mbox

Patch

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