Patchwork [1/1] runqemu: show bitbake errors to user

login
register
mail settings
Submitter Scott Garman
Date Sept. 19, 2012, 5:50 a.m.
Message ID <d7a77583ec35e5f7c1853d6005d7f75999004d32.1348033737.git.scott.a.garman@intel.com>
Download mbox | patch
Permalink /patch/36877/
State Accepted
Commit 465d7b6e66b5a55706535e194b3e44e11ee542c6
Headers show

Comments

Scott Garman - Sept. 19, 2012, 5:50 a.m.
In certain edge cases, bitbake may fail to run and cause setup_tmpdir()
within runqemu to fail, and not give the user a helpful error message.
Catch this case and show the user the output of bitbake -e.

This fixes [YOCTO #3112]

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
---
 scripts/runqemu |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

Patch

diff --git a/scripts/runqemu b/scripts/runqemu
index e843946..a9f513c 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -283,8 +283,16 @@  setup_tmpdir() {
         # We have bitbake in PATH, get OE_TMPDIR from bitbake
         OE_TMPDIR=`MACHINE=$MACHINE bitbake -e | grep ^TMPDIR=\" | cut -d '=' -f2 | cut -d '"' -f2`
         if [ -z "$OE_TMPDIR" ]; then
-            echo "Error: this script needs to be run from your build directory,"
-            echo "or you need to explicitly set OE_TMPDIR in your environment"
+            # Check for errors from bitbake that the user needs to know about
+            BITBAKE_OUTPUT=`bitbake -e | wc -l`
+            if [ "$BITBAKE_OUTPUT" -eq "0" ]; then
+                echo "Error: this script needs to be run from your build directory,"
+                echo "or you need to explicitly set OE_TMPDIR in your environment"
+            else
+                echo "There was an error running bitbake to determine TMPDIR"
+                echo "Here is the output from 'bitbake -e':"
+                bitbake -e
+            fi
             exit 1
         fi
     fi