summaryrefslogtreecommitdiffstats
path: root/meta/conf
Commit message (Collapse)AuthorAgeFilesLines
* libclc: split out of clangRoss Burton3 days1-0/+1
| | | | | | | | | | | | | | | | | | | | | | Split the libclc subproject out of the clang recipe and into a dedicated libclc recipe. This is useful because libclc is the OpenCL runtime library and as such isn't target-specific and needs a native clang to build, not a target libllvm. Verified that nothing is dropped by adding clang and libclc to an image and verifying that the file list is the same before and after this change. We need to patch the libclc CMakeLists to allow it to use an out-of-tree prepare_builtins binary, discussion is ongoing with upstream to resolve this properly. (From OE-Core rev: 33a8742a1280b4c6779a7aa487c2dd4a713babe6) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* tunes: set valid clang tune for big.LITTLE Arm SoCsGyorgy Sarvari3 days6-6/+30
| | | | | | | | | | | | | | | | clang doesn't have Arm big.LITTLE specific tune options - when such an option is used, the compilation fails with an error like this: aarch64-poky-linux-clang: error: unsupported argument 'cortex-a72.cortex-a53+crc+crypto' to option '-mcpu=' To avoid this, in case a big.LITTLE SoC is the target and the toolchain is clang, select the tune corresponding to the LITTLE core. (From OE-Core rev: 12c820f624730a04a17ae2cdbecc4e6987c45cf7) Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icu: Add ptest supportDaisuke Yamane3 days1-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add following patches. - 0001-test-Add-support-ptest.patch - Some default paths in test code are invalid at runtime and cause - test failures. So add a patch to adjust path to test data for ptest - environment. - 0001-ICU-23120-Mask-UnicodeStringTest-TestLargeMemory-on-.patch - Since ICU-77.1, a test case (TestLargeMemory) that fails to build - in a 32-bit environment. So add a patch to skip this test case. - This bug has been reported to upstream. See https://unicode-org.atlassian.net/browse/ICU-23120. Install icu test-suite to run it as a ptest. Add icu to PTESTS_FAST because it takes 27sec (less than 30sec) to complete on qemux86-64 with kvm enabled. root@qemux86-64:~# ptest-runner icu START: ptest-runner 2025-07-06T00:46 BEGIN: /usr/lib/icu/ptest ___(snip)___ -------------------------------------- Elapsed Time: 00:00:23.070 PASS: ./intltest DURATION: 27 END: /usr/lib/icu/ptest 2025-07-06T00:47 STOP: ptest-runner TOTAL: 1 FAIL: 0 (From OE-Core rev: 4a729a529067a5ba7036a224cf330e31b8a5f838) Signed-off-by: Daisuke Yamane <yamane07ynct@gmail.com> CC: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* clang: Upgrade to 20.1.8 releaseKhem Raj7 days1-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Brings following fixes * 87f0227cb601 [InstCombine] Avoid folding `select(umin(X, Y), X)` with min/max values in false arm (#143020) * df43f93388b7 [PhaseOrdering] Add test for #139050 (NFC) * 25bcf1145fd7 [RISCV] Fix assertion failure when using -fstack-clash-protection (#135248) * 6fb913d3e2ec [RelLookupTableConverter] Drop unnamed_addr for GVs in entries to avoid generating GOTPCREL relocations (#146068) * 0c9f909b7976 [AArch64][SME] Fix restoring callee-saves from FP with hazard padding (#143371) * fa792cd4c630 [AsmPrinter] Always emit global equivalents if there is non-global uses (#145648) * ce455b382c08 [objcopy][MachO] Revert special handling of encryptable binaries (#144058) * 0de59a293f7a [X86] Ignore NSW when DstSVT is i32 (#131755) * 9af763f038f7 [gtest] Fix building on OpenBSD/sparc64 (#145225) * 1daceb20611f [LoongArch] Pass OptLevel to LoongArchDAGToDAGISel correctly * b21155f97a0a [LoongArch] Precommit test case to show bug in LoongArchISelDagToDag * da18fb9f04ce [LoongArch] Fix xvshuf instructions lowering (#145868) * 65ce78f338cf [LoongArch] Pre-commit test for fixing xvshuf instructions. NFC * 5532d5b745e4 [AArch64] Ensure the LR is preserved if we must call __arm_get_current_vg (#145760) * 5ac3ce819688 [WebAssembly] Fix inline assembly with vector types (#146574) * b83658b7e2c8 Bump version to 20.1.8 (From OE-Core rev: 4c6e132d6e5e49426c911d0fa9215957eb43f186) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dosfstools: Add ptestsRicardo Simoes7 days1-0/+1
| | | | | | | | | (From OE-Core rev: 875b8961221875e6a809d15b7d3b83ea00da0c0e) Signed-off-by: Ricardo Simoes <ricardo.simoes@pt.bosch.com> Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Remove PR glob part from STAMPCLEANMichal Sieron10 days1-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since OE-Core rev: cc83e45484656a6b577ff84817131735023daad4 the STAMP value and STAMPCLEAN glob have been mismatched. The issue is present since the PR part was removed from the STAMP variable in that comit. An example use case that I found was broken due to this: 1. Have recipes foo_A.bb and foo_B.bb 2. Build foo-native with PREFERRED_VERSION_foo-native = "A" 3. ${COMPONENTS_DIR}/x86_64-linux/foo-native has version A 4. Build foo-native with PREFERRED_VERSION_foo-native = "B" 5. ${COMPONENTS_DIR}/x86_64-linux/foo-native has version B 6. Build foo-native with PREFERRED_VERSION_foo-native = "A" 7. ${COMPONENTS_DIR}/x86_64-linux/foo-native still has version B In my case the PREFERRED_VERSION comes from different machines. The issue showed itself when a bar-native compiled against foo-native version A was pulled from sstate-cache and foo-native in version B was kept in ${COMPONENTS_DIR} after previous build for a different machine. The two variables should be in sync and this patch corrects that. [RP: Tweak commit message] (From OE-Core rev: 932be19f48735d72a72de2771911119433956f4f) Signed-off-by: Michal Sieron <michalwsieron@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lldb: add new recipe, split out of clangRoss Burton10 days1-0/+1
| | | | | | | | | | | | | | | | LLDB takes a reasonable amount of time to compile, but also isn't an essential component of the LLVM suite. Instead of always building it when we build clang, split it out into a separate recipe. On my build machine where clang takes 21 minutes to build with lldb, it takes 19 minutes without lldb. (From OE-Core rev: 9da4900aa5a37718bd42f277d5a1805ec897b1b4) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm-tblgen-native: add new recipeRoss Burton10 days1-0/+1
| | | | | | | | | | | | | | | | Building the LLVM projects often means using the TableGen tools (llvm-tblgen etc). We currently build them as part of clang-native, but I am teasing the clang recipe into its component parts and having to build llvm-native or lldb-native simply for one tool isn't ideal. Instead, add a native recipe that simply builds the tablegen binaries for llvm, clang, and lldb (From OE-Core rev: fbf63e03fe09ca74022c9d06442b4f1021b71d57) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: fix pseudo for devtool deploy-target --stripAdrian Freihofer2025-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this fix: devtool deploy-target cmake-example qemu1 --strip ... cp: failed to preserve ownership for '.../cmake-example/1.0/devtool-deploy-target-stripped/usr/lib/libcmake-example-lib.so.1.0.0': Operation not permitted cp: failed to preserve ownership for ...cmake-example/1.0/devtool-deploy-target-stripped/usr/lib/libcmake-example-lib.so.1: Operation not permitted cp: failed to preserve ownership for ...cmake-example/1.0/devtool-deploy-target-stripped/usr/lib/libcmake-example-lib.so: Operation not permitted cp: failed to preserve ownership for '.../cmake-example/1.0/devtool-deploy-target-stripped/usr/lib': Operation not permitted cp: failed to preserve ownership for '.../cmake-example/1.0/devtool-deploy-target-stripped/usr/bin/cmake-example': Operation not permitted cp: failed to preserve ownership for '.../cmake-example/1.0/devtool-deploy-target-stripped/usr/bin/test-cmake-example': Operation not permitted cp: failed to preserve ownership for '.../cmake-example/1.0/devtool-deploy-target-stripped/usr/bin': Operation not permitted cp: failed to preserve ownership for '.../cmake-example/1.0/devtool-deploy-target-stripped/usr': Operation not permitted cp: failed to preserve ownership for '.../cmake-example/1.0/devtool-deploy-target-stripped': Operation not permitted tar: ./usr/lib/libcmake-example-lib.so.1.0.0: time stamp 2025-07-06 16:46:06 is 0.527890738 s in the future tar: ./usr/lib/libcmake-example-lib.so.1: time stamp 2025-07-06 16:46:06 is 0.527462566 s in the future tar: ./usr/lib/libcmake-example-lib.so: time stamp 2025-07-06 16:46:06 is 0.526732779 s in the future tar: ./usr/lib: time stamp 2025-07-06 16:46:06 is 0.526415655 s in the future tar: ./usr/bin/cmake-example: time stamp 2025-07-06 16:46:06 is 0.52568721 s in the future tar: ./usr/bin/test-cmake-example: time stamp 2025-07-06 16:46:06 is 0.525054415 s in the future tar: ./usr/bin: time stamp 2025-07-06 16:46:06 is 0.524821739 s in the future INFO: Successfully deployed .../cmake-example/1.0/devtool-deploy-target-stripped With this fix: devtool deploy-target cmake-example qemu1 --strip ... INFO: Successfully deployed .../cmake-example/1.0/devtool-deploy-target-stripped This is most probably related to the commit: 2502da81709f25de499277b28d33c915638c45f6 bitbake.conf/pseudo: Switch from exclusion list to inclusion list (From OE-Core rev: 8b42b698ea13e1951f7bac4ddd89e13c9b0cb3a6) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* spdx30: Allow VEX Justification to be configurableJoshua Watt2025-07-031-0/+4
| | | | | | | | | | | | | | | Instead of hard coding the VEX justifications for "Ignored" CVE status, add a map that configures what justification should be used for each status. This allows other justifications to be easily added, and also ensures that status fields added externally (by downstream) can set an appropriate justification if necessary. (From OE-Core rev: c0fa3d92cefa74fa57c6c48c94acc64aa454e781) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* clang: Upgrade to 20.1.7Khem Raj2025-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Brings following fixes * 6146a88f6049 [LoongArch] Fix '-mno-lsx' option not disabling LASX feature (#143821) * 9ba132be8eea [clan-reply] Backport PTU error recovery to 20.x * 199e02a36433 Disable clangd/test/module_dependencies.test on Windows * 02aec86e4d0d [clangd] [Modules] Fix to correctly handle module dependencies (#142828) * c4f257cb74b5 [llvm-rc] Allow ALT on non-virtkey accelerators (#143374) * 6fa0cdf3720b release/20.x: [clang] Don't evaluate the initializer of constexpr-unknown parameters. (#142498) * 337beb73abfe [libc++] Add _LIBCPP_NO_UNIQUE_ADDRESS to flat_{,multi}map::value_compare (#137594) * b8e10ca59b6a [libc++] Fix check for _LIBCPP_HAS_NO_WIDE_CHARACTERS in features.py (#131675) * 2da24c36c7df [libcxx] Provide locale conversions to tests through lit substitution (#105651) * 253e9321c8b6 [release/20.x] Update release notes for SystemZ changes (#140060) * acf86c5c4dbe [CVP] Keep `ReachableCaseCount` in sync with range of condition (#142302) * 2481e590eec7 [AArch64][SME] Fix accessing the emergency spill slot with hazard padding (#142190) * 22a3e6b19409 release/20.x: [AArch64] Handle XAR with v1i64 operand types (#141754) * e5dd4f129454 [clangd] Guard against trivial FunctionProtoTypeLoc when creating inlay hints (#143087) * f6532710ace8 [clang-format] Correctly annotate token-pasted function decl names (#142337) * e0586e278f96 [RelLookupTableConverter] Drop unnamed_addr to avoid generating GOTPCREL relocations (#142304) * 7759bb57c243 (origin/users/mizvekov/GH139019) [clang] Serialization: support hashing null template arguments * 7cf14539b644 Bump version to 20.1.7 (From OE-Core rev: 293a471e0ee8c7f487b138d858c9b87a0e61c063) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: Require minimum of bitbake 2.15.1Richard Purdie2025-07-011-1/+1
| | | | | | | | This is needed for tinfoil and umask helper function changes. (From OE-Core rev: d1c39b29f21719b349072c51a761fa19770a49ea) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf/sstate: Introduce OE_SHARED_UMASK to standarise shared area umaskRichard Purdie2025-07-011-0/+2
| | | | | | | | | | Currently, the "shared" directory permissions of sstate are hardcoded. Since multiple areas of the code reference this, separate it out to a variable to allow the behaviour to be configurable. Initially this applies to SSTATE_DIR. (From OE-Core rev: ce32daa9843bcb5f6daf3560c64ca9e5144adcb0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-wheel: upgrade 0.45.1 -> 0.46.1; add ptestTim Orling2025-07-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add python3-packaging to RDEPENDS * Enable ptest: - Add to ptest-packagelists.inc PTESTS_FAST - inherit ptest-python-pytest - Add python3-setuptools to ptest RDEPENDS - One test is skipped, but it requires the "full" python3-flit, not just python3-flit-core. Comparing changes since 0.45.1: https://github.com/pypa/wheel/compare/0.45.1...0.46.1 Release notes [1]: 0.46.1 (2025-04-08) * Temporarily restored the wheel.macosx_libfile module (#659) 0.46.0 (2025-04-03) * Dropped support for Python 3.8 * Removed the bdist_wheel setuptools command implementation and entry point. The wheel.bdist_wheel module is now just an alias to setuptools.command.bdist_wheel, emitting a deprecation warning on import. * Removed vendored packaging in favor of a run-time dependency on it * Made the wheel.metadata module private (with a deprecation warning if it’s imported * Made the wheel.cli package private (no deprecation warning) * Fixed an exception when calling the convert command with an empty description field [1] https://wheel.readthedocs.io/en/stable/news.html (From OE-Core rev: 610ca66283b6a440a1cde4c26945392ed15ac3e0) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-sphinx-copybutton: add recipeAntonin Godard2025-07-011-0/+1
| | | | | | | | | | The sphinx-copybutton extension can be used to add a copy button to code blocks in the documentation. (From OE-Core rev: ebf14a6dc1a5fd041f4df4fd8c6f28da9d15c8f6) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-sphinx-argparse: add recipeAntonin Godard2025-07-011-0/+1
| | | | | | | | | | | | This Sphinx extension can be used to autogenerate documentation for any python module returning an argument parser from argparse. It can used in places of the documentation where the --help output is currently hardcoded, and generate formatted documentation instead. (From OE-Core rev: 84d1a347195a3cd702468b01a71e787c3e007488) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* yocto-uninative: Update to 4.8 for GCC 15.1Michael Halstead2025-06-261-4/+4
| | | | | | | (From OE-Core rev: f3bff45196bb8228d0133b6cd4444e5ddc68dbc2) Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Upgrade 1.86.0 -> 1.87.0Yash Shinde2025-06-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rust stable version updated to 1.87.0. https://blog.rust-lang.org/2025/05/15/Rust-1.87.0/ * Update LLVM data-layout for arm64. LLVM requires matching data layouts and the aarch64 llvm data-layout was updated to to allow using 32-bit signed/unsigned pointers when building 64-bit targets using 270, 271 and 272 address spaces. https://github.com/rust-lang/rust/commit/e9853961452b56997cc127b51308879b9cd09482 https://github.com/llvm/llvm-project/commit/c9f27275c1330a325661bdf14fb3bc444a5e3648 * Rebase existing patches with v1.87.0. * Two tests from the `ui` and `codegen` modules now fail only on riscv64. Enable them on arm32/64 and x86-32/64 targets, while restricting them on riscv64 via `only-<target_arch>` tags. Test Results Summary: +-----------+--------+---------+ | Machine | Passed | Ignored | +-----------+--------+---------+ | arm-32 | 28,320 | 901 | | arm-64 | 28,400 | 849 | | x86-32 | 28,285 | 885 | | x86-64 | 28,518 | 676 | | riscv-64 | 27,845 | 868 | +-----------+--------+---------+ * Backport triagebot.patch to skip tidy linkcheck when triagebot.toml is not present. Distribution tarballs won't include triagebot.toml, which causes tidy checks to fail. This backport ensures tidy checks can still run successfully even when the file is missing. https://github.com/rust-lang/rust/pull/142666/commits * During rust installation, some binaries were installed from 'stage2-tools' built path to '${D}${bindir}'. However, from v1.87 the stage2-tools are no longer built by default. Update logic to install from `stage1-tools` instead. (From OE-Core rev: 16ce25e6970b4a50f6433606a0c87d22ec74ea5a) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* default-providers: handle GLVND-related providersDmitry Baryshkov2025-06-241-7/+7
| | | | | | | | | | | If GLVND is enabled, then libglvnd is providing all OpenGL / ES libraries. Tune default-providers.inc to select a correct package in this case. (From OE-Core rev: 28bc66ade84241f3f9b680d5c1fd8d261da4b413) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libglvnd: migrate from meta-oeDmitry Baryshkov2025-06-241-0/+1
| | | | | | | | | | | | | | | | | | | | | libglvnd is a vendor-neutral approach to handling OpenGL / OpenGL ES / EGL / GLX libraries. It has been proposed and initially implemented by NVIDIA in order to simplify coinstallation of GL drivers provided by different vendors. Major Linux distributions (Debian, Ubuntu, Fedora, etc.) have already switched to libglvnd. Having libglvnd in OE-Core simplifies integration of this ABI into distro and BSP layers (e.g. it will help meta-tegra, which currently provides its own version of the recipe). Import recipe for libglvnd from the meta-oe layer (changes: fix virtual package names, add add the SUMMARY data, drop git@ from SRC_URI, require glvnd DISTRO_FEATURE). (From OE-Core rev: 621e9be9663e448dde3f6b6a02b413fd65983e6c) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemux86-64: drop duplicates with default-providers.incDmitry Baryshkov2025-06-241-6/+0
| | | | | | | | | | | default-providers.inc already includes PREFERRED_PROVIDER values for xserver and GL libraries. Drop the same values being set in the machine config. (From OE-Core rev: 973875c79476b70edbef8976446de1be29d50910) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemux86: drop duplicates with default-providers.incDmitry Baryshkov2025-06-241-6/+0
| | | | | | | | | | | default-providers.inc already includes PREFERRED_PROVIDER values for xserver and GL libraries. Drop the same values being set in the machine config. (From OE-Core rev: 589a49c7bd68465163a86e71a67f518849860804) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu.inc: drop duplicates with default-providers.incDmitry Baryshkov2025-06-241-7/+0
| | | | | | | | | | | default-providers.inc already includes PREFERRED_PROVIDER values for xserver and GL libraries. Drop the same values being set in the machine config. (From OE-Core rev: 882e8c3cf28b33cdd6cb26ec412e63a0da8a3199) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* default-providers: fix GLVND providers to be selected at runtimeDmitry Baryshkov2025-06-241-2/+2
| | | | | | | | | | | | | The virtual-{libegl,libglx}-icd names are RPROVIDES, not PROVIDES, because they are a runtime dependency of libglvnd. Make default-providers follow that and specify PREFERRED_RPROVIDER instead of PREFERRED_PROVIDER for those names. Fixes: 9d3b4c9bc403 ("mesa: sort out PROVIDES for the glvnd case") (From OE-Core rev: c2b4971e79ece23c43639865a617ee4c248fa981) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* layer.conf: Update to whinlatter release seriesRichard Purdie2025-06-201-2/+2
| | | | | | | | | | Since there are currently multiple breaking changes, update to a new release series for the next release so layers can show compatibility correctly. (From OE-Core rev: 75eb26e71dba4096d5632b7f6b13db4f13aa6d7f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: remove consecutive blank linesAlexander Kanavin2025-06-204-6/+0
| | | | | | | | | | | | | | | | | Some of them were introduced by mass-removal of S = WORKDIR/git assignments; rather than try to fix up (or redo) just these, I've run this sed command over the whole tree: sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc` The rationale is that more than one empty line is wasting vertical screen space, and does nothing for readability. (From OE-Core rev: cedc4ff7c9bcfb22a20e43e47f9759f4007a4f1a) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: set S to be in UNPACKDIR rather than WORKDIRAlexander Kanavin2025-06-201-1/+1
| | | | | | | | | | | | This transitions most of the recipes to have their sources in UNPACKDIR, which over time will allow more simple and logical source code handling in various pieces of the Yocto project. (From OE-Core rev: 50439f56b2d94769de928c70eebdfd4b47794fb4) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: set UNPACKDIR to just 'sources' and not 'sources-unpack'Alexander Kanavin2025-06-201-1/+1
| | | | | | | | | | | This is shorter and doesn't include the unnecessary task name, just the result of it: source trees and files. (From OE-Core rev: f19ea21c8ebf8ce211b14e69b27c82faf080185a) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: remove S in recipes that fetch from git via setting ↵Alexander Kanavin2025-06-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BB_GIT_DEFAULT_DESTSUFFIX Removing all the S = ${WORKDIR}/git assignments works because BB_GIT_DEFAULT_DESTSUFFIX is set to match S from bitbake.conf (which itself is set to match typical tarball releases). A few recipes are setting S to a sub-directory of the git tree and need to be adjusted accordingly. bzip2 recipe is fetching a tarball and separately cloning tests; adjust the recipe to put the latter into 'bzip2-tests', instead of 'git'. devupstream.bbclass no longer needs to rewrite S, and is adjusted accordingly. Adjust scripts/lib/recipetool/append.py to not hardcode 'git' as unpack destination. Adjust kernel-yocto.bbclass to use the git unpack variable instead of hardcoding 'git' (there's also removal of repetition of string constants and a correction of workdir/unpackdir mismatch in one of the if-else branches). Ensure build-appliance-image recipe does not use 'git' as checkout directory for poky repo, but rather explicitly name it 'poky'. Ensure reproducible.py code that looks for git repositories does not hardcode 'git' but uses the destination set by BB_GIT_DEFAULT_DESTSUFFIX. Ensure recipetool does not write out unneeded S settings into newly created recipes that fetch from git. Adjust selftest to not hardcode 'git' as unpack directory. (From OE-Core rev: f80c07019ddadaf9c5fb890faabfda7920ecd15e) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: enable built-in fragments for MACHINE and DISTROAlexander Kanavin2025-06-201-1/+2
| | | | | | | | | | | | | | | | | Please see the patch for bitbake for rationale. With this setting in place, it's possible to set OE_FRAGMENTS += "distro/poky machine/qemuarm" and bitbake will interpret that as DISTRO = "poky" MACHINE = "qemuarm" (From OE-Core rev: e959f916b4d2bb8af2e6a04116de9430bbde0c9f) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* riscv tunes: ISA Implementation of RISC-V tune featuresMark Hatle2025-06-204-37/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements the following base ISAs: * rv32i, rv64i * rv32e, rv64i The following ABIs: * ilp32, ilp32e, ilp32f, ilp32d * lp64, lp64e, lp64f, lp64d The following ISA extension are also implemented: * M - Integer Multiplication and Division Extension * A - Atomic Memory Extension * F - Single-Precision Floating-Point Extension * D - Double-Precision Floating-Point Extension * C - Compressed Extension * B - Bit Manipulation Extension (implies Zba, Zbb, Zbs) * V - Vector Operations Extension * Zicsr - Control and Status Register Access Extension * Zifencei - Instruction-Fetch Fence Extension * Zba - Address bit manipulation extension * Zbb - Basic bit manipulation extension * Zbc - Carry-less multiplication extension * Zbs - Single-bit manipulation extension * Zicbom - Cache-block management extension The existing processors tunes are preserved: * riscv64 (rv64gc) * riscv32 (rv32gc) * riscv64nf (rv64imac_zicsr_zifencei) * riscv32nf (rv32imac_zicsr_zifencei) * riscv64nc (rv64imafd_zicsr_zifencei) Previously defined feature 'big-endian' has been removed as it was not used. (From OE-Core rev: bcaf298a146dfd10e4c8f44223ea083bc4baf45c) Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* maintainers.inc: sort Python recipes alphabeticallyTrevor Gamblin2025-06-191-10/+10
| | | | | | | | | | | There are a small number of these that are out of place, so re-sort the entire list to clean it up. (From OE-Core rev: 76d681c4b17c9169238c571bae7e25df2040960c) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-colorama: add recipeTrevor Gamblin2025-06-191-0/+1
| | | | | | | | | | | | | Add existing recipe from meta-python, since pytest lists it as a dependency. This also puts it in maintainers.inc with myself as maintainer. [RP: Switch to use hatching directly] (From OE-Core rev: 8c06239fdcf983dac759c7d80d6326807c993622) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libpng: Add ptestPoonam Jadhav2025-06-191-0/+1
| | | | | | | | | | | | Install libpng test-suite to run it as a ptest. As the test-suite takes more than 30 seconds to run, add libpng-ptest to PTESTS_SLOW in ptest-packagelists.inc (From OE-Core rev: 8dca5305c950e6a06b3f344ffdbbb7386d802095) Signed-off-by: Poonam Jadhav <poonam.jadhav@kpit.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cross/crosssdk: Allow deferring of these classes tooRichard Purdie2025-06-161-1/+1
| | | | | | (From OE-Core rev: 2e568ba8607a6f65caea891df9bc9341988aaf37) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Automatically defer native and nativesdk inheritsRichard Purdie2025-06-161-0/+2
| | | | | | (From OE-Core rev: ede97945ccabc7ace79a380be400357bbb8df80d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain: Provide abstraction for recipe specific toolchain selectionRichard Purdie2025-06-164-79/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change implements a toolchain selection mechanism. Selection is made using a set of variables, primarily PREFERRED_TOOLCHAIN_TARGET which defaults to gcc. It uses the familiar name for toolchain e.g. "gcc" which selects GNU compiler + binutils as default C/C++ toolchain or "clang" which will use LLVM/Clang Compiler. Layers an add their own toolchain definitions too. There are also PREFERRED_TOOLCHAIN_NATIVE and PREFERRED_TOOLCHAIN_SDK which will ulitmately allow selection of the toolchain used for the native/cross and nativesdk/crosssdk compilers. This currently isn't functional but is essential to the patch to ensure things are set to the existing gcc support in those cases. Users would most commonly want to set: PREFERRED_TOOLCHAIN_TARGET ?= "clang" in local.conf or other distro specific global configuration metadata. It is also selectable at recipe scope, since not all packages are buildable with either clang or gcc, a recipe can explicitly require a given toolchain using the TOOLCAHIN variable, e.g. glibc can not be built with clang therefore glibc recipe sets: TOOLCHAIN = "gcc" The TOOLCHAIN variable is distinct from the user preference so recipes with specific requirements can be identified. This also allows different polcies to be be specified for native/SDK cases in the future. (From OE-Core rev: 45bdedd213aff8df3214b95ef2a8551c0abd93a0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity.conf: Bump bitbake requirement to 2.15.0Richard Purdie2025-06-161-1/+1
| | | | | | | | This brings in the features we need to toolchain selection. (From OE-Core rev: 78c1061dc3916677bd9c2825820a1bab7e75f28a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* default-distrovars: set an empty default for LICENSE_PATHRoss Burton2025-06-161-0/+1
| | | | | | | | | | This variable is a list of paths that contain extra license texts. It doesn't have a default so can be unset. (From OE-Core rev: 9c8e180d8d2637307cd7deeec5b2df7dbc946221) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe: Move vardepexclude entries alongside functionsRichard Purdie2025-06-161-8/+0
| | | | | | | | | Now we have decorators that can do this, move the variable dependencies exclusions alongside the code that needs them for maintainability. (From OE-Core rev: e522169c5f95de6fc74b43672573700d8eb8e082) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Upgrade 1.85.1->1.86.0Yash Shinde2025-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rust stable version updated to 1.86.0. https://blog.rust-lang.org/2025/04/03/Rust-1.86.0.html * Add pkgconfig-native and openssl to resolve openssl-sys crate dependency on pkg-config. As per rust document this is a required dependency. Fixes: | error: failed to run custom build command for `openssl-sys v0.9.106` | Could not find openssl via pkg-config: | The pkg-config command could not be found. | | Most likely, you need to install a pkg-config package for your OS. | Try `apt install pkg-config`, or `yum install pkg-config`, | or `pkg install pkg-config`, or `apk add pkgconfig` depending on your distribution https://crates.io/crates/openssl-sys/0.9.108/dependencies https://github.com/rust-lang/rust/blob/master/INSTALL.md#dependencies * Add Ninja as a dependency for building Rust to prevent bootstrap build regression. Fixes: | Building LLD for x86_64-unknown-linux-gnu | | Couldn't find required command: ninja (or ninja-build) | | You should install ninja as described at | <https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages>, | or set `ninja = false` in the `[llvm]` section of `config.toml`. | Alternatively, set `download-ci-llvm = true` in that `[llvm]` section | to download LLVM rather than building it. * Add bash to DEPENDS to resolve missing dependency for subtree-sync.sh Fixes: ERROR: rust-1.86.0-r0 do_package_qa: QA Issue: /usr/lib/rustlib/src/rust/library/portable-simd/subtree-sync.sh contained in package rust requires /bin/bash, but no providers found in RDEPENDS:rust? [file-rdeps] * Add do_install:append() task to remove cargo bin from rust native builds. This resolves the following conflict: Fixes: ERROR: libstd-rs-1.86.0-r0 do_prepare_recipe_sysroot: The file /usr/bin/cargo is installed by both rust-native and cargo-native, aborting * Update Unicode-3.0 license checksums. License-Update: Copyright and license files to distributions are updated. https://github.com/rust-lang/rust/commit/f9c16997dc016a3ef1456f56df2ab564a1c48cb2 It adds copyright and license files (including HTML versions) to distributions, aligns with license compliance tools like reuse, and ensures all required license texts are properly included and formatted. * Disable building of extended Rust tools to reduce build time and filesystem usage. Update config.toml to disable building of extended Rust tools that are not required. This helps minimize unnecessary build time and filesystem usage. * The "remote-test-server" bin is now generated in stage2-tools-bin dir rather than stage1. Update the test suite accordingly. * Fix do_package QA issue by packing missing zsh files and directories: Fixes: do_package: QA Issue: rust: Files/directories were installed but not shipped in any package: /usr/share/zsh /usr/share/zsh/site-functions /usr/share/zsh/site-functions/_cargo Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install * From v1.86.0, a "self-contained" LLD is built as part of rust bootstrap build. This results in additional build time and installations. Disable rust-lld in config.toml to prevent it. References: https://github.com/rust-lang/rust/pull/135001 https://github.com/rust-lang/rust/commit/8744b44e6bde053f7656a3c727c968177ee8e4b6 * Drop Zdual-proc-macros-additional-check.patch patch since it's merged with v1.86.0 https://github.com/rust-lang/rust/commit/139d6ba054a1a4cc5fe64981ad46fd5547bd4916 * LTO config is applied to rustdoc from v1.86.0. Rebase 0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch which disables it to avoid suffixes in binaries causing non-reproducibility. https://github.com/rust-lang/rust/commit/1fe351b * Restrict tests using "//@only <target_arch>" to avoid failures on riscv64, which is now part of default AB testing. Since riscv64 is Tier 2 with no automated testing, some tests may fail. This approach ensures tests continue running on supported architectures while skipping them on riscv64. https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools (From OE-Core rev: c064ef18343a956aea397d36d2e7665d6c8afd7d) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-ndg-httpsclient: remove unused recipeRoss Burton2025-06-121-1/+0
| | | | | | | | | | | | | | The last dependency in core on this recipe was removed in May 2024[1], and there don't appear to be any other users that I can find. The last upstream release was in 2018 so this is now obsolete. [1] oe-core dfa482f1998 ("python3-requests: cleanup RDEPENDS") (From OE-Core rev: 48b6851420ac54b181647bf23fe1ad86c75fa650) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: export debugsources in PKGDESTWORK as jsonDaniel Turull2025-06-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | The source information used during packaging can be use from other tasks to have more detailed information on the files used during the compilation and improve SPDX accuracy. Source files used during compilation are store as compressed zstd json in pkgdata/debugsources/$PN-debugsources.json.zstd Format: { binary1: [src1, src2, ...], binary2: [src1, src2, ...] } I checked the sstate size, and it slightly increases using core-image-full-cmdline: without patch: 2456792 KB sstate-cache/ with patch: 2460028 KB sstate-cache/ (4236 KB or 0.17%) CC: Richard Purdie <richard.purdie@linuxfoundation.org> (From OE-Core rev: c507dcb8a8780a42bfe68b1ebaff0909b4236e6b) Signed-off-by: Daniel Turull <daniel.turull@ericsson.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* tune-cortexr52: Remove aarch64 for ARM Cortex-R52Sandeep Gundlupet Raju2025-06-121-3/+2
| | | | | | | | | | | | Remove aarch64 for ARM Cortex-R52 processor as it supports only 32-bit ISA but not 64-bit ISA. Also update ARMPKGARCH for cortexr52hf. (From OE-Core rev: efe2e5289333bb6e7fca9cdeff784ab7e4872227) Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Sandeep Gundlupet Raju <grsandeep85@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain/clang: Set compiler providers correctlyRichard Purdie2025-06-091-4/+4
| | | | | | | | | The clang toolchain include file contained some incorrect settings from the initial draft of the file. Fix those to point at the correct compiler. (From OE-Core rev: 265d1993669cba1ddf60a048798fe943a903c942) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Add TCOVERRIDE for toolchain selection at recipe scopeKhem Raj2025-06-093-1/+4
| | | | | | | | | | | | TCOVERRIDE is defined to toolchain-<TOOLCHAIN> and its added to OVERRIDES that a recipe can see and it can use "toolchain-gcc" or "toolchain-clang" to set specific metadata based upon global distro toolchain policy. (From OE-Core rev: 6010f47124d9067609bbe5d9ff16193c8bf79acf) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* conf/fragments: add a fragment for CDN sstate mirrorAlexander Kanavin2025-06-051-0/+12
| | | | | | | | | | This will be used in bitbake-setup official configurations and it will be awesome. (From OE-Core rev: ee80c4f013052950ebc4107a2aa4f9ffc1b28975) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: Drop lz4 from HOSTTOOLSRichard Purdie2025-06-051-1/+1
| | | | | | | | | | | | | | | As far as I can tell, we don't have anything using lz4 in our key build dependencies. It isn't in ASSUME_PROVIDED and our code automatically adds lz4-native dependencies where needed. Even then, it is very rarely needed, mainly for some kinds of SRC_URI (none in OE-Core) and some filesystems/images. As such, drop this from HOSTTOOLS and rely on lz4-native, which is what was already happening anyway. This simplies host setup slightly. (From OE-Core rev: b13654a4fc2fe6397f1802c14b2c6ad44b59a45b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/recipes-devtools: Drop icecc from OE-CoreRichard Purdie2025-06-054-9/+0
| | | | | | | | | | | | | | | | There are reports this class has been broken since mickledore which suggests there are limited numbers of users. It doesn't have any automated testing and it would be hard to setup and maintain a testing environment for it. The original users/manintainers aren't using it now. For those reasons, drop from OE-Core as we're not in a good position to maintain it. I'd suggest anyone wanting to use it creates a dedicated layer with maintainers who are in a position to test/develop it appropriately since it is standalone code. (From OE-Core rev: ecf8c386cf83ea235bdc4ee0da6671a395a4c358) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* maintainers: add myself for linux-yocto-fitimageAdrian Freihofer2025-06-051-0/+1
| | | | | | | (From OE-Core rev: 6fe5ca5bbbec2bce810aff9695963f4355f5095e) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>