As the BitBake script is the initial entry point for the system we need to ensure it can run in as many places as possible, including systems which aren't yest optimally configured for running Poky. Remove some bashisms from the script so that it can run under Dash. Pointers from: https://wiki.ubuntu.com/DashAsBinSh Errors before this patch: http://pastie.org/1502136 Signed-off-by: Joshua Lock <josh@linux.intel.com>
1.4 KiB
Executable File
#!/bin/sh NO_BUILD_OPTS="--version -h --help -p --parse-only -s --show-versions -e --environment" needpseudo="1" for opt in $@; do for key in $NO_BUILD_OPTS; do if [ $opt = $key ] then needpseudo="0" break fi done [ $needpseudo = "0" ] && break done
buildpseudo="1"
if [ $needpseudo = "1" ] && [ -e "$BUILDDIR/pseudodone" ]; then
PSEUDOBINDIR=cat $BUILDDIR/pseudodone
if [ -e "$PSEUDOBINDIR/pseudo" ]; then
buildpseudo="0"
fi
fi
if [ $needpseudo = "0" ]; then
buildpseudo="0"
fi
OLDPATH=$PATH
export PATH=echo $PATH | sed s#[^:]*/scripts:##
if [ $buildpseudo = "1" ]; then
echo "Pseudo is not present but is required, building this first before the main build"
bitbake pseudo-native -c populate_sysroot
ret=$?
if [ "$ret" != "0" ]; then
exit 1
fi
PSEUDOBINDIR=bitbake -e | grep STAGING_BINDIR_NATIVE=\" | cut -d '=' -f2 | cut -d '"' -f2
ret=$?
if [ "$ret" != "0" ]; then
exit 1
fi
echo $PSEUDOBINDIR > $BUILDDIR/pseudodone
# This needs to exist in case pseudo has to log somewhere
mkdir -p $PSEUDOBINDIR/../../var/pseudo
fi
BITBAKE=which bitbake
export PATH=$OLDPATH
if [ $needpseudo = "1" ]; then
PSEUDOBINDIR=cat $BUILDDIR/pseudodone
PSEUDO_BINDIR=$PSEUDOBINDIR PSEUDO_LIBDIR=$PSEUDOBINDIR/../lib/pseudo/lib PSEUDO_PREFIX=$PSEUDOBINDIR/../../ PSEUDO_DISABLED=1 $PSEUDOBINDIR/pseudo $BITBAKE $@
else
$BITBAKE $@
fi
ret=$?
exit $ret