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 \ |
Patrick Williams | 2f814a6 | 2024-04-16 16:28:03 -0500 | [diff] [blame^] | 14 | nativesdk-python3-pip \ |
| 15 | nativesdk-python3-setuptools \ |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 16 | nativesdk-python3-subunit \ |
Patrick Williams | 4585273 | 2022-04-02 08:58:32 -0500 | [diff] [blame] | 17 | nativesdk-python3-pyyaml \ |
Patrick Williams | 44b3caf | 2024-04-12 16:51:14 -0500 | [diff] [blame] | 18 | nativesdk-python3-websockets \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 19 | nativesdk-ncurses-terminfo-base \ |
| 20 | nativesdk-chrpath \ |
| 21 | nativesdk-tar \ |
| 22 | nativesdk-buildtools-perl-dummy \ |
| 23 | nativesdk-git \ |
| 24 | nativesdk-git-perltools \ |
| 25 | nativesdk-pigz \ |
| 26 | nativesdk-make \ |
| 27 | nativesdk-wget \ |
| 28 | nativesdk-ca-certificates \ |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 29 | nativesdk-texinfo \ |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 30 | nativesdk-libnss-nis \ |
| 31 | nativesdk-rpcsvc-proto \ |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 32 | nativesdk-patch \ |
| 33 | nativesdk-mtools \ |
Andrew Geissler | 5f35090 | 2021-07-23 13:09:54 -0400 | [diff] [blame] | 34 | nativesdk-zstd \ |
| 35 | nativesdk-lz4 \ |
Andrew Geissler | 5082cc7 | 2023-09-11 08:41:39 -0400 | [diff] [blame] | 36 | nativesdk-libacl \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 37 | " |
| 38 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 39 | MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}" |
| 40 | PACKAGE_ARCH = "${SDK_ARCH}_${SDK_OS}" |
| 41 | PACKAGE_ARCHS = "" |
| 42 | TARGET_ARCH = "none" |
| 43 | TARGET_OS = "none" |
| 44 | |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 45 | SDK_PACKAGE_ARCHS += "buildtools-dummy-${SDKPKGSUFFIX}" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 46 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 47 | TOOLCHAIN_OUTPUTNAME ?= "${SDK_ARCH}-buildtools-nativesdk-standalone-${DISTRO_VERSION}" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 48 | |
| 49 | SDK_TITLE = "Build tools" |
| 50 | |
| 51 | RDEPENDS = "${TOOLCHAIN_HOST_TASK}" |
| 52 | |
| 53 | EXCLUDE_FROM_WORLD = "1" |
| 54 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 55 | inherit populate_sdk |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 56 | inherit toolchain-scripts-base |
| 57 | inherit nopackages |
| 58 | |
| 59 | deltask install |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 60 | deltask populate_sysroot |
| 61 | |
| 62 | do_populate_sdk[stamp-extra-info] = "${PACKAGE_ARCH}" |
| 63 | |
| 64 | REAL_MULTIMACH_TARGET_SYS = "none" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 65 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 66 | create_sdk_files:append () { |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 67 | rm -f ${SDK_OUTPUT}/${SDKPATH}/site-config-* |
| 68 | rm -f ${SDK_OUTPUT}/${SDKPATH}/environment-setup-* |
| 69 | rm -f ${SDK_OUTPUT}/${SDKPATH}/version-* |
| 70 | |
| 71 | # Generate new (mini) sdk-environment-setup file |
| 72 | script=${1:-${SDK_OUTPUT}/${SDKPATH}/environment-setup-${SDK_SYS}} |
| 73 | touch $script |
Andrew Geissler | fc113ea | 2023-03-31 09:59:46 -0500 | [diff] [blame] | 74 | 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] | 75 | echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script |
Patrick Williams | 03907ee | 2022-05-01 06:28:52 -0500 | [diff] [blame] | 76 | if [ -e "${SDK_OUTPUT}${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt" ]; then |
| 77 | echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script |
| 78 | 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] | 79 | echo 'export REQUESTS_CA_BUNDLE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script |
| 80 | 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] | 81 | fi |
Andrew Geissler | c5535c9 | 2023-01-27 16:10:19 -0600 | [diff] [blame] | 82 | echo 'HOST_PKG_PATH=$(command -p pkg-config --variable=pc_path pkg-config 2>/dev/null)' >>$script |
| 83 | echo 'export PKG_CONFIG_LIBDIR=${SDKPATHNATIVE}/${libdir}/pkgconfig:${SDKPATHNATIVE}/${datadir}/pkgconfig:${HOST_PKG_PATH:-/usr/lib/pkgconfig:/usr/share/pkgconfig}' >>$script |
| 84 | echo 'unset HOST_PKG_PATH' |
Andrew Geissler | 635e0e4 | 2020-08-21 15:58:33 -0500 | [diff] [blame] | 85 | |
| 86 | toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS} |
| 87 | |
| 88 | cat >> $script <<EOF |
| 89 | if [ -d "\$OECORE_NATIVE_SYSROOT/environment-setup.d" ]; then |
| 90 | for envfile in \$OECORE_NATIVE_SYSROOT/environment-setup.d/*.sh; do |
| 91 | . \$envfile |
| 92 | done |
| 93 | fi |
Andrew Geissler | c3d88e4 | 2020-10-02 09:45:00 -0500 | [diff] [blame] | 94 | # We have to unset this else it can confuse oe-selftest and other tools |
| 95 | # which may also use the overlapping namespace. |
| 96 | unset OECORE_NATIVE_SYSROOT |
Andrew Geissler | 635e0e4 | 2020-08-21 15:58:33 -0500 | [diff] [blame] | 97 | EOF |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 98 | |
| 99 | if [ "${SDKMACHINE}" = "i686" ]; then |
| 100 | echo 'export NO32LIBS="0"' >>$script |
Andrew Geissler | 7e0e3c0 | 2022-02-25 20:34:39 +0000 | [diff] [blame] | 101 | echo 'echo "$BB_ENV_PASSTHROUGH_ADDITIONS" | grep -q "NO32LIBS"' >>$script |
| 102 | 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] | 103 | fi |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 104 | } |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 105 | |
| 106 | # buildtools-tarball doesn't need config site |
| 107 | TOOLCHAIN_NEED_CONFIGSITE_CACHE = "" |
| 108 | |
| 109 | # The recipe doesn't need any default deps |
| 110 | INHIBIT_DEFAULT_DEPS = "1" |
Patrick Williams | 0ca19cc | 2021-08-16 14:03:13 -0500 | [diff] [blame] | 111 | |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 112 | # Directory in testsdk that contains testcases |
| 113 | TESTSDK_CASES = "buildtools-cases" |
| 114 | |
Patrick Williams | 0ca19cc | 2021-08-16 14:03:13 -0500 | [diff] [blame] | 115 | python do_testsdk() { |
| 116 | import oeqa.sdk.testsdk |
| 117 | testsdk = oeqa.sdk.testsdk.TestSDK() |
| 118 | |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 119 | 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] | 120 | testsdk.context_executor_class.default_cases = cases_path |
| 121 | |
| 122 | testsdk.run(d) |
| 123 | } |
| 124 | addtask testsdk |
| 125 | do_testsdk[nostamp] = "1" |
Andrew Geissler | 7e0e3c0 | 2022-02-25 20:34:39 +0000 | [diff] [blame] | 126 | do_testsdk[network] = "1" |
Patrick Williams | 0ca19cc | 2021-08-16 14:03:13 -0500 | [diff] [blame] | 127 | do_testsdk[depends] += "xz-native:do_populate_sysroot" |