diff options
Diffstat (limited to 'meta/recipes-core/meta/buildtools-tarball.bb')
-rw-r--r-- | meta/recipes-core/meta/buildtools-tarball.bb | 95 |
1 files changed, 75 insertions, 20 deletions
diff --git a/meta/recipes-core/meta/buildtools-tarball.bb b/meta/recipes-core/meta/buildtools-tarball.bb index 840434ccd2..60f6aac837 100644 --- a/meta/recipes-core/meta/buildtools-tarball.bb +++ b/meta/recipes-core/meta/buildtools-tarball.bb @@ -1,18 +1,19 @@ -DESCRIPTION = "SDK type target for building a standalone tarball containing python, chrpath, make, git and tar. The \ +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" -LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ - file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" TOOLCHAIN_TARGET_TASK ?= "" TOOLCHAIN_HOST_TASK ?= "\ - nativesdk-python-core \ - nativesdk-python-modules \ - nativesdk-python-misc \ - nativesdk-python-git \ - nativesdk-python-pexpect \ + 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 \ @@ -23,11 +24,24 @@ TOOLCHAIN_HOST_TASK ?= "\ nativesdk-make \ nativesdk-wget \ nativesdk-ca-certificates \ + nativesdk-texinfo \ + nativesdk-libnss-nis \ + nativesdk-rpcsvc-proto \ + nativesdk-patch \ + nativesdk-mtools \ + nativesdk-zstd \ + nativesdk-lz4 \ " -SDK_PACKAGE_ARCHS =+ "buildtools-dummy-${SDKPKGSUFFIX}" +MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}" +PACKAGE_ARCH = "${SDK_ARCH}_${SDK_OS}" +PACKAGE_ARCHS = "" +TARGET_ARCH = "none" +TARGET_OS = "none" -TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-buildtools-nativesdk-standalone-${DISTRO_VERSION}" +SDK_PACKAGE_ARCHS += "buildtools-dummy-${SDKPKGSUFFIX}" + +TOOLCHAIN_OUTPUTNAME ?= "${SDK_ARCH}-buildtools-nativesdk-standalone-${DISTRO_VERSION}" SDK_TITLE = "Build tools" @@ -35,11 +49,18 @@ RDEPENDS = "${TOOLCHAIN_HOST_TASK}" EXCLUDE_FROM_WORLD = "1" -inherit meta inherit populate_sdk -inherit toolchain-scripts +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 () { +create_sdk_files:append () { rm -f ${SDK_OUTPUT}/${SDKPATH}/site-config-* rm -f ${SDK_OUTPUT}/${SDKPATH}/environment-setup-* rm -f ${SDK_OUTPUT}/${SDKPATH}/version-* @@ -47,13 +68,47 @@ create_sdk_files_append () { # Generate new (mini) sdk-environment-setup file script=${1:-${SDK_OUTPUT}/${SDKPATH}/environment-setup-${SDK_SYS}} touch $script - echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:$PATH' >> $script - # In order for the self-extraction script to correctly extract and set up things, - # we need a 'OECORE_NATIVE_SYSROOT=xxx' line in environment setup script. - # However, buildtools-tarball is inherently a tool set instead of a fully functional SDK, - # so instead of exporting the variable, we use a comment here. - echo '#OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $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} - echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script + 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_PASSTHROUGH_ADDITIONS" | grep -q "NO32LIBS"' >>$script + echo '[ $? != 0 ] && export BB_ENV_PASSTHROUGH_ADDITIONS="NO32LIBS $BB_ENV_PASSTHROUGH_ADDITIONS"' >>$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[network] = "1" +do_testsdk[depends] += "xz-native:do_populate_sysroot" |