DESCRIPTION = "SDK type target for building a standalone tarball containing python3, chrpath, make, git and tar. The \
|
tarball can be used to run bitbake builds on systems which don't meet the usual version requirements."
|
SUMMARY = "Standalone tarball for running builds on systems with inadequate software"
|
LICENSE = "MIT"
|
|
TOOLCHAIN_TARGET_TASK ?= ""
|
|
TOOLCHAIN_HOST_TASK ?= "\
|
nativesdk-sdk-provides-dummy \
|
nativesdk-python3-core \
|
nativesdk-python3-modules \
|
nativesdk-python3-misc \
|
nativesdk-python3-git \
|
nativesdk-python3-jinja2 \
|
nativesdk-python3-testtools \
|
nativesdk-python3-subunit \
|
nativesdk-ncurses-terminfo-base \
|
nativesdk-chrpath \
|
nativesdk-tar \
|
nativesdk-buildtools-perl-dummy \
|
nativesdk-git \
|
nativesdk-git-perltools \
|
nativesdk-pigz \
|
nativesdk-make \
|
nativesdk-wget \
|
nativesdk-ca-certificates \
|
nativesdk-texinfo \
|
nativesdk-libnss-nis \
|
nativesdk-rpcsvc-proto \
|
nativesdk-patch \
|
nativesdk-mtools \
|
nativesdk-zstd \
|
nativesdk-lz4 \
|
"
|
|
MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}"
|
PACKAGE_ARCH = "${SDK_ARCH}_${SDK_OS}"
|
PACKAGE_ARCHS = ""
|
TARGET_ARCH = "none"
|
TARGET_OS = "none"
|
|
SDK_PACKAGE_ARCHS += "buildtools-dummy-${SDKPKGSUFFIX}"
|
|
TOOLCHAIN_OUTPUTNAME ?= "${SDK_ARCH}-buildtools-nativesdk-standalone-${DISTRO_VERSION}"
|
|
SDK_TITLE = "Build tools"
|
|
RDEPENDS = "${TOOLCHAIN_HOST_TASK}"
|
|
EXCLUDE_FROM_WORLD = "1"
|
|
inherit populate_sdk
|
inherit toolchain-scripts-base
|
inherit nopackages
|
|
deltask install
|
deltask populate_sysroot
|
|
do_populate_sdk[stamp-extra-info] = "${PACKAGE_ARCH}"
|
|
REAL_MULTIMACH_TARGET_SYS = "none"
|
|
create_sdk_files:append () {
|
rm -f ${SDK_OUTPUT}/${SDKPATH}/site-config-*
|
rm -f ${SDK_OUTPUT}/${SDKPATH}/environment-setup-*
|
rm -f ${SDK_OUTPUT}/${SDKPATH}/version-*
|
|
# Generate new (mini) sdk-environment-setup file
|
script=${1:-${SDK_OUTPUT}/${SDKPATH}/environment-setup-${SDK_SYS}}
|
touch $script
|
echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${sbindir_nativesdk}:${SDKPATHNATIVE}${base_bindir_nativesdk}:${SDKPATHNATIVE}${base_sbindir_nativesdk}:$PATH' >> $script
|
echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
|
echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script
|
echo 'export SSL_CERT_FILE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script
|
|
toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS}
|
|
cat >> $script <<EOF
|
if [ -d "\$OECORE_NATIVE_SYSROOT/environment-setup.d" ]; then
|
for envfile in \$OECORE_NATIVE_SYSROOT/environment-setup.d/*.sh; do
|
. \$envfile
|
done
|
fi
|
# We have to unset this else it can confuse oe-selftest and other tools
|
# which may also use the overlapping namespace.
|
unset OECORE_NATIVE_SYSROOT
|
EOF
|
|
if [ "${SDKMACHINE}" = "i686" ]; then
|
echo 'export NO32LIBS="0"' >>$script
|
echo 'echo "$BB_ENV_EXTRAWHITE" | grep -q "NO32LIBS"' >>$script
|
echo '[ $? != 0 ] && export BB_ENV_EXTRAWHITE="NO32LIBS $BB_ENV_EXTRAWHITE"' >>$script
|
fi
|
}
|
|
# buildtools-tarball doesn't need config site
|
TOOLCHAIN_NEED_CONFIGSITE_CACHE = ""
|
|
# The recipe doesn't need any default deps
|
INHIBIT_DEFAULT_DEPS = "1"
|
|
python do_testsdk() {
|
import oeqa.sdk.testsdk
|
testsdk = oeqa.sdk.testsdk.TestSDK()
|
|
cases_path = os.path.join(os.path.abspath(os.path.dirname(oeqa.sdk.testsdk.__file__)), "buildtools-cases")
|
testsdk.context_executor_class.default_cases = cases_path
|
|
testsdk.run(d)
|
}
|
addtask testsdk
|
do_testsdk[nostamp] = "1"
|
do_testsdk[depends] += "xz-native:do_populate_sysroot"
|