summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: ast: Fix fragment behaviour with overridesRichard Purdie2025-10-091-1/+2
| | | | | | | | | | | | | | | | | | | | | Imagine a machine fragment machine/A and a configuration which sets: MACHINE = "B" MACHINE:forcevariable = "C" As I understand it, the fragment behaviour was intended to replace the MACHINE = "B", so the override would still be active. The current code replaces all variable overrides. parsing=True, switches to the other behaviour, which I believe was the design intent and the behaviour users would expect. This is useful to allow test configurations to override a MACHINE setting without change the fragments which would complicate the test code. (Bitbake rev: f65bc6aaf4c11bc7e566c895209c093627a3015b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdk/cases/autotools.py: use gnu mirror instead of main serverSteve Sakoman2025-10-091-1/+1
| | | | | | | | | | | | | | | | ftp.gnu.org is the main server of the GNU project, however download speed can vary greatly based on one's location. Using ftpmirror.gnu.org should redirect the request to the closest up-to-date mirror, which should result sometimes in significantly faster download speed, depending on one's location. This should also distribute the traffic more across the mirrors. This information was sourced from https://www.gnu.org/prep/ftp.html (From OE-Core rev: f3046716c9c565e6f65d5169694cd3da126cfaeb) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/cases/meta_ide.py: use gnu mirror instead of main serverSteve Sakoman2025-10-091-1/+1
| | | | | | | | | | | | | | | | ftp.gnu.org is the main server of the GNU project, however download speed can vary greatly based on one's location. Using ftpmirror.gnu.org should redirect the request to the closest up-to-date mirror, which should result sometimes in significantly faster download speed, depending on one's location. This should also distribute the traffic more across the mirrors. This information was sourced from https://www.gnu.org/prep/ftp.html (From OE-Core rev: b8cd34e56819e13fd374210cf67d6952d1f2586d) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* u-boot: Add specifying make options as part the config loopingRyan Eatmon2025-10-093-7/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a need to generate alternative versions of the uboot files using the existing config looping system, but we need to add additional settings to the make call rather simply specifying a different config. Specifically we have two use cases: 1) We want to sign the same uboot files with two different keys where the key will be passed on the make call. 2) We want to include the alternative defconfigs from a different repository and need to add the path to this new location on the make command line. This introduces a fourth value for the UBOOT_CONFIG settings: config,images,binary,make_opts The values are placed into a new generated variable UBOOT_CONFIG_MAKE_OPTS which is a '?' separated list since space can be present if you need to specify multiple options. This is handled by changing IFS in the shell code when looping over the variable. Additionally, add in a new variable UBOOT_MAKE_OPTS which is added to the make calls in the various do_compile functions that do the actual compiling. (From OE-Core rev: 3338330e0c46b83e33c7e982c012459c89a7ec5c) Signed-off-by: Ryan Eatmon <reatmon@ti.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* u-boot: upgrade 2025.07 -> 2025.10Fabio Estevam2025-10-097-541/+3
| | | | | | | | | | | | Upgrade to U-Boot 2025.10. Drop all the applied patches. (From OE-Core rev: 237d980c114842f1e5bfa96228429bbf018ea2d6) Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: runtime: ssh: Manage any SSH failure locallyMathieu Dubois-Briand2025-10-091-1/+1
| | | | | | | | | | This is the SSH test, it makes sense to ignore SSH failures in the SSH helper and manage them in the test body. (From OE-Core rev: 2281fd4c10e38a3cad3050b7a21a72cc7b09e718) Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: postactions: Ignore SSH errorsMathieu Dubois-Briand2025-10-091-2/+2
| | | | | | | | | | | Postactions are not part of the tests but allow to retrieve useful data from the target. They try to do this using SSH, but this can fail when no SSH server is present on the target. Ignore these fails. (From OE-Core rev: b7b3db490f9cdf99e71f114aec9fc8ad5c1d1d56) Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: runtime: Ignore SSH errors during setup and tear downMathieu Dubois-Briand2025-10-092-4/+5
| | | | | | | | | | | | | | | | | | | Tests using SSH will fail when no SSH server is present on the target. These tests are disabled in these cases, by being marked with a dependency on ssh.SSHTest.test_ssh, which in turns has a dependency on having either dropbear or openssh-sshd in the image. But setUpClass() and tearDownClass() functions are always executed, even on tests failing the dependency checks, leading to unexpected failed tests. Ignoring SSH errors in setup and tear down allows to avoid these test errors. (From OE-Core rev: 5bcc914cf5a193137cddc004f3b38b7b04af9ecb) Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: target: ssh: Fail on SSH error even when errors are ignoredMathieu Dubois-Briand2025-10-091-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Most tests running SSH commands ask for no error to be raised when the returned status is not 0. As run() will return this status, they may later use its value to do a similar check on their own, or completely ignore it. But most of the tests do not check if the non-zero status is caused by a fail of the command run on the target or by a fail of SSH itself. This can lead to confusion when the error does not come from the command executed on the target but from SSH itself: test might wrongfully be marked as PASSED or might fail with incoherent errors. As SSH errors are always reported with exit code 255, we can easily filter these. Modify OESSHTarget.run() behaviour so an AssertionError is raised on SSH failures, even when ignore_status parameter is True. Still allow to explicitly ignore this error for the rare cases where this can be needed. (From OE-Core rev: afe118d4f2de1f636b3a81dc692da35b35a3f2d7) Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* tcl8: upgrade 8.6.16 -> 8.6.17Yi Zhao2025-10-098-18/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ChangeLog: 2024-12-16 (bug) [63449c] [namespace children] doesn't match non-glob patterns below the global namespace 2025-01-06 (bug) [fc3509] Better error-message than "interpreter uses an incompatible stubs mechanism" 2025-01-19 tzdata updated to Olson's tzdata2025a 2025-01-28 (bug) [4f0b57] Win: [exec] now works on App Execution Aliases. 2025-01-28 (bug) [4e2c8b] Win: [auto_execok] handles larger set of shell commands. 2025-03-06 (bug) [ba68d1] errorline from [interp eval], interp-26.9 2025-03-23 tzdata updated to Olson's tzdata2025b 2025-04-11 (bug) [fd8341] Tcl_InitStubs compatibility for 9.1, better error-handling 2025-05-05 (bug) [42d14c] Fix scan with long mantissa. Ex.: scan "1.[string repeat 1 191]e-321" %g 2025-06-18 (bug) [4f338b] add missing Tcl_CloseEx docs 2025-06-24 (bug) [ecf35c] Correct nested handling of return option -options 2025-06-25 (bug) [ecafd8] Euro/Tail-sign missing from cp864 encoding 2025-07-03 (bug) [6b0f77] gcc 14 breaks configure test for bigendian leading to broken floating point 2025-07-16 (bug) [c9f052] prevent overflow crash in Tcl_SplitList(). 2025-07-21 (bug) [61c01e] Flawed ref counts in filesystem implementation for Windows led to use-after-free 2025-08-12 (new) dde => 1.4.5 2025-08-12 (bug) [992f94] avoid misaligned pointers in macOS file attribute functions Set LC_ALL and LANG to en_US.UTF-8 when running ptest since the test cases now include more encodings than just ASCII[1]. Also, add rdepends on locale-base-en-us and tzdata for ptest package, as they are required for running ptest. [1] https://github.com/tcltk/tcl/commit/aca3422d8b73ea8dbb26290c5ca10887161d42ca (From OE-Core rev: 77cfa81c065cbdd31db1245379d7b9ec1dc224ae) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ghostscript: Do not treat declaration-after-statement warning as errorKhem Raj2025-10-091-1/+1
| | | | | | | | | | | | | | | | | | This option is added by ghostscript and is passed down to its modules e.g. brotli, brotli does expect c99 or newer standard and hence uses declarations after statement. This option causes compiler e.g. clang to find this warning and treat it as error on 32bit builds ./brotli/c/dec/decode.c:440:12: error: mixing declarations and code is incompatible with standards before C99 [-Werror,-Wdeclaration-after-statement] 440 | uint32_t __fastload_table = (*table); | ^ 1 error generated. (From OE-Core rev: 9b8e0b9a30f1de8bd1816f2528bc696f769dd8dc) 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>
* recipeutils/get_recipe_upstream_version: pass ud.name instead of 'default'Uwe Kleine-König2025-10-091-1/+1
| | | | | | | | | | | | | | | While all but the osc fetcher ignore the third parameter of their latest_revision implementation, 'default' isn't a valid name in general. Since commit 2515fbd10824 ("fetch: Drop multiple branch/revision support for single git urls") in bitbake a fetcher only handles a single branch/revision and the only sensible thing to pass is `ud.name`. (From OE-Core rev: cb36e8a62d7d31b75b3ddc6b84c1bdee09ebbc60) Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* piglit: enable OpenCL support if distro has enabled itDmitry Baryshkov2025-10-091-1/+1
| | | | | | | | | | | Enable 'opencl' PACKAGECONFIG if it is also set in DISTRO_FEATURES. Cc: Ryan Eatmon <reatmon@ti.com> (From OE-Core rev: 2f2ca84a738f7e40ef139e57a2a03450640153dd) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* openssl: upgrade 3.5.2 -> 3.5.4Peter Marko2025-10-092-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Release information: https://github.com/openssl/openssl/blob/openssl-3.5/NEWS.md#major-changes-between-openssl-353-and-openssl-354-30-sep-2025 OpenSSL 3.5.4 is a security patch release. The most severe CVE fixed in this release is Moderate. This release incorporates the following bug fixes and mitigations: * Fix Out-of-bounds read & write in RFC 3211 KEK Unwrap. (CVE-2025-9230) * Fix Timing side-channel in SM2 algorithm on 64 bit ARM. (CVE-2025-9231) * Fix Out-of-bounds read in HTTP client no_proxy handling. (CVE-2025-9232) * Reverted the synthesised OPENSSL_VERSION_NUMBER change for the release builds, as it broke some exiting applications that relied on the previous 3.x semantics, as documented in OpenSSL_version(3). Release information: https://github.com/openssl/openssl/blob/openssl-3.5/NEWS.md#major-changes-between-openssl-352-and-openssl-353-16-sep-2025 OpenSSL 3.5.3 is a bug fix release. This release incorporates the following bug fixes and mitigations: * Added FIPS 140-3 PCT on DH key generation. * Fixed the synthesised OPENSSL_VERSION_NUMBER. * Removed PCT on key import in the FIPS provider as it is not required by the standard. (From OE-Core rev: 0e2b3c46fdf2e2b3854fa73bda434fdd41da0a3c) Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/install-buildtools: Update to 5.2.3Aleksandar Nikolic2025-10-091-2/+2
| | | | | | | | | | Update to the 5.2.3 release of the 5.2 series for buildtools (From OE-Core rev: 4352f866b1a85107bba42a1557cbdc78bac34dba) Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/meta_ide: source the environment first, then change to the sources ↵Alexander Kanavin2025-10-091-1/+1
| | | | | | | | | | | | | directory This too used to work by coincidence: sourcing the environment quietly failed without changing to the build directory, but now that it works properly, things should be done in correct order. (From OE-Core rev: ed98173057fa128ff565e1e1078b150ca14a85e0) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/classes-recipe/toolchain-scripts.bbclass: eliminate bash-ismAlexander Kanavin2025-10-091-1/+1
| | | | | | | | | | | | | | | Sourcing a script with arguments is a non-standard bash extension and doesn't work with other shells (e.g. dash, which is used on Debian and derivatives). This used to work by coincidence when running against integrated poky repo without having to separately specify where bitbake is, but no longer does. Using set is a POSIX standard. (From OE-Core rev: 933686b7c6307778d171967c49b3a7b6645c31c0) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-scripts.bbclass: fix bitbake-setup compatibilityAdrian Freihofer2025-10-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass the BITBAKEDIR parameter to oe-init-build-env when called from the environment-setup script. This fixes compatibility with bitbake-setup, which places bitbake in a different directory structure than the standard poky repository layout where bitbake is located alongside oe-init-build-env. The issue was discovered when running the oe-selftest test DevtoolIdeSdkTests.test_devtool_ide_sdk_shared_sysroots, which failed because the environment-setup script was not able to find bitbake. File ".../openembedded-core/meta/lib/oeqa/selftest/cases/devtool.py", line 2955, in test_devtool_ide_sdk_shared_sysroots self.assertExists(cmake_native) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File ".../openembedded-core/meta/lib/oeqa/selftest/case.py", line 251, in assertExists raise self.failureException(msg) AssertionError: 'Error: The bitbake directory (/tmp/devtoolqah9ndff2x/bitbake) does not exist! Please ensure a copy of bitbake exists at this location or specify an alternative path on the command line\n .../build-st/tmp/sysroots/x86_64/usr/bin/cmake' does not exist (From OE-Core rev: f31903ca484bad68708ec510e25ea33234f5c0ce) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/runqemu: raise an error when bitbake was not foundRichard Grünert2025-10-091-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running 'scrupts/runqemu' without bitbake in PATH causes the following error: ``` Traceback (most recent call last): File "/home/rg/temp_stuff/oe_2/./scripts/runqemu", line 1807, in main config.check_args() ~~~~~~~~~~~~~~~~~^^ File "/home/rg/temp_stuff/oe_2/./scripts/runqemu", line 624, in check_args s = re.search('^DEPLOY_DIR_IMAGE="(.*)"', self.bitbake_e, re.M) File "/usr/lib/python3.13/re/__init__.py", line 177, in search return _compile(pattern, flags).search(string) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ TypeError: expected string or bytes-like object, got 'NoneType' ``` This patch adds a more helpful error message to inform the user that bitbake was not found, e.g. because oe-init-build-env was not sourced. This is an example of the new error message after the patch: ``` runqemu - ERROR - In order for this script to dynamically infer paths kernels or filesystem images, you either need bitbake in your PATH or to source oe-init-build-env before running this script. Dynamic path inference can be avoided by passing a *.qemuboot.conf to runqemu, i.e. `runqemu /path/to/my-image-name.qemuboot.conf` Bitbake is needed to run 'bitbake -e', but it is not found in PATH. Please source the bitbake build environment. ``` CC: Richard Purdie <richard.purdie@linuxfoundation.org> CC: Alexander Kanavin <alex.kanavin@gmail.com> (From OE-Core rev: 0c10a78796fbdfaa5be4a824c0c9f5cb97c88046) Signed-off-by: Richard Grünert <r.gruenert@pironex.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/runqemu: remove the code block that works around the missing bitbake ↵Alexander Kanavin2025-10-091-28/+6
| | | | | | | | | | | | environment As confirmed by the previous patch this code path is never taken and can be removed. (From OE-Core rev: b931f74442e9f2fba95600ba056a5bd898c23b5a) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: ensure that bitbake environment is either returned, or an exception ↵Alexander Kanavin2025-10-091-5/+1
| | | | | | | | | | | | | | | | | | | | | | is raised This eliminates the other remaining code path where environment getter returns 'nothing'. This and the previous patch were tested in a-full, and no errors occurred [1], which means the code paths that make use of the function returning nothing are never actually executed and can be cleaned up (in the following patch). The rationale is that if environment getter cannot obtain the environment, it should report that and not sweep the issue under the carpet; it's up to the caller to handle that situation, or make pre-emptive checks that avoid calling the environment getter when it is bound to fail. [1] https://lists.openembedded.org/g/openembedded-core/message/223651 (From OE-Core rev: 8197be4dd336be2f8a646916223922da61c5b9b1) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* clang: consolidate LLVM_APPEND_VC_REV=OFFRoss Burton2025-10-093-2/+4
| | | | | | | | | | | | | | | Whilst the change to add TMPDIR to GIT_CEILING_DIRECTORIES should stop LLVM from embedding git information into the recipes, also disable this behaviour explicitly. We do this because it's not just the sha of the source tree but also the full URL of the repository, which would be an information leak if an internal git mirror was being used. (From OE-Core rev: 9247e242bf0e2384142427b67e5f1f7b4018c45d) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/toolchain/clang: depend on llvm-native for tools, not clangRoss Burton2025-10-091-2/+2
| | | | | | | | | | The relevant tools (objdump, strip, etc) are part of llvm-native now, so trim dependencies and depend on that directly instead of clang-cross. (From OE-Core rev: 732fb127b59b2d8fd23c2716355ba44f3f5a6a9d) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* clang: use llvm recipeRoss Burton2025-10-094-162/+117
| | | | | | | | | | | | | | | | | | | | | | | | | Change this recipe to build just clang and clang-tools-extra, using the LLVM provided by the llvm recipe. This adds an 'extra-tools' PACKAGECONFIG (enabled by default) that controls whether to build the clang-tools-extra project. This includes clang-tidy and clangd, but the compile time and size for these components is not insignificant. Add a patch from upstream to support using native prebuilt tools (such as clang-tblgen) when building standalone. Add a patch that is being worked on with upstream to not rebuild clang- tblgen if it has already been provided. This saves a little build time, but more importantly for us resolves a static linking/uninative problem. Remove the dependency on clang-cross in non-native builds by just depending on llvm-native and using the un-prefixed tools directly. (From OE-Core rev: d76dc362c8e18779cc4ddc6a778fb423c0e66a65) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* llvm: add recipe for just the LLVM librariesRoss Burton2025-10-092-0/+130
| | | | | | | | | | | | | | | | | | Whilst it's convenient to build all of the LLVM project in one big recipe, that's not ideal when we may just need LLVM on target and not the rest. Bring back a LLVM recipe that can be used by both clang (shortly) and Rust (in the future) Set the build type to MinSizeRel and DEBUG_LEVELFLAG to -g1 (instead of the default, -g): the LLVM debug symbols are very large (several gigabytes) and this reduces them to hundreds of megabytes. (From OE-Core rev: 448f4a84cb22c380d97e069d0b98ddbe1cb8de18) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* clang: globally disable build-time RPATHs for reproducibilityRoss Burton2025-10-093-6/+5
| | | | | | | | | | | | | | | | | | | Various bits of the LLVM project set the build RPATH in a way that means we have non-deterministic binaries even though we should always be using relative paths. This clearly is not working as some of the binaries get rewritten on install and have large string paddings that correlate with erased build paths. So that we don't have to disable RPATHs in every recipe, just do it once in the common include file and remove the existing recipe-specific assignments that are now not needed. (From OE-Core rev: acc8c5c89c0f1bff3413d2301a65afd89bd0d9ff) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf: add TMPDIR to GIT_CEILING_DIRECTORIESRoss Burton2025-10-091-3/+3
| | | | | | | | | | | | | | | | | | | | | We export GIT_CEILING_DIRECTORIES=WORKDIR to ensure that git calls inside the builds don't find oe-core when they're meant to be looking for the git repository of the source code. However, this breaks for recipes that use work-shared (such as llvm), as their working directory is outside of WORKDIR. Solve this by adding TMPDIR to the list as a final catch, but keeping WORKDIR first so that git will stop sooner in the general case. This solves reproduciblity problems in LLVM, where for example lld's version string would contain the URL and commit hash of the poky repo being built. (From OE-Core rev: f42f0185bd00e68ecc86a930487f21fc86214cfa) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: Update to toolcfg.confRichard Purdie2025-10-091-9/+4
| | | | | | | | | Add handling for toolcfg to the eSDK generation. Take the opporunity to clean up the code duplication too. (From OE-Core rev: ba8a64935f43bfda92a11758b13590bbb3632ff2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf,lib/configfragments: Use a new dedicated toolcfg.conf fileRichard Purdie2025-10-092-2/+3
| | | | | | | | | | | | | Rather than using auto.conf which already has established use in CI, or local.conf which users expect to own/control, start writing "tooling" controlled settings to a toolcfg.conf. This frees CI to handle auto.conf as it wants, but avoids the tooling breaking users local.conf files. (From OE-Core rev: 3f8616e56b604d7b77a12334a6ce76d265de7323) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/buildhistory: Fix test if USER_CLASSES is unsetRichard Purdie2025-10-091-1/+1
| | | | | | | | If USER_CLASSES is unset, the test was failing. Fix that. (From OE-Core rev: 7be456e675a17344aedaa65a10ecaa015bf3803a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/oescripts: Ensure buildstats is presentRichard Purdie2025-10-091-0/+4
| | | | | | | | | These tests need buildstats to be configured. Add that piece of config in case it isn't by default. (From OE-Core rev: d1962257783ed9348be9fdd2db20b7d2b7c37ce1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/bblock/fitimage/sstatetests: Fix changing MACHINE during the testRichard Purdie2025-10-093-32/+32
| | | | | | | | | | | | With config fragments, changing MACHINE in the test like this no longer works. Use the forcevarable override to allow it to work. This also needs a tweak to bitbake to work correctly, sent seperately. Whilst ugly, this avoids the need to start changing config fragments within oeqa right now. (From OE-Core rev: 2323fe87eefc8017ac93ed98b1bea24996f2276b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Fix single threaded race issueRichard Purdie2025-10-091-0/+4
| | | | | | | | | | | | | | | | oe-selftest sets up separate build directories to run the tests in. To to this, environment paths pointing at the previous build directory are updated. In the multi-threaded case this is fine as the thread is destroyed and the parent remains unchanged but in the single threaded case, the environment is broken afterwards. This can mean we try and access a directory which is in the process of being deleted (e.g. by clobberdir). Restore the environment afterwards regardless to ensure the single threaded case doesn't try and access the build directory which is now being deleted. (From OE-Core rev: a165bec28ffc75fd44b1fdb02a0d3a80c5a4769b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/bblayers: maintain compatibility with integrated poky repoAlexander Kanavin2025-10-081-1/+3
| | | | | | | | | | | This amends the recently merged commit that assumes the transition to separate repositories has already happened and re-instatates support for integrated poky. (From OE-Core rev: 517666671ba2cc79b2ada3390d4ae0f2beb95caf) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/wic: fix PATH for wic.Wic2.test_extra_partition_pluginYoann Congal2025-10-061-12/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without importing PATH from the wic-tools recipes, the build host PATH is used and this test may fail depending on tools (parted, dumpe2fs, ...) availability. This triggers build faillure on AB (e.g. [0]) To fix this, import PATH from wic-tools and ensure the original environment is restored after. Since this indent a block of code into a try/finally block, here is the diff ignoring white spaces change: diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index bff3842305..bc99673d0d 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py @@ -1680,0 +1681,4 @@ INITRAMFS_IMAGE = "core-image-initramfs-boot" + oldpath = os.environ['PATH'] + os.environ['PATH'] = get_bb_var("PATH", "wic-tools") + + try: @@ -1696,0 +1701,3 @@ INITRAMFS_IMAGE = "core-image-initramfs-boot" + finally: + os.environ['PATH'] = oldpath + [0]: https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2456 (From OE-Core rev: 9dfd4f44d4f40e7926dc88cb564baa2345c2a24f) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/wic: fix PATH for wic.Wic2.test_extra_partition_spaceYoann Congal2025-10-061-34/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without importing PATH from the wic-tools recipes, the build host PATH is used and this test may fail depending on tools (parted, dumpe2fs, ...) availability. This triggers build faillure on AB (e.g. [0]) To fix this, import PATH from wic-tools and ensure the original environment is restored after. Since this indent a block of code into a try/finally block, here is the diff ignoring white spaces change: diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index b1c318bd4e..34d844b90b 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py @@ -1331,0 +1332,4 @@ + oldpath = os.environ['PATH'] + os.environ['PATH'] = get_bb_var("PATH", "wic-tools") + + try: @@ -1366,0 +1371,2 @@ + finally: + os.environ['PATH'] = oldpath [0]: https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2456 (From OE-Core rev: a6278a199807f1ad7ed1e27ec352af46e03e8b67) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* busybox: patch CVE-2025-46394Peter Marko2025-10-063-0/+91
| | | | | | | | | | Pick commit mentioning this CVE. (From OE-Core rev: 7b71962c282d296e29bc1bd6ab778b8ad2646919) Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* udev-extraconf: Avoid slashes in mountpoint namesRobert Tiemann2025-10-061-1/+1
| | | | | | | | | | | | | | | | Devices with labels such as "Hello/World/Foo/Bar" cause mount.sh to create the directory structure @MOUNT_BASE@/Hello/World/Foo/Bar. The partition is mounted to the nested "Bar" directory. On device removal, the directory structure is not cleaned up. This commit replaces all forward slashes in partition labels by underscores to avoid this edge case. (From OE-Core rev: aa071e2f44b9f76883a7c316ea79c60ae3824d6c) Signed-off-by: Robert Tiemann <rtie@gmx.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* udev-extraconf: Speed up mount.shRobert Tiemann2025-10-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On devices with many partitions, running blkid without parameters can be rather slow because all block devices are inspected: $ time /sbin/blkid real 0m0.474s user 0m0.026s sys 0m0.172s versus $ time /sbin/blkid /dev/mmcblk0p10 real 0m0.027s user 0m0.002s sys 0m0.018s Plugging in a device with 5 partitions means that mount.sh is going to be executed 5 times, and so will be blkid. In the real-world case outlined above, this adds up to an overhead of about 2.3 seconds for blkid alone. This commit changes mount.sh so that the block device of interest is passed directly to blkid such that blkid inspects only that device, leading to significant speedup. (From OE-Core rev: 5e90348ce2fa400c77641062aa0b1efb52c9f955) Signed-off-by: Robert Tiemann <rtie@gmx.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mesa: update 25.2.3 -> 25.2.4Zoltán Böszörményi2025-10-061-2/+2
| | | | | | | | | | | Announcement: https://lists.freedesktop.org/archives/mesa-dev/2025-October/226554.html (From OE-Core rev: cc69445dc24117785d2237b2460bff8bd768ab5c) Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: extra partition pluginPierre-Loup GOSSE2025-10-063-1/+177
| | | | | | | | | | | | | | | | The extra_partition plugin allows populating an extra partition with files listed in the new IMAGE_EXTRA_PARTITION_FILES variable. The implementation is similar to the bootimg_partition plugin. This plugin provides an easy way to install files that are not part of the rootfs, from the deploy directory. (From OE-Core rev: 3892912bd7e047a3b122ae910ac5fbd5a85117b8) Signed-off-by: Pierre-Loup GOSSE <pierre-loup.gosse@smile.fr> Reviewed-by: Yoann CONGAL <yoann.congal@smile.fr> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mesa-demos: split info tools to a separate packageDmitry Baryshkov2025-10-061-0/+4
| | | | | | | | | | | | | | While the rest of programs inside mesa-demos are really "demos", several *info utilities have separate value as they allow gathering information about the running system in a manner similar to clinfo or vulkaninfo. Split them into a separate package in order to allow picking them info the images without picking up the rest of "demos". (From OE-Core rev: 153e33193b51868768e86be9a1d17b25b25f346a) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* tunes/arm: add support for newer arm64 coresJon Mason2025-10-065-0/+67
| | | | | | | | | | | | | | | | Add tunes for cores that have been present since GCC 14.1.0. These have been present in meta-arm since mid-July, and have all been verified with fvp-base and testimage. Of those present in meta-arm, arch-armv8-9a.inc, arch-armv9-4a.inc, and arch-armv9-5a.inc have been excluded from this commit, as there are currently issues compiling some packages (but still present in meta-arm for those that want to use them despite those issues). (From OE-Core rev: 6a447745cc247a3570f02dec9db6fa4b6dc03367) Signed-off-by: Jon Mason <jon.mason@arm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go: fix sigaction usage on i386 platformsRandolph Sapp2025-10-062-0/+249
| | | | | | | | | | | | | | | | | | In upstream the following commit [1] was submitted to resolve issues with sigaction being used in linked libraries with cgo applications. runtime: when using cgo on 386, call C sigaction function This resolves potential segfaults with cgo applications that link to libraries that intend to switch out signal handlers temporarily with sigaction. [1] https://github.com/golang/go/commit/c5737dc21bbac9fbefc35ac9313e66291d66b382 (From OE-Core rev: 1bc7a1731b218bb5c8a08c9823c777a40e17555e) Signed-off-by: Randolph Sapp <rs@ti.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-lxml: upgrade 6.0.1 -> 6.0.2Khem Raj2025-10-061-1/+1
| | | | | | | | (From OE-Core rev: 92cc860ee2b0339e1a0220448e8685de262905a8) 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>
* spirv-llvm-translator: Upgrade to 21.1.1Khem Raj2025-10-061-1/+1
| | | | | | | | | | | | | | | Backports following fixes to 21 branch * 29758b55 [Backport to llvm_release_210] Fix error propagation in parseSPIRV (#3365) * 615cc15b Fix BFloat16 mangling (#3355) * 9aae1acb [Backport to 21] Implement SPV_INTEL_bfloat16_arithmetic (#3290) * b50fc5ca [Backport to 21] Support for SPV_INTEL_shader_atomic_bfloat16 extension (#3343) (#3349) (From OE-Core rev: 41c889269734a55bb5c49e52380bba62c9d5f461) 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>
* clang: Upgrade to 21.1.2 releaseDeepesh Varatharajan2025-10-063-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Brings following bugfixes on top of 21.1.1 b708aea0bc71 [SCEV] Don't perform implication checks with many predicates (#158652) 77a3b0eda361 [RISCV] Refactor RVV builtin code generation for reduce compilation time [NFC] (#154906) f14551dbc4e8 [RISCV] Reduce ManualCodeGen for RVV intrinsics with rounding mode. NFC dcc2c1c933be [RISCV] Reduce ManualCodeGen for segment load/store intrinsics. NFC e625a781211e [LLVM] Update CUDA ELF flags for their new ABI (#149534) 3e93017936b5 MC: Better handle backslash-escaped symbols (#158780) bc5e9a5e2009 [MC] Add parseSymbol() helper (NFC) (#158106) e2e5eb2f1cd9 [Loads] Check for overflow when adding MaxPtrDiff + Offset. 661c387fc2f1 release/21.x: [VPlan] Don't narrow op multiple times in narrowInterleaveGroups. f5c1b5206cbe [PowerPC] Avoid working on deleted node in ext bool trunc combine (#160050) db70369f400e [Clang] Fix an error-recovery crash after d1a80dea (#159976) 9c8736f348e0 [ELF] -r/--emit-relocs: Fix crash when processing .rela.text before .text (#156354) 15a31832eab7 [RISCV] Re-work how VWADD_W_VL and similar _W_VL nodes are handled in combineOp_VLToVWOp_VL. (#159205) f089fb21fffa [LoongArch] Fix MergeBaseOffset for constant pool index operand (#159336) 9eedaf5b1001 [VectorCombine] Fix scalarizeExtExtract for big-endian (#157962) 5af5cfb60d9e [clang-format] Handle C digit separators (#158418) 0174263ac214 Bump version to 21.1.2 ff039a98523f [RISCV] Support PreserveMost calling convention (#148214) 1a644bc50948 [X86] Fix assertion in AVX512 setcc combine due to invalid APInt mask width (#155775) 2c8cb316b5d2 [lldb][test] Only assert function name is in user-code on Darwin platforms f5ba88341e7c [lldb][test] TestTsanBasic.py: fix function name assertion faedeb1a2420 [lldb][Instrumentation] Set selected frame to outside sanitizer libraries (#133079) 54896838ca5e [lldb][Target] Clear selected frame index after a StopInfo::PerformAction (#133078) f4907049285c [Clang][Cygwin] Use correct mangling rule (#158404) (From OE-Core rev: bf15536de8fe99849eef0696455b5679b0f7a9d5) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/bblayers: do not assume integrated poky repoAlexander Kanavin2025-10-061-1/+4
| | | | | | | | | | | The autobuilder is being transitioned to bitbake-setup which sets up individual repositories that yocto is made of. Adjust hardcoded revisions to match these repositories. (From OE-Core rev: d22744cc176524e83cc52d0800ce39b0070e261c) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: ide_sdk: pass BITBAKEDIR to oe-init-build-envAdrian Freihofer2025-10-061-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes an issue where the generated install_and_deploy script is unable to find the bitbake directory when run outside of the build environment. This happens if the oe-selftest suite runs in a bitbake environment that is bootstrapped by bitbake-setup. oe-selftest -r devtool.DevtoolIdeSdkTests.test_devtool_ide_sdk_none_qemu AssertionError: Command '.../build-st/workspace/ide-sdk/cmake-example/ scripts/install_and_deploy_cmake-example-cortexa57' returned non-zero exit status 1: Error: The bitbake directory (/tmp/devtoolqakq7kzgeo/bitbake) does not exist! Please ensure a copy of bitbake exists at this location or specify an alternative path on the command line . /tmp/devtoolqakq7kzgeo/core-copy/oe-init-build-env /home/adrian/bitbake-builds/poky-master-poky-with-sstate-distro_poky-altcfg-machine_qemuarm64/build-st failed Another reason this issue occurs with oe-selftests is that devtool tests assume the full poky git repository is available. The setUpModule function clones layer repositories, which for poky includes bitbake. However, when using separate git repositories for bitbake and openembedded-core, the bitbake directory is not preserved during layer copying. While copying layers to allow modification during tests makes sense, copying bitbake is less beneficial. Referring to the original bitbake location is preferable, but cleaning up the devtool tests is not part of this change. (From OE-Core rev: 602802754485631f4e49bc844e473bc3ba7d38a4) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: ide-sdk: use /bin/sh instead of /bin/bashAdrian Freihofer2025-10-061-4/+5
| | | | | | | | | | | | When generating the install and deploy script for IDEs, use /bin/sh instead of /bin/bash. While this is not addressing a known issue, using the more portable /bin/sh shell is preferable and avoids requiring bash to be installed. (From OE-Core rev: 7db8dd3631d3fcd112631761d8aa12886213273c) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>