summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGary Thomas <gary@mlbassoc.com>2014-02-24 17:11:47 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-11 08:09:04 -0700
commitcac863e958a0c8fe0f8a84dc194273c699f0c40f (patch)
treea6f680b7f1a180a3ab15ab893399b6af6c13efcc
parent1117d25fdfabbf1afdc7030e05efc6a32df871e3 (diff)
downloadopenembedded-core-contrib-cac863e958a0c8fe0f8a84dc194273c699f0c40f.tar.gz
oe-init-build-env: Improve script sourcing detection.
This script is only useful when sourced into a shell. These changes improve the detection of this operation, no matter how the script is referenced. Signed-off-by: Gary Thomas <gary@mlbassoc.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xoe-init-build-env42
1 files changed, 23 insertions, 19 deletions
diff --git a/oe-init-build-env b/oe-init-build-env
index 8ef32f3d55..52495133fd 100755
--- a/oe-init-build-env
+++ b/oe-init-build-env
@@ -25,27 +25,31 @@
# being sourced. To workaround the shell limitation use "set arg1" prior
# to sourcing this script.
#
-if [ -z "$ZSH_NAME" ] && [ "x$0" = "x./oe-init-build-env" ]; then
- echo "Error: This script needs to be sourced. Please run as '. ./oe-init-build-env'"
+if [ -n "$BASH_SOURCE" ]; then
+ OEROOT="`dirname $BASH_SOURCE`"
+elif [ -n "$ZSH_NAME" ]; then
+ OEROOT="`dirname $0`"
else
- if [ -n "$BASH_SOURCE" ]; then
- OEROOT="`dirname $BASH_SOURCE`"
- elif [ -n "$ZSH_NAME" ]; then
- OEROOT="`dirname $0`"
- else
- OEROOT="`pwd`"
- fi
- if [ -n "$BBSERVER" ]; then
- unset BBSERVER
- fi
- OEROOT=`readlink -f "$OEROOT"`
- export OEROOT
- . $OEROOT/scripts/oe-buildenv-internal && \
- $OEROOT/scripts/oe-setup-builddir && \
- [ -n "$BUILDDIR" ] && cd $BUILDDIR
- unset OEROOT
- unset BBPATH
+ OEROOT="`pwd`"
fi
+if [ -n "$BBSERVER" ]; then
+ unset BBSERVER
+fi
+THIS_SCRIPT=$OEROOT/oe-init-build-env
+
+if [ -z "$ZSH_NAME" ] && [ "$0" = "$THIS_SCRIPT" ]; then
+ echo "Error: This script needs to be sourced. Please run as '. $THIS_SCRIPT'"
+ exit 1
+fi
+
+OEROOT=`readlink -f "$OEROOT"`
+export OEROOT
+. $OEROOT/scripts/oe-buildenv-internal && \
+ $OEROOT/scripts/oe-setup-builddir && \
+ [ -n "$BUILDDIR" ] && cd $BUILDDIR
+unset OEROOT
+unset BBPATH
+unset THIS_SCRIPT
# Shutdown any bitbake server if the BBSERVER variable is not set
if [ -z "$BBSERVER" ] && [ -f bitbake.lock ] ; then