]> code.ossystems Code Review - openembedded-core.git/commitdiff
poky-init-build-env: Enable all POSIX shells
authorMark Hatle <mark.hatle@windriver.com>
Thu, 25 Nov 2010 00:06:04 +0000 (18:06 -0600)
committerRichard Purdie <rpurdie@linux.intel.com>
Mon, 20 Dec 2010 23:00:51 +0000 (23:00 +0000)
Update the script so that it will work in more then just bash.  If bash
is not used, it will assume the PWD is the Poky location.  (This is because
BASH_SOURCE is a bash-ism, and equivalent functionality is not available in
other shells).

This has been verified with dash (see comment in the code), ksh, zsh and
of course bash.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
poky-init-build-env
scripts/poky-env-internal

index 7af2172a456334de03c57649bc1347421aa601f3..90151fb7bbdf60d935e1cfdc1fe5c85abd4ec1f0 100755 (executable)
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-
+#
+# Normally this is called as '. ./poky-init-buildenv builddir'
+#
+# This works in most shells (not dash), but not all of them pass arg1 when
+# being sourced.   To workaround the shell limitation use "set arg1" prior 
+# to sourcing this script.
+#
 if [ "x$0" = "x./poky-init-build-env" ]; then
    echo "Error: This script needs to be sourced. Please run as '. ./poky-init-build-env'"
-elif [ "x$BASH_SOURCE" = "x" ]; then
-   echo "Error: You are not running a Bash shell. Please use Bash or add support for your shell to the init scripts"
 else
-   OEROOT="`dirname $BASH_SOURCE`"
+   if [ -n "$BASH_SOURCE" ]; then
+      OEROOT="`dirname $BASH_SOURCE`"
+   else
+      OEROOT="`pwd`"
+   fi
    OEROOT=`readlink -f "$OEROOT"`
    export OEROOT
    . $OEROOT/scripts/poky-env-internal
index 2ec07ed061ea3f07b62346b9fbb0b430f2abf267..06586ec56f4bdd900efec05787c9301ce43eff81 100755 (executable)
@@ -31,7 +31,7 @@ if [ "x$BDIR" = "x" ]; then
         BDIR=`readlink -f "$1"`
     fi
 fi
-if [[ "$BDIR" = /* ]] ; then
+if expr "$BDIR" : '/.*' > /dev/null ; then
     BUILDDIR="$BDIR"
 else
     BUILDDIR="`pwd`/$BDIR"