
The system requirements in the current version of the reference manual state that Python 3.8.0 is the minimum version, but oe-buildenv-internal still only checks for 3.5.0 or newer. Update the script to match. (From OE-Core rev: 3e655a07f2de64dbf39189c3ece56803f6bc334e) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3.8 KiB
Executable File
#!/bin/sh
OE-Core Build Environment Setup Script
Copyright (C) 2006-2011 Linux Foundation
SPDX-License-Identifier: GPL-2.0-or-later
if ! $(return >/dev/null 2>&1) ; then echo 'oe-buildenv-internal: error: this script must be sourced' echo '' echo 'Usage: . $OEROOT/scripts/oe-buildenv-internal &&' echo '' echo 'OpenEmbedded oe-buildenv-internal - an internal script that is' echo 'used in oe-init-build-env to initialize oe build environment' echo '' exit 2 fi
It is assumed OEROOT is already defined when this is called
if [ -z "$OEROOT" ]; then echo >&2 "Error: OEROOT is not defined!" return 1 fi
if [ -z "$OE_SKIP_SDK_CHECK" ] && [ -n "$OECORE_SDK_VERSION" ]; then echo >&2 "Error: The OE SDK/ADT was detected as already being present in this shell environment. Please use a clean shell when sourcing this environment script." return 1 fi
We potentially 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_v38_check=$(python3 -c 'import sys; print(sys.version_info >= (3,8,0))') if [ "$py_v38_check" != "True" ]; then echo >&2 "BitBake requires Python 3.8.0 or later as 'python3' (scripts/install-buildtools can be used if needed)" return 1 fi unset py_v38_check
if [ -z "$BDIR" ]; then if [ -z "$1" ]; then BDIR="build" else BDIR="$1" if [ "$BDIR" = "/" ]; then echo >&2 "Error: / is not supported as a build directory." return 1 fi
# Remove any possible trailing slashes. This is used to work around
# buggy readlink in Ubuntu 10.04 that doesn't ignore trailing slashes
# and hence "readlink -f new_dir_to_be_created/" returns empty.
BDIR=$(echo $BDIR | sed -re 's|/+$||')
BDIR=$(readlink -f "$BDIR")
if [ -z "$BDIR" ]; then
PARENTDIR=$(dirname "$1")
echo >&2 "Error: the directory $PARENTDIR does not exist?"
return 1
fi
fi
if [ -n "$2" ]; then
BITBAKEDIR="$2"
fi
fi if [ "${BDIR#/}" != "$BDIR" ]; then BUILDDIR="$BDIR" else BUILDDIR="$(pwd)/$BDIR" fi unset BDIR
if [ -z "$BITBAKEDIR" ]; then BITBAKEDIR="$OEROOT/bitbake$BBEXTRA" test -d "$BITBAKEDIR" || BITBAKEDIR="$OEROOT/../bitbake$BBEXTRA" fi
BITBAKEDIR=$(readlink -f "$BITBAKEDIR") BUILDDIR=$(readlink -f "$BUILDDIR") BBPATH=$BUILDDIR
export BBPATH
if [ ! -d "$BITBAKEDIR" ]; then echo >&2 "Error: The bitbake directory ($BITBAKEDIR) does not exist! Please ensure a copy of bitbake exists at this location or specify an alternative path on the command line" return 1 fi
Add BitBake's library to PYTHONPATH
PYTHONPATH=$BITBAKEDIR/lib:$PYTHONPATH export PYTHONPATH
Remove any paths added by sourcing this script before
[ -n "$OE_ADDED_PATHS" ] && PATH=$(echo $PATH | sed -e "s#$OE_ADDED_PATHS##") || PATH=$(echo $PATH | sed -e "s#$OEROOT/scripts:$BITBAKEDIR/bin:##")
Make sure our paths are at the beginning of $PATH
OE_ADDED_PATHS="$OEROOT/scripts:$BITBAKEDIR/bin:" PATH="$OE_ADDED_PATHS$PATH" export OE_ADDED_PATHS
This is not needed anymore
unset BITBAKEDIR
Used by the runqemu script
export BUILDDIR
BB_ENV_PASSTHROUGH_ADDITIONS_OE="MACHINE DISTRO TCMODE TCLIBC HTTP_PROXY http_proxy
HTTPS_PROXY https_proxy FTP_PROXY ftp_proxy FTPS_PROXY ftps_proxy ALL_PROXY
all_proxy NO_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY
SDKMACHINE BB_NUMBER_THREADS BB_NO_NETWORK PARALLEL_MAKE GIT_PROXY_COMMAND
SOCKS5_PASSWD SOCKS5_USER SCREENDIR STAMPS_DIR BBPATH_EXTRA BB_SETSCENE_ENFORCE
BB_LOGCONFIG"
BB_ENV_PASSTHROUGH_ADDITIONS="$(echo $BB_ENV_PASSTHROUGH_ADDITIONS $BB_ENV_PASSTHROUGH_ADDITIONS_OE | tr ' ' '\n' | LC_ALL=C sort --unique | tr '\n' ' ')"
export BB_ENV_PASSTHROUGH_ADDITIONS