diff options
author | Peter Kjellerstedt <pkj@axis.com> | 2016-03-15 15:41:02 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-03-20 22:57:58 +0000 |
commit | 3327e2a9222004d8ac7974cb1d9fe77c81176cfc (patch) | |
tree | abaaa512adf3302e9f6aa6d6e8846fcb167dd0aa | |
parent | 75c5dc8d4a5506bf5b89292a96c7b9f91e9d71c8 (diff) | |
download | openembedded-core-3327e2a9222004d8ac7974cb1d9fe77c81176cfc.tar.gz openembedded-core-3327e2a9222004d8ac7974cb1d9fe77c81176cfc.tar.bz2 openembedded-core-3327e2a9222004d8ac7974cb1d9fe77c81176cfc.zip |
oe-init-build-env*: Allow $OEROOT to be predefined
The current implementation of oe-init-build-env and
oe-init-build-env-memres requires that they are sourced from the
directory that will be known as $OEROOT. This makes it hard to write a
wrapper script with the same name as the original OE script which,
e.g., sources the original OE script from a sub-directory.
With this change, $OEROOT can be predefined when oe-init-build-env or
oe-init-build-env-memres is sourced, allowing the original OE scripts
to be anywhere.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
-rwxr-xr-x | oe-init-build-env | 16 | ||||
-rwxr-xr-x | oe-init-build-env-memres | 16 |
2 files changed, 18 insertions, 14 deletions
diff --git a/oe-init-build-env b/oe-init-build-env index b7e29188b0..7b922b302a 100755 --- a/oe-init-build-env +++ b/oe-init-build-env @@ -26,30 +26,32 @@ # to sourcing this script. # if [ -n "$BASH_SOURCE" ]; then - OEROOT="`dirname $BASH_SOURCE`" + THIS_SCRIPT=$BASH_SOURCE elif [ -n "$ZSH_NAME" ]; then - OEROOT="`dirname $0`" + THIS_SCRIPT=$0 else - OEROOT="`pwd`" + THIS_SCRIPT="$(pwd)/oe-init-build-env" 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"` +if [ -z "$OEROOT" ]; then + OEROOT=$(dirname "$THIS_SCRIPT") + OEROOT=$(readlink -f "$OEROOT") +fi +unset THIS_SCRIPT + export OEROOT . $OEROOT/scripts/oe-buildenv-internal && \ TEMPLATECONF="$TEMPLATECONF" $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 diff --git a/oe-init-build-env-memres b/oe-init-build-env-memres index c1dc4fe3ef..092d4fe081 100755 --- a/oe-init-build-env-memres +++ b/oe-init-build-env-memres @@ -34,30 +34,32 @@ else fi if [ -n "$BASH_SOURCE" ]; then - OEROOT="`dirname $BASH_SOURCE`" + THIS_SCRIPT=$BASH_SOURCE elif [ -n "$ZSH_NAME" ]; then - OEROOT="`dirname $0`" + THIS_SCRIPT=$0 else - OEROOT="`pwd`" + THIS_SCRIPT="$(pwd)/oe-init-build-env" fi if [ -n "$BBSERVER" ]; then unset BBSERVER fi -THIS_SCRIPT=$OEROOT/oe-init-build-env-memres if [ -z "$ZSH_NAME" ] && [ "x$0" = "x$THIS_SCRIPT" ]; then echo "Error: This script needs to be sourced. Please run as '. $THIS_SCRIPT'" exit 1 fi -OEROOT=`readlink -f "$OEROOT"` +if [ -z "$OEROOT" ]; then + OEROOT=$(dirname "$THIS_SCRIPT") + OEROOT=$(readlink -f "$OEROOT") +fi +unset THIS_SCRIPT + export OEROOT . $OEROOT/scripts/oe-buildenv-internal && \ $OEROOT/scripts/oe-setup-builddir && \ [ -n "$BUILDDIR" ] && cd $BUILDDIR unset OEROOT -unset BBPATH -unset THIS_SCRIPT res=1 if [ -e bitbake.lock ] && grep : bitbake.lock > /dev/null ; then |