oe-find-native-sysroot: show bitbake errors to user
authorScott Garman <scott.a.garman@intel.com>
Wed, 26 Sep 2012 18:02:26 +0000 (11:02 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 28 Sep 2012 10:07:39 +0000 (11:07 +0100)
Ran into another bug that was masked by hiding a bitbake error message.
This catches this situation and displays the error to the user.

Also includes whitespace fixes.

(From OE-Core rev: 435ffeefe4a1df53335fd397ff404bed7deae2df)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/oe-find-native-sysroot

index b2c22aa..9df9b44 100755 (executable)
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-if [ -z "$OECORE_NATIVE_SYSROOT" ]; then
+if [ "x$OECORE_NATIVE_SYSROOT" = "x" ]; then
     BITBAKE=`which bitbake 2> /dev/null`
     if [ "x$BITBAKE" != "x" ]; then
-       if [ "$UID" = "0" ]; then
+        if [ "$UID" = "0" ]; then
             # Root cannot run bitbake unless sanity checking is disabled
             if [ ! -d "./conf" ]; then
-               echo "Error: root cannot run bitbake by default, and I cannot find a ./conf directory to be able to disable sanity checking"
-               exit 1
+                echo "Error: root cannot run bitbake by default, and I cannot find a ./conf directory to be able to disable sanity checking"
+                exit 1
             fi
             touch conf/sanity.conf
             OECORE_NATIVE_SYSROOT=`bitbake -e | grep ^STAGING_DIR_NATIVE | cut -d '=' -f2 | cut -d '"' -f2`
             rm -f conf/sanity.conf
-       else
+        else
             OECORE_NATIVE_SYSROOT=`bitbake -e | grep ^STAGING_DIR_NATIVE | cut -d '=' -f2 | cut -d '"' -f2`
-       fi
+        fi
     else
-       echo "Error: Unable to locate your native sysroot."
-       echo "Did you forget to source the build environment setup script?"
+        echo "Error: Unable to locate bitbake command."
+        echo "Did you forget to source the build environment setup script?"
 
-       if [ -z "$SKIP_STRICT_SYSROOT_CHECK" ]; then
+        if [ -z "$SKIP_STRICT_SYSROOT_CHECK" ]; then
             exit 1
-       fi
+        fi
     fi
 fi
 
+if [ "x$OECORE_NATIVE_SYSROOT" = "x" ]; then
+    # This indicates that there was an error running bitbake -e that
+    # the user needs to be informed of
+    echo "There was an error running bitbake to determine STAGING_DIR_NATIVE"
+    echo "Here is the output from bitbake -e"
+    bitbake -e
+    exit 1
+fi
+
 # Set up pseudo command
 if [ ! -e "$OECORE_NATIVE_SYSROOT/usr/bin/pseudo" ]; then
     echo "Error: Unable to find pseudo binary in $OECORE_NATIVE_SYSROOT/usr/bin/"