diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2019-03-11 18:16:55 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-03-12 11:57:41 -0700 |
commit | 09923bbf467612a481a058d35f3717189b72477f (patch) | |
tree | 01f24429aaed342ea193004b6381df7f6fe7f2bb /oe-init-build-env | |
parent | 1ee33bc13ffa7795678afdc369b2c9423d888f73 (diff) | |
download | poky-09923bbf467612a481a058d35f3717189b72477f.tar.gz |
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.
(From OE-Core rev: 632c54b7686e60ee320ed1a7ac7d889790599d27)
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-x | oe-init-build-env | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/oe-init-build-env b/oe-init-build-env index e813230a98..861c3e000e 100755 --- a/oe-init-build-env +++ b/oe-init-build-env | |||
@@ -31,13 +31,18 @@ elif [ -n "$ZSH_NAME" ]; then | |||
31 | THIS_SCRIPT=$0 | 31 | THIS_SCRIPT=$0 |
32 | else | 32 | else |
33 | THIS_SCRIPT="$(pwd)/oe-init-build-env" | 33 | THIS_SCRIPT="$(pwd)/oe-init-build-env" |
34 | if [ ! -e "$THIS_SCRIPT" ]; then | ||
35 | echo "Error: $THIS_SCRIPT doesn't exist!" >&2 | ||
36 | echo "Please run this script in oe-init-build-env's directory." >&2 | ||
37 | exit 1 | ||
38 | fi | ||
34 | fi | 39 | fi |
35 | if [ -n "$BBSERVER" ]; then | 40 | if [ -n "$BBSERVER" ]; then |
36 | unset BBSERVER | 41 | unset BBSERVER |
37 | fi | 42 | fi |
38 | 43 | ||
39 | if [ -z "$ZSH_NAME" ] && [ "$0" = "$THIS_SCRIPT" ]; then | 44 | if [ -z "$ZSH_NAME" ] && [ "$0" = "$THIS_SCRIPT" ]; then |
40 | echo "Error: This script needs to be sourced. Please run as '. $THIS_SCRIPT'" | 45 | echo "Error: This script needs to be sourced. Please run as '. $THIS_SCRIPT'" >&2 |
41 | exit 1 | 46 | exit 1 |
42 | fi | 47 | fi |
43 | 48 | ||