Patchwork [2/2] alsa-tools: Fix configure race

login
register
mail settings
Submitter Cristian Iorga
Date May 31, 2013, 11:07 a.m.
Message ID <1369998428-20266-1-git-send-email-cristian.iorga@intel.com>
Download mbox | patch
Permalink /patch/50935/
State Accepted
Commit 158d9d82e0880aca33bfd3312376835ff75735c1
Headers show

Comments

Cristian Iorga - May 31, 2013, 11:07 a.m.
From: Richard Purdie <richard.purdie@linuxfoundation.org>

aclocal is being called here directly,
not called by autotools.bbclass wrapper.
aclocal files are installed in sysroot,
and are removed while build is still running.
This translates to a possible race condition during the build.

Fixes [YOCTO #4358].

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
---
 meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
Saul Wold - June 3, 2013, 8:49 p.m.
On 05/31/2013 04:07 AM, Cristian Iorga wrote:
> From: Richard Purdie <richard.purdie@linuxfoundation.org>
>
> aclocal is being called here directly,
> not called by autotools.bbclass wrapper.
> aclocal files are installed in sysroot,
> and are removed while build is still running.
> This translates to a possible race condition during the build.
>
> Fixes [YOCTO #4358].
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
> ---
>   meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb |    8 +++++++-
>   1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb
> index 81ad55a..24af545 100644
> --- a/meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb
> +++ b/meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb
> @@ -20,14 +20,20 @@ SRC_URI[sha256sum] = "553338693707fe6ddfc430b9edc4cd2677390e200c9e38de82ede3394e
>
>   inherit autotools
>
> -EXTRA_OEMAKE += "GITCOMPILE_ARGS='--host=${HOST_SYS} --build=${BUILD_SYS} --target=${TARGET_SYS} --with-libtool-sysroot=${STAGING_DIR_HOST} --prefix=${prefix}' ACLOCAL_FLAGS='-I ${STAGING_DATADIR}/aclocal'"
> +EXTRA_OEMAKE += "GITCOMPILE_ARGS='--host=${HOST_SYS} --build=${BUILD_SYS} --target=${TARGET_SYS} --with-libtool-sysroot=${STAGING_DIR_HOST} --prefix=${prefix}'"
>
>   PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'gtk+', '', d)}"
>   PACKAGECONFIG[gtk+] = ",,gtk+,"
>
> +do_configure () {
> +    autotools_do_configure
> +    autotools_copy_aclocal
There must be another part to this patch since nothing defines 
autotools_copy_aclocal().

Sau!

> +}
> +
>   do_compile_prepend () {
>       #Automake dir is not correctly detected in cross compilation case
>       export AUTOMAKE_DIR=${STAGING_DATADIR_NATIVE}/$(ls ${STAGING_DATADIR_NATIVE} | grep automake)
> +    export ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/"
>   }
>
>   FILES_${PN} += "${datadir}/ld10k1"
>

Patch

diff --git a/meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb
index 81ad55a..24af545 100644
--- a/meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb
+++ b/meta/recipes-multimedia/alsa/alsa-tools_1.0.26.1.bb
@@ -20,14 +20,20 @@  SRC_URI[sha256sum] = "553338693707fe6ddfc430b9edc4cd2677390e200c9e38de82ede3394e
 
 inherit autotools
 
-EXTRA_OEMAKE += "GITCOMPILE_ARGS='--host=${HOST_SYS} --build=${BUILD_SYS} --target=${TARGET_SYS} --with-libtool-sysroot=${STAGING_DIR_HOST} --prefix=${prefix}' ACLOCAL_FLAGS='-I ${STAGING_DATADIR}/aclocal'"
+EXTRA_OEMAKE += "GITCOMPILE_ARGS='--host=${HOST_SYS} --build=${BUILD_SYS} --target=${TARGET_SYS} --with-libtool-sysroot=${STAGING_DIR_HOST} --prefix=${prefix}'"
 
 PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'gtk+', '', d)}"
 PACKAGECONFIG[gtk+] = ",,gtk+,"
 
+do_configure () {
+    autotools_do_configure
+    autotools_copy_aclocal
+}
+
 do_compile_prepend () {
     #Automake dir is not correctly detected in cross compilation case
     export AUTOMAKE_DIR=${STAGING_DATADIR_NATIVE}/$(ls ${STAGING_DATADIR_NATIVE} | grep automake)
+    export ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/"
 }
 
 FILES_${PN} += "${datadir}/ld10k1"