summaryrefslogtreecommitdiff
path: root/scripts/bitbake
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/bitbake')
-rwxr-xr-xscripts/bitbake184
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