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.kjellerst...@axis.com> --- oe-init-build-env | 16 +++++++++------- 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 b7e2918..7b922b3 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 c1dc4fe..092d4fe 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 -- 2.1.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core