Message ID | 1470410231-21681-3-git-send-email-ross.burton@intel.com |
---|---|
State | Accepted |
Commit | d7249c5cce6fbc7875c46f2452ca8cd045773898 |
Headers | show |
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 --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
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