Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 1 | DESCRIPTION = "SDK type target for building a standalone tarball containing python3, chrpath, make, git and tar. The \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 2 | tarball can be used to run bitbake builds on systems which don't meet the usual version requirements." |
| 3 | SUMMARY = "Standalone tarball for running builds on systems with inadequate software" |
| 4 | LICENSE = "MIT" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 5 | |
| 6 | TOOLCHAIN_TARGET_TASK ?= "" |
| 7 | |
| 8 | TOOLCHAIN_HOST_TASK ?= "\ |
Andrew Geissler | c9f7865 | 2020-09-18 14:11:35 -0500 | [diff] [blame] | 9 | nativesdk-sdk-provides-dummy \ |
Patrick Williams | 4585273 | 2022-04-02 08:58:32 -0500 | [diff] [blame] | 10 | nativesdk-python3 \ |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 11 | nativesdk-python3-git \ |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 12 | nativesdk-python3-jinja2 \ |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 13 | nativesdk-python3-testtools \ |
| 14 | nativesdk-python3-subunit \ |
Patrick Williams | 4585273 | 2022-04-02 08:58:32 -0500 | [diff] [blame] | 15 | nativesdk-python3-pyyaml \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 16 | nativesdk-ncurses-terminfo-base \ |
| 17 | nativesdk-chrpath \ |
| 18 | nativesdk-tar \ |
| 19 | nativesdk-buildtools-perl-dummy \ |
| 20 | nativesdk-git \ |
| 21 | nativesdk-git-perltools \ |
| 22 | nativesdk-pigz \ |
| 23 | nativesdk-make \ |
| 24 | nativesdk-wget \ |
| 25 | nativesdk-ca-certificates \ |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 26 | nativesdk-texinfo \ |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 27 | nativesdk-libnss-nis \ |
| 28 | nativesdk-rpcsvc-proto \ |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 29 | nativesdk-patch \ |
| 30 | nativesdk-mtools \ |
Andrew Geissler | 5f35090 | 2021-07-23 13:09:54 -0400 | [diff] [blame] | 31 | nativesdk-zstd \ |
| 32 | nativesdk-lz4 \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 33 | " |
| 34 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 35 | MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}" |
| 36 | PACKAGE_ARCH = "${SDK_ARCH}_${SDK_OS}" |
| 37 | PACKAGE_ARCHS = "" |
| 38 | TARGET_ARCH = "none" |
| 39 | TARGET_OS = "none" |
| 40 | |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 41 | SDK_PACKAGE_ARCHS += "buildtools-dummy-${SDKPKGSUFFIX}" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 42 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 43 | TOOLCHAIN_OUTPUTNAME ?= "${SDK_ARCH}-buildtools-nativesdk-standalone-${DISTRO_VERSION}" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 44 | |
| 45 | SDK_TITLE = "Build tools" |
| 46 | |
| 47 | RDEPENDS = "${TOOLCHAIN_HOST_TASK}" |
| 48 | |
| 49 | EXCLUDE_FROM_WORLD = "1" |
| 50 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 51 | inherit populate_sdk |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 52 | inherit toolchain-scripts-base |
| 53 | inherit nopackages |
| 54 | |
| 55 | deltask install |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 56 | deltask populate_sysroot |
| 57 | |
| 58 | do_populate_sdk[stamp-extra-info] = "${PACKAGE_ARCH}" |
| 59 | |
| 60 | REAL_MULTIMACH_TARGET_SYS = "none" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 61 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 62 | create_sdk_files:append () { |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 63 | rm -f ${SDK_OUTPUT}/${SDKPATH}/site-config-* |
| 64 | rm -f ${SDK_OUTPUT}/${SDKPATH}/environment-setup-* |
| 65 | rm -f ${SDK_OUTPUT}/${SDKPATH}/version-* |
| 66 | |
| 67 | # Generate new (mini) sdk-environment-setup file |
| 68 | script=${1:-${SDK_OUTPUT}/${SDKPATH}/environment-setup-${SDK_SYS}} |
| 69 | touch $script |
Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 70 | echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${sbindir_nativesdk}:${SDKPATHNATIVE}${base_bindir_nativesdk}:${SDKPATHNATIVE}${base_sbindir_nativesdk}:$PATH' >> $script |
Andrew Geissler | 635e0e4 | 2020-08-21 15:58:33 -0500 | [diff] [blame] | 71 | echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script |
Patrick Williams | 03907ee | 2022-05-01 06:28:52 -0500 | [diff] [blame] | 72 | if [ -e "${SDK_OUTPUT}${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt" ]; then |
| 73 | echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script |
| 74 | echo 'export SSL_CERT_FILE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script |
Patrick Williams | 2390b1b | 2022-11-03 13:47:49 -0500 | [diff] [blame] | 75 | echo 'export REQUESTS_CA_BUNDLE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script |
| 76 | echo 'export CURL_CA_BUNDLE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script |
Patrick Williams | 03907ee | 2022-05-01 06:28:52 -0500 | [diff] [blame] | 77 | fi |
Andrew Geissler | 635e0e4 | 2020-08-21 15:58:33 -0500 | [diff] [blame] | 78 | |
| 79 | toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS} |
| 80 | |
| 81 | cat >> $script <<EOF |
| 82 | if [ -d "\$OECORE_NATIVE_SYSROOT/environment-setup.d" ]; then |
| 83 | for envfile in \$OECORE_NATIVE_SYSROOT/environment-setup.d/*.sh; do |
| 84 | . \$envfile |
| 85 | done |
| 86 | fi |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 87 | # We have to unset this else it can confuse oe-selftest and other tools |
| 88 | # which may also use the overlapping namespace. |
| 89 | unset OECORE_NATIVE_SYSROOT |
Andrew Geissler | 635e0e4 | 2020-08-21 15:58:33 -0500 | [diff] [blame] | 90 | EOF |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 91 | |
| 92 | if [ "${SDKMACHINE}" = "i686" ]; then |
| 93 | echo 'export NO32LIBS="0"' >>$script |
Andrew Geissler | 7e0e3c0 | 2022-02-25 20:34:39 +0000 | [diff] [blame] | 94 | echo 'echo "$BB_ENV_PASSTHROUGH_ADDITIONS" | grep -q "NO32LIBS"' >>$script |
| 95 | echo '[ $? != 0 ] && export BB_ENV_PASSTHROUGH_ADDITIONS="NO32LIBS $BB_ENV_PASSTHROUGH_ADDITIONS"' >>$script |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 96 | fi |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 97 | } |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 98 | |
| 99 | # buildtools-tarball doesn't need config site |
| 100 | TOOLCHAIN_NEED_CONFIGSITE_CACHE = "" |
| 101 | |
| 102 | # The recipe doesn't need any default deps |
| 103 | INHIBIT_DEFAULT_DEPS = "1" |
Patrick Williams | 0ca19cc | 2021-08-16 14:03:13 -0500 | [diff] [blame] | 104 | |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 105 | # Directory in testsdk that contains testcases |
| 106 | TESTSDK_CASES = "buildtools-cases" |
| 107 | |
Patrick Williams | 0ca19cc | 2021-08-16 14:03:13 -0500 | [diff] [blame] | 108 | python do_testsdk() { |
| 109 | import oeqa.sdk.testsdk |
| 110 | testsdk = oeqa.sdk.testsdk.TestSDK() |
| 111 | |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 112 | cases_path = os.path.join(os.path.abspath(os.path.dirname(oeqa.sdk.testsdk.__file__)), d.getVar("TESTSDK_CASES")) |
Patrick Williams | 0ca19cc | 2021-08-16 14:03:13 -0500 | [diff] [blame] | 113 | testsdk.context_executor_class.default_cases = cases_path |
| 114 | |
| 115 | testsdk.run(d) |
| 116 | } |
| 117 | addtask testsdk |
| 118 | do_testsdk[nostamp] = "1" |
Andrew Geissler | 7e0e3c0 | 2022-02-25 20:34:39 +0000 | [diff] [blame] | 119 | do_testsdk[network] = "1" |
Patrick Williams | 0ca19cc | 2021-08-16 14:03:13 -0500 | [diff] [blame] | 120 | do_testsdk[depends] += "xz-native:do_populate_sysroot" |