diff options
Diffstat (limited to 'scripts/bitbake')
| -rwxr-xr-x | scripts/bitbake | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/scripts/bitbake b/scripts/bitbake deleted file mode 100755 index ca2bc82d04..0000000000 --- a/scripts/bitbake +++ /dev/null @@ -1,184 +0,0 @@ -#!/bin/sh - -# This is the bitbake wrapper script that ensures everything is set up -# correctly in the environment, builds pseudo separately if it hasn't -# already been built, and then runs bitbake within pseudo. - -export BBFETCH2=True -export BB_ENV_EXTRAWHITE="PSEUDO_BUILD PSEUDO_DISABLED $BB_ENV_EXTRAWHITE" - -# For certain operations (i.e. that won't be actually running any tasks) -# we don't need pseudo -NO_BUILD_OPTS="--version -h --help -p --parse-only -s --show-versions -e --environment -g --graphviz" - -# Some options are useful to pass through to the initial pseudo build if -# that needs to be run (for debugging) -PASSTHROUGH_OPTS="-D -DD -DDD -DDDD -v" - -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 - -# Make sure we're not using python v3.x. This check can't go into -# sanity.bbclass because bitbake's source code doesn't even pass -# parsing stage when used with python v3, so we catch it here so we -# can offer a meaningful error message. -py_v3_check=`/usr/bin/env python --version 2>&1 | grep "Python 3"` -if [ "$py_v3_check" != "" ]; then - echo "Bitbake is not compatible with python v3" - echo "Please set up python v2 as your default python interpreter" - exit 1 -fi - -# Similarly, we now have code that doesn't parse correctly with older -# versions of Python, and rather than fixing that and being eternally -# vigilant for any other new feature use, just check the version here. -py_v26_check=`python -c 'import sys; print sys.version_info >= (2,6,0)'` -if [ "$py_v26_check" != "True" ]; then - echo "BitBake requires Python 2.6 or later" - exit 1 -fi - -if [ ! -e conf/bblayers.conf ] ; then - BDPRINT="" - [ -n "$BUILDDIR" ] && BDPRINT=": $BUILDDIR" - echo "Unable to find conf/bblayers.conf" - echo "BitBake must be run from within your build directory$BDPRINT" - exit 1 -elif [ -z "$BUILDDIR" ] ; then - BUILDDIR="`pwd`" -fi - -needtar="1" -needgit="1" -TARVERSION=`tar --version | head -n 1 | cut -d ' ' -f 4` -GITVERSION=`git --version | cut -d ' ' -f 3` -float_test() { - echo | awk 'END { exit ( !( '"$1"')); }' -} -version_compare() { - python -c "from distutils.version import LooseVersion; import sys; sys.exit(not (LooseVersion('$1') $2 LooseVersion('$3')))" -} - -# Tar version 1.24 and onwards handle overwriting symlinks correctly -# but earlier versions do not; this needs to work properly for sstate -float_test "$TARVERSION > 1.23" && needtar="0" - -# Need git >= 1.7.5 for git-remote --mirror=xxx syntax -version_compare $GITVERSION ">=" 1.7.5 && needgit="0" - - -buildpseudo="1" -if [ $needpseudo = "1" ]; then - if [ -e "$BUILDDIR/pseudodone" ]; then - PSEUDOBINDIR=`cat $BUILDDIR/pseudodone` - else - PSEUDOBINDIR=`bitbake -e | grep STAGING_BINDIR_NATIVE=\" | cut -d '=' -f2 | cut -d '"' -f2` - fi - if [ -e "$PSEUDOBINDIR/pseudo" ]; then - buildpseudo="0" - fi - - # Verify that the pseudo recipes are older then the pseudodone file - PSEUDO_RECIPE="`dirname $0`/../meta/recipes-devtools/pseudo" - if [ $buildpseudo -eq 0 ] && [ ! -d "$PSEUDO_RECIPE" ]; then - echo "Unable to verify if pseudo-native is up to date..." >&2 - elif [ $buildpseudo -eq 0 ]; then - PSEUDO_NEWER=`find $PSEUDO_RECIPE -type f -newer $BUILDDIR/pseudodone` - if [ -n "$PSEUDO_NEWER" ]; then - buildpseudo="2" - fi - fi - if [ $buildpseudo = "0" -a ! -e "$BUILDDIR/pseudodone" ] ; then - echo $PSEUDOBINDIR > $BUILDDIR/pseudodone - fi -fi - -# If tar is already built, we don't want to do it again... -if [ -e "$PSEUDOBINDIR/tar" -a "$needtar" = "1" ]; then - needtar="0" -fi -# If git is already built, we don't want to do it again... -if [ -e "$PSEUDOBINDIR/git" -a "$needgit" = "1" ]; then - needgit="0" -fi - -if [ $needpseudo = "0" ]; then - buildpseudo="0" -fi - -# If pseudo-native is an argument, assume the user wants to build pseudo-native! -if [ $needpseudo != "0" -a $buildpseudo -eq 0 ]; then - for opt in $@; do - if [ "$opt" = "pseudo-native" ]; then - buildpseudo="3" - break - fi - done -fi - -OLDPATH=$PATH -export PATH=`echo $PATH | sed s#[^:]*/scripts:##g` -if [ $buildpseudo -gt 0 ]; then - [ $buildpseudo -eq 1 ] && echo "Pseudo is not present but is required, building this first before the main build" - [ $buildpseudo -eq 2 ] && echo "Pseudo may be out of date, rebuilding pseudo before the main build" - [ $buildpseudo -eq 3 ] && echo "Building pseudo-native before main build" - export PSEUDO_BUILD=1 - TARTARGET="tar-replacement-native" - if [ $needtar = "0" ]; then - TARTARGET="" - fi - GITTARGET="git-replacement-native" - if [ $needgit = "0" ]; then - GITTARGET="" - fi - - # Pass through debug options - additionalopts="" - for opt in $@; do - for key in $PASSTHROUGH_OPTS; do - if [ $opt = $key ] - then - additionalopts="$additionalopts $opt" - break - fi - done - done - - if [ $needtar = "1" ]; then - bitbake $TARTARGET -c populate_sysroot - fi - - bitbake pseudo-native $GITTARGET $additionalopts -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 - export PSEUDO_BUILD=2 - PSEUDO_BINDIR=$PSEUDOBINDIR PSEUDO_LIBDIR=$PSEUDOBINDIR/../lib/pseudo/lib PSEUDO_PREFIX=$PSEUDOBINDIR/../../ PSEUDO_DISABLED=1 $PSEUDOBINDIR/pseudo $BITBAKE $@ -else - export PSEUDO_BUILD=0 - $BITBAKE $@ -fi -ret=$? -exit $ret |
