mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-05 05:04:44 +02:00
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: aa4d86ff55b01d150f49b5b4517b0c661a10c36b) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
c9595af8ad
commit
2a708dec24
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user