diff mbox series

classes/meson: dump the end of the meson-log.txt on failure

Message ID 20251128131340.3277792-1-ross.burton@arm.com
State New
Headers show
Series classes/meson: dump the end of the meson-log.txt on failure | expand

Commit Message

Ross Burton Nov. 28, 2025, 1:13 p.m. UTC
When 'meson setup' fails it just prints the summary of the failure and
leaves the full details in the meson-log.txt.

  ../sources/xorgproto-2024.1/meson.build:22:0: ERROR:
  Executables created by c compiler x86-poky-linux-gcc [...] are not runnable.

  A full log can be found at [${B}]/meson-logs/meson-log.txt
  ERROR: meson failed

In CI systems where the build tree is then thrown away this is not very
useful, so on failure also output the last ten lines of the log file:
hopefully that is enough for context without flooding the logs.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/classes-recipe/meson.bbclass | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/meta/classes-recipe/meson.bbclass b/meta/classes-recipe/meson.bbclass
index c8b3e1ec29a..45d43319f9c 100644
--- a/meta/classes-recipe/meson.bbclass
+++ b/meta/classes-recipe/meson.bbclass
@@ -174,7 +174,13 @@  meson_do_configure() {
 
     bbnote Executing meson ${EXTRA_OEMESON}...
     if ! meson setup ${MESONOPTS} "${MESON_SOURCEPATH}" "${B}" ${MESON_CROSS_FILE} ${EXTRA_OEMESON}; then
-        bbfatal_log meson failed
+        MESON_LOG=${B}/meson-logs/meson-log.txt
+        if test -f $MESON_LOG; then
+            printf "\nLast 10 lines of meson-log.txt:\n"
+            tail --lines=10 $MESON_LOG
+            printf "\n"
+        fi
+        bbfatal_log meson setup failed
     fi
 }