diff mbox series

[v1] meson: make wrapper options sub-command specific

Message ID 20220917220735.4192854-1-liambeguin@gmail.com
State New
Headers show
Series [v1] meson: make wrapper options sub-command specific | expand

Commit Message

Liam Beguin Sept. 17, 2022, 10:07 p.m. UTC
The meson-wrapper adds setup options to facilitate cross-compilation.
The current options are exclusive to the setup sub-command and might
cause issues with other sub-commands.

Update the wrapper to make options sub-command specific.

Signed-off-by: Liam Beguin <liambeguin@gmail.com>
---
 .../meson/meson/meson-wrapper                 | 22 ++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)


base-commit: 09c1cac053c2892e3af3250cc6229e8da78e7a50

Comments

Alexandre Belloni Sept. 20, 2022, 9:14 p.m. UTC | #1
Hello,

On 17/09/2022 18:07:35-0400, Liam Beguin wrote:
> The meson-wrapper adds setup options to facilitate cross-compilation.
> The current options are exclusive to the setup sub-command and might
> cause issues with other sub-commands.
> 
> Update the wrapper to make options sub-command specific.
> 

This caused many failures on the autobuilders:

buildepoxy.EpoxyTest.test_epoxy: ERROR (0.43s)

oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '. /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/beaglebone_yocto-poky-linux-gnueabi/core-image-sato/1.0-r0/testimage-sdk/environment-setup-cortexa8hf-neon-poky-linux-gnueabi > /dev/null; meson -Degl=no -Dglx=no -Dx11=false /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/beaglebone_yocto-poky-linux-gnueabi/core-image-sato/1.0-r0/testimage-sdk/epoxybmd9dxec/build /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/beaglebone_yocto-poky-linux-gnueabi/core-image-sato/1.0-r0/testimage-sdk/epoxybmd9dxec/libepoxy-1.5.3;' returned non-zero exit status 1
Standard Output: sed: -e expression #1, char 10: unknown option to `s'
ERROR: Neither directory contains a build file meson.build.

https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/5918/steps/12/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/53/builds/5879/steps/12/logs/stdio
and others


