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


Liam Beguin
 

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@...>
---
.../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



--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


Alexandre Belloni
 

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@...>
---
.../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



--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


Liam Beguin
 

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@...>
---
.../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