aboutsummaryrefslogtreecommitdiffstats
path: root/oe-init-build-env
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2019-03-11 18:16:55 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-03-12 11:56:38 -0700
commit632c54b7686e60ee320ed1a7ac7d889790599d27 (patch)
tree52ad45ec58e4943f2d39d62be3fa5fd6b6b9688c /oe-init-build-env
parent9ed1dd6329b393e4f780fb88fea98bc930138a57 (diff)
downloadopenembedded-core-contrib-632c54b7686e60ee320ed1a7ac7d889790599d27.tar.gz
openembedded-core-contrib-632c54b7686e60ee320ed1a7ac7d889790599d27.tar.bz2
openembedded-core-contrib-632c54b7686e60ee320ed1a7ac7d889790599d27.zip
oe-init-build-env: Error out when failed to locate cwd
Ubuntu's /bin/sh symlinks to /bin/dash by default, so subprocess.check_call(oe-init-build-env, cwd=builddir) would be failed since pwd is builddir, and there is no $builddir/oe-init-build-env, this would lead to other confusing errors, check and error it out earlier to make it easier to locate the problem. We don't meet the problem when manually run ". oe-init-build-env" is because Ubuntu's default login shell is bash, but subprocess.check_call() doesn't respect to login shell, so the error only happens in situations like subprocess.check_call(). And also print errors to stderr as oe-buildenv-internal does. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'oe-init-build-env')
-rwxr-xr-xoe-init-build-env7
1 files changed, 6 insertions, 1 deletions
diff --git a/oe-init-build-env b/oe-init-build-env
index e813230a988..861c3e000ed 100755
--- a/oe-init-build-env
+++ b/oe-init-build-env
@@ -31,13 +31,18 @@ elif [ -n "$ZSH_NAME" ]; then
THIS_SCRIPT=$0
else
THIS_SCRIPT="$(pwd)/oe-init-build-env"
+ if [ ! -e "$THIS_SCRIPT" ]; then
+ echo "Error: $THIS_SCRIPT doesn't exist!" >&2
+ echo "Please run this script in oe-init-build-env's directory." >&2
+ exit 1
+ fi
fi
if [ -n "$BBSERVER" ]; then
unset BBSERVER
fi
if [ -z "$ZSH_NAME" ] && [ "$0" = "$THIS_SCRIPT" ]; then
- echo "Error: This script needs to be sourced. Please run as '. $THIS_SCRIPT'"
+ echo "Error: This script needs to be sourced. Please run as '. $THIS_SCRIPT'" >&2
exit 1
fi