> Signed-off-by: Liam Beguin <liambeguin@gmail.com>
> ---
>  .../meson/meson/meson-wrapper                 | 22 ++++++++++++++++---
>  1 file changed, 19 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/recipes-devtools/meson/meson/meson-wrapper b/meta/recipes-devtools/meson/meson/meson-wrapper
> index c62007f5077e..fae9e167a325 100755
> --- a/meta/recipes-devtools/meson/meson/meson-wrapper
> +++ b/meta/recipes-devtools/meson/meson/meson-wrapper
> @@ -13,7 +13,23 @@ fi
>  # config is already in meson.cross.
>  unset CC CXX CPP LD AR NM STRIP
>  
> +for arg in "${@}"; do
> +    case ${arg} in
> +    -*) continue ;;
> +    *) SUBCMD=${arg}; break ;;
> +    esac
> +done
> +
> +case ${SUBCMD} in
> +setup)
> +    MESON_SUB_OPTS=" \
> +        --cross-file="${OECORE_NATIVE_SYSROOT}/usr/share/meson/${TARGET_PREFIX}meson.cross" \
> +        --native-file="${OECORE_NATIVE_SYSROOT}/usr/share/meson/meson.native" \
> +        "
> +    ;;
> +esac
> +
>  exec "$OECORE_NATIVE_SYSROOT/usr/bin/meson.real" \
> -     --cross-file "${OECORE_NATIVE_SYSROOT}/usr/share/meson/${TARGET_PREFIX}meson.cross" \
> -     --native-file "${OECORE_NATIVE_SYSROOT}/usr/share/meson/meson.native" \
> -     "$@"
> +    ${SUBCMD} \
> +    ${MESON_SUB_OPTS} \
> +    $(echo $@ | sed s/${SUBCMD}//)
> 
> base-commit: 09c1cac053c2892e3af3250cc6229e8da78e7a50
> -- 
> 2.37.1.223.g6a475b71f8c4
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#170842): https://lists.openembedded.org/g/openembedded-core/message/170842
> Mute This Topic: https://lists.openembedded.org/mt/93751917/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Liam Beguin Sept. 28, 2022, 2:46 a.m. UTC | #2
Hi Alexandre,

On Tue, Sep 20, 2022 at 11:14:25PM +0200, Alexandre Belloni wrote:
> Hello,
> 
> On 17/09/2022 18:07:35-0400, Liam Beguin wrote:
> > The meson-wrapper adds setup options to facilitate cross-compilation.
> > The current options are exclusive to the setup sub-command and might
> > cause issues with other sub-commands.
> > 
> > Update the wrapper to make options sub-command specific.
> > 
> 
> This caused many failures on the autobuilders:

Apologies for this! Thanks for pointing out the logs, I was able to run
the tests locally and will send v2 shortly.

Cheers,
Liam

> buildepoxy.EpoxyTest.test_epoxy: ERROR (0.43s)
> 
> oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '. /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/beaglebone_yocto-poky-linux-gnueabi/core-image-sato/1.0-r0/testimage-sdk/environment-setup-cortexa8hf-neon-poky-linux-gnueabi > /dev/null; meson -Degl=no -Dglx=no -Dx11=false /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/beaglebone_yocto-poky-linux-gnueabi/core-image-sato/1.0-r0/testimage-sdk/epoxybmd9dxec/build /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/beaglebone_yocto-poky-linux-gnueabi/core-image-sato/1.0-r0/testimage-sdk/epoxybmd9dxec/libepoxy-1.5.3;' returned non-zero exit status 1
> Standard Output: sed: -e expression #1, char 10: unknown option to `s'
> ERROR: Neither directory contains a build file meson.build.
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/5918/steps/12/logs/stdio
> https://autobuilder.yoctoproject.org/typhoon/#/builders/53/builds/5879/steps/12/logs/stdio
> and others
> 
> 
> > Signed-off-by: Liam Beguin <liambeguin@gmail.com>
> > ---
> >  .../meson/meson/meson-wrapper                 | 22 ++++++++++++++++---
> >  1 file changed, 19 insertions(+), 3 deletions(-)
> > 
> > diff --git a/meta/recipes-devtools/meson/meson/meson-wrapper b/meta/recipes-devtools/meson/meson/meson-wrapper
> > index c62007f5077e..fae9e167a325 100755
> > --- a/meta/recipes-devtools/meson/meson/meson-wrapper
> > +++ b/meta/recipes-devtools/meson/meson/meson-wrapper
> > @@ -13,7 +13,23 @@ fi
> >  # config is already in meson.cross.
> >  unset CC CXX CPP LD AR NM STRIP
> >  
> > +for arg in "${@}"; do
> > +    case ${arg} in
> > +    -*) continue ;;
> > +    *) SUBCMD=${arg}; break ;;
> > +    esac
> > +done
> > +
> > +case ${SUBCMD} in
> > +setup)
> > +    MESON_SUB_OPTS=" \
> > +        --cross-file="${OECORE_NATIVE_SYSROOT}/usr/share/meson/${TARGET_PREFIX}meson.cross" \
> > +        --native-file="${OECORE_NATIVE_SYSROOT}/usr/share/meson/meson.native" \
> > +        "
> > +    ;;
> > +esac
> > +
> >  exec "$OECORE_NATIVE_SYSROOT/usr/bin/meson.real" \
> > -     --cross-file "${OECORE_NATIVE_SYSROOT}/usr/share/meson/${TARGET_PREFIX}meson.cross" \
> > -     --native-file "${OECORE_NATIVE_SYSROOT}/usr/share/meson/meson.native" \
> > -     "$@"
> > +    ${SUBCMD} \
> > +    ${MESON_SUB_OPTS} \
> > +    $(echo $@ | sed s/${SUBCMD}//)
> > 
> > base-commit: 09c1cac053c2892e3af3250cc6229e8da78e7a50
> > -- 
> > 2.37.1.223.g6a475b71f8c4
> > 
> 
> > 
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#170842): https://lists.openembedded.org/g/openembedded-core/message/170842
> > Mute This Topic: https://lists.openembedded.org/mt/93751917/3617179
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> > 
> 
> 
> -- 
> Alexandre Belloni, co-owner and COO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
diff mbox series

Patch

diff --git a/meta/recipes-devtools/meson/meson/meson-wrapper b/meta/recipes-devtools/meson/meson/meson-wrapper
index c62007f5077e..fae9e167a325 100755
--- a/meta/recipes-devtools/meson/meson/meson-wrapper
+++ b/meta/recipes-devtools/meson/meson/meson-wrapper
@@ -13,7 +13,23 @@  fi
 # config is already in meson.cross.
 unset CC CXX CPP LD AR NM STRIP
 
+for arg in "${@}"; do
+    case ${arg} in
+    -*) continue ;;
+    *) SUBCMD=${arg}; break ;;
+    esac
+done
+
+case ${SUBCMD} in
+setup)
+    MESON_SUB_OPTS=" \
+        --cross-file="${OECORE_NATIVE_SYSROOT}/usr/share/meson/${TARGET_PREFIX}meson.cross" \
+        --native-file="${OECORE_NATIVE_SYSROOT}/usr/share/meson/meson.native" \
+        "
+    ;;
+esac
+
 exec "$OECORE_NATIVE_SYSROOT/usr/bin/meson.real" \
-     --cross-file "${OECORE_NATIVE_SYSROOT}/usr/share/meson/${TARGET_PREFIX}meson.cross" \
-     --native-file "${OECORE_NATIVE_SYSROOT}/usr/share/meson/meson.native" \
-     "$@"
+    ${SUBCMD} \
+    ${MESON_SUB_OPTS} \
+    $(echo $@ | sed s/${SUBCMD}//)