summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: lib/bb/tests/setup.py: define test parameters in a single dictionaryAlexander Kanavin2025-10-071-3/+7
| | | | | | | | | This makes maintaining and extending them easier. (Bitbake rev: d4379bb791b8961538a4d445d5f956fafffbb0e5) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: dash support for init-build-env scriptYoann Congal2025-10-071-7/+8
| | | | | | | | | | | | | | | | | | | | | | Being minimalist, dash does not support the (non-POSIX) feature of passing an argument while sourcing a script. Like in . <some path>/oe-init-build-env <build dir> With dash, one must use: set <build dir> # puts <build dir> in $1 cd <some path> . ./oe-init-build-env # can only be called from its directory in dash To do this: * Instead of a symlink to oe-init-build-env, keep a symlink to the directory containing it (called "oe-init-build-env-dir") * Generate a init-build-env script that dash can source using the above snippet. (Bitbake rev: d77386e6ab155081ff3bef2aab413ff8061e83a5) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: suggest "." instead of "source"Yoann Congal2025-10-071-1/+1
| | | | | | | | | | | | "." is in POSIX standard[0], whereas "source" is only supported in more feature-full shells (bash, zsh, ...) [0]: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#dot (Bitbake rev: 3c5f04343b30efcf53d13f13203c5b0f3a518b99) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: improve robustness of loading/writing settingsAlexander Kanavin2025-10-071-3/+3
| | | | | | | | | | | | | | | Particularly: - ensure global settings command line argument is always expanded to full path - ensure any errors that happen when loading settings are reported at that point, otherwise we get an empty dictionary and cryptic key errors later (Bitbake rev: b3f3ea52e90fb2036074cc88fd00496eb995346d) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: add support for specifying branches in repo checkoutsAlexander Kanavin2025-10-074-7/+23
| | | | | | | | | | | | | | | | | | | | Previously bitbake-setup was checking out 'detached commits' using fetcher's nobranch feature, as that is the only option when only a revision is in the config. Branches are optional, but beneficial, as - checkout directory will be on a branch, making it easier for users to understand where they are if they need to make changes (also bitbake will print branch information instead of saying 'HEAD:sha'). - supply chain security! Enforcing a branch means any specified revision has to be on it, and no one can sneak in (accidentally or deliberately!) some dangling commit, or something from their private branch in the same repo. (Bitbake rev: 14dd5f53913419a6c26c0b809a592bd19ae8495a) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: Improve the already initialized testRichard Purdie2025-10-071-2/+2
| | | | | | | | | If the directory already exists but hasn't been setup, the current test can fail so improve it. (Bitbake rev: f8cc590403212886cc5ea19fe1e78dcd3438b612) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: Switch to internal default registry filesRichard Purdie2025-10-071-1/+1
| | | | | | | | | Switch the url to be the default internal registry rather than a private repo which was intended for testing. (Bitbake rev: dd1841a7c3edc2749924370c307ff40ec65f0fe1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Add default registry config for OpenEmbedded's nodistro and Yocto ↵Richard Purdie2025-10-072-0/+124
| | | | | | | | | | | | | | | Project's poky Rather than forcing every user to have to access a separate repository for data for some key defaults, add those for nodistro and poky. This gives us some commonly used setups and also something to test against too. We will need to come up with a criteria for adding these, most likely based on community usage/demand with the OE TSC governing that policy. (Bitbake rev: ce6561608904e971a5cf9214a68391ea7fccc6b3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: Allow local registry pathsRichard Purdie2025-10-071-4/+9
| | | | | | | | | | It is useful for bitbake-setup to support local paths without access through the fetcher so that internal data to the bitbake repository can be used as a default. (Bitbake rev: 5b8cd9d2156ef6bdd4c6e61130fadc0ff85f7f1f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: adjust the error message about missing websockets module to ↵Alexander Kanavin2025-10-071-1/+4
| | | | | | | | | mention bitbake-setup (Bitbake rev: d857ed2044c8153c69bd3e275cfc8a9b6a8cdc5e) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: add 'install-buildtools' commandAlexander Kanavin2025-10-072-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This basically calls install-buildtools from oe-core/poky, but it ensures via command line parameters that the installation location is stable and the downloads are preserved for reproducibility: $ bin/bitbake-setup install-buildtools Loading settings from /home/alex/bitbake-builds/bitbake-setup.conf ====== Buildtools archive is downloaded into /home/alex/bitbake-builds/yocto-master-testing/buildtools-downloads/20250319141333 and its content installed into /home/alex/bitbake-builds/yocto-master-testing/buildtools ... (output from install-buildtools script) ====== It also detects when buildtools are already installed, and will direct users what to do: ====== alex@Zen2:/srv/work/alex/bitbake$ bin/bitbake-setup install-buildtools Loading settings from /home/alex/bitbake-builds/bitbake-setup.conf Buildtools are already installed in /home/alex/bitbake-builds/yocto-master-testing/buildtools. If you wish to use them, you need to source the the environment setup script e.g. $ . /home/alex/bitbake-builds/yocto-master-testing/buildtools/environment-setup-x86_64-pokysdk-linux You can also re-run bitbake-setup install-buildtools with --force option to force a reinstallation ====== This commits includes fixes by Gyorgy Sarvari <skandigraun@gmail.com> https://github.com/kanavin/bitbake/pull/2 (Bitbake rev: 9fb564b720ff5d29a245ec900c8996da7f5f24a6) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: add tests to bitbake-selftestAlexander Kanavin2025-10-072-0/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run like this: alex@Zen2:/srv/work/alex/bitbake$ bin/bitbake-selftest -v bb.tests.setup test_setup (bb.tests.setup.BitbakeSetupTest.test_setup) ... ok ---------------------------------------------------------------------- Ran 1 test in 9.223s OK The test does a basic run-through of init, then status/update on an unchanged configuration, then status/update on a configuration changed via new commits to the test layer, then status/update on configuration changed via the top level json config file. Note that nothing whatsoever is fetched from the network; the test relies entirely on synthetic data contained inside itself, including minimal stubs for oe-setup-build and bitbake-config-build. This data is used to create temporary git repositories then clone them via local filesystem URIs. Later on this can be supplemented by an oe-selftest that tests bitbake-setup against real config files in the official configuration repository and real layers, templates and fragments. (Bitbake rev: 59ec7e2ac56e364bae39ccb5e884c447a5379531) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: add the initial implementationAlexander Kanavin2025-10-071-0/+809
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Preamble ======== The latest iteration of this patchset is available at https://github.com/kanavin/bitbake I recommend taking the patches from there to ensure that you are not trying out outdated code. For the rationale and design guidelines please see this message: https://lists.openembedded.org/g/openembedded-architecture/message/1913 Left out for now but will be done later: - official configuration repository - documentation Amble *scratch* HOWTO ===================== 1. If you don't know where to start, run 'bitbake-setup init'. Bitbake-setup will ask a few questions about available configuration choices and set up a build. Note: 'init' sub-command can also take a path or a URL with a configuration file directly. You can see how those files look like here: https://github.com/kanavin/bitbake-setup-configurations 2. You can then source the bitbake environment and run bitbake to perform builds as usual: $ . /home/alex/bitbake-builds/yocto-master-options-poky-distro_poky-machine_qemux86-64/build/init-build-env Also, subsequent status/update commands will not require a separate --build-dir argument telling bitbake-setup where the build is. 3. To check if the build configuration needs to be updated, run: === $ bin/bitbake-setup status ... Configuration in /home/alex/bitbake-builds/poky-alex/ has not changed. === If the configuration has changed, you will see the difference as a diff. ... - "rev": "akanavin/sstate-for-all" + "rev": "akanavin/bitbake-setup-testing" ... If the configuration has not changed, but layer revisions referred to it have (for example if the configuration specifies a tip of a branch), you will see that too: === ... Layer repository git://git.yoctoproject.org/poky-contrib checked out into /home/alex/builds/poky-alex/layers/poky updated revision akanavin/sstate-for-all from 6b842ba55f996b27c900e3de78ceac8cb3b1c492 to aeb73e29379fe6007a8adc8d94c1ac18a93e68de === 4. If the configuration has changed, you can bring it in sync with: $ bin/bitbake-setup update Note that it will also rename/preserve the existing build/conf directory, and print changes in bitbake configuration (diff of content of build/conf/) if that has changed. I can't at the moment think of anything more clever that is also not much more brittle or complex to implement, but open to suggestions. Terminology =========== - 'top directory' means the place under which bitbake-setup reads and writes everything. bitbake-setup makes a promise to not touch anything outside of that, unless otherwise directed to by entries in settings (currently there is one such setting for fetcher downloads for layers and config registries). Top directory can be selected by an environment variable, a command line option, or otherwise assumed to be ~/bitbake-builds/. If BBPATH is in environment (e.g. we are in a bitbake environment), then the top directory is deduced from that and doesn't need to be specified by hand. - 'settings' means bitbake-setup operational parameters that are global to all builds under a top directory. E.g. the location of configuration registry, or where the bitbake fetcher should place the downloads (DL_DIR setting). Settings are stored in a .conf file in ini format just under the top directory. - 'build' means a tree structure set up by 'bitbake-setup init', consisting of, at least, a layers checkout, and a bitbake build. It maps 1:1 to the json data it was constructed from, which is called 'build configuration'. Build configurations are constructed from generic configurations that may involve making one or more choices about available options in them. Generic configurations are files, URLs or are obtained from git repositories called 'config registries', in which case they can be listed with 'bitbake-setup list'. There can be multiple 'builds' under a top directory. Here are two example generic configurations that showcase this: https://github.com/kanavin/bitbake-setup-configurations/blob/main/yocto-master-options.conf.json https://github.com/kanavin/bitbake-setup-configurations/blob/main/yocto-master-nested-configs.conf.json - 'bitbake-setup status' will tell if a build is in sync with the generic configuration it was made from. 'bitbake-setup update' will bring a build in sync with a configuration if needed. - 'bitbake build' means a particular sub-tree inside a build that bitbake itself operates on, e.g. what is set in BBPATH/BUILDDIR by oe-init-build-env. conf/* in that tree is 'bitbake configuration'. Bitbake configurations are constructed from templates and fragments, with existing mechanisms provided by oe-core. The configuration file format is specified such that other mechanisms to set up a bitbake build can be added; there was a mention of ability to specify local.conf content and a set of layers directly in a configuration. I think that scales poorly compared to templates and fragments, but I made sure alternative ways to configure a bitbake build are possible to add in the future :) - 'source override' is a json file that can be used to modify revisions and origins of layers that need to be checkout into a build (e.g. when master branches need to be changed to master-next for purposes of testing). Such a file is specified with a command-line option to 'init' and an example can be seen here: https://github.com/kanavin/bitbake-setup-configurations/blob/main/yocto-master-next.override.json This commit includes fixes by Ryan Eatmon <reatmon@ti.com> https://github.com/kanavin/bitbake/pull/1 Gyorgy Sarvari <skandigraun@gmail.com> https://github.com/kanavin/bitbake/pull/2 Johannes Schneider <johannes.schneider@leica-geosystems.com> https://github.com/kanavin/bitbake/pull/3 https://github.com/kanavin/bitbake/pull/5 (Bitbake rev: bf3542076cdd751da9de8745aa3f351f5c6b0c5f) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: parse: Make include_all raise a parse error for absolute pathsPeter Kjellerstedt2025-10-072-0/+4
| | | | | | | | | It makes no sense to use an absolute path with include_all. (Bitbake rev: a39d1d5df740824d40c4d8e7f4199ccc518592e0) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: parse: Make include_all support empty variable expansionsPeter Kjellerstedt2025-10-073-5/+9
| | | | | | | | | | | | | include and require support empty variable expansions, typically used with conditional expansions. However, include_all does not, and instead reports an error for the first path in BBPATH. Rewrite include_all so that its behavior matches include and require. (Bitbake rev: 010928ceac48b20e6ab530f8e256b72201b778ec) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> 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>
* devtool: ide_sdk: trivial alphabetical reorderAdrian Freihofer2025-10-061-1/+1
| | | | | | | (From OE-Core rev: 4623a1decfbcda82731670785e6c5a60c4cadef9) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/bbconfigbuild/configfragments: disable the previous builtin fragment ↵Alexander Kanavin2025-10-062-7/+15
| | | | | | | | | | | | | | | | | | | when enabling a new one There was a flaw in the logic that allowed multiple builtin fragments with the same prefix to be enabled at the same time. The correct behaviour is that only one of them should be enabled, and when enabling it all previously enabled fragments should be removed. The issues that this caused are further explained in https://bugzilla.yoctoproject.org/show_bug.cgi?id=15987 [YOCTO #15987] (From OE-Core rev: aea2d69d0533bf005cd58eb91fd9b3a3ae194610) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-firmware: skip ldflags sanity checkRoss Burton2025-10-061-1/+4
| | | | | | | | | | | | | | | | | | Some of the firmware blobs, for example qcom/apq8016/modem.mbn, are actually ELF files. We don't want to hold these to our exacting standard for link flags because we're not building them and they don't run on the target directly. Note that as this check parses the output of ${OBJDUMP} -p it behaves differently with binutils vs llvm. It looks like binutils bails early as it doesn't know what the target architecture is, whereas LLVM is more comprehensive in its support. (From OE-Core rev: a84ea657d4ff955ea27d3c2518e7eb124f4e61d9) 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>
* tools/build-docs-container: update with newly supported distrosAntonin Godard2025-10-031-8/+14
| | | | | | | | | | | Update the build-docs-container file with newly supported distributions. These were all able to install packages and build the docs (including the pdf) properly. (From yocto-docs rev: 09c7800333b17b21e50d2a089a3ae1b123697243) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* set_versions.py: fix subprocess.run call for older distrosAntonin Godard2025-10-031-1/+1
| | | | | | | | | | | Like in 28850c974a38 ("set_versions.py: use backward-compatible python argument in run"), replace the capture_output options by Python <3.7 compatible ones. (From yocto-docs rev: 6e1f4c18a13f369423599529a6960da5e3947d01) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* docs: add util-linux-script package for Fedora 42+Adrian Freihofer2025-10-031-1/+1
| | | | | | | | | | | | | | | | | | | | | Fedora 42 split the script utility from util-linux into a separate util-linux-script package. This change adds conditional installation of util-linux-script for Fedora 42 and later versions. https://src.fedoraproject.org/rpms/util-linux/c/5a2471d6e5b0055cb607b30dc2e9613b312ffb74?branch=rawhide The package is added conditionally using rpm macro evaluation to maintain compatibility with older Fedora versions where script was included in the base util-linux package. Note that different distributions handle this differently - for example, Debian provides the script utility in a separate bsdutils package rather than in util-linux. (From yocto-docs rev: 22e28e817d2c9b49d9fedbb93b08874cec1fa3d3) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual/system-requirements.rst: update supported distributionsAntonin Godard2025-10-031-2/+3
| | | | | | | | | After 837a650aac17 ("poky: Update SANITY_TESTED_DISTROS") in meta-yocto. (From yocto-docs rev: 4e7ce89ff91f5fa7ade1feb7be96f898b56068ed) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual/variables.rst: fix the description of STAGING_DIRAdam Blank2025-10-031-1/+1
| | | | | | | | | | | There is no single "recipe-sysroots" directory, but rather many "recipe-sysroot*" directories. (From yocto-docs rev: f2d6e228409cb1dd1dbf339c405699ac6d3900be) Signed-off-by: Adam Blank <adam.blank.g@gmail.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add documentation on fragmentsAntonin Godard2025-10-036-0/+537
| | | | | | | | | | | | | | | - terms.rst: Provide the definitions of a Configuration Fragment and a Built-in Fragment. - ref-manual: Add a quick reference guide on bitbake-config-build, and list the available fragments in OE-Core. Document the underlying variables related to fragments in the glossary. - dev-manual: give instructions on how to create new custom fragments. (From yocto-docs rev: 0820b71c830cab4151b0219b6d4013c41f461c6e) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual/structure: document the auto.conf fileAntonin Godard2025-10-031-0/+9
| | | | | | | | | | Add documentation for auto.conf, which is used by external tools for automatically setting variables. (From yocto-docs rev: 134e54a75e0144c4629f702c6f43e92ed1f12dce) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dev-manual/building.rst: add note about externalsrc variables absolute pathsTalel BELHAJ SALEM2025-10-031-0/+5
| | | | | | | | (From yocto-docs rev: 33166d70b6ad093bd95ffccafc0b07820682f656) Signed-off-by: Talel BELHAJ SALEM <bhstalel@gmail.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* tools: build-docs-container: remove comment for unsupported distrosQuentin Schulz2025-10-031-3/+0
| | | | | | | | | | | Ubuntu 18.04 and 20.04 are not supported distros, so let's remove the comment listing the reason we don't support them. (From yocto-docs rev: 9ff31ed417bc7cd80f8bde39372091e40e36b678) Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual/variables.rst: fix the description of KBUILD_DEFCONFIGAdam Blank2025-10-031-2/+1
| | | | | | | | | | Remove some leftover confusing mention of KMACHINE. (From yocto-docs rev: 582ee9e0b4930aea03255542b3d3913df19af8b0) Signed-off-by: Adam Blank <adam.blank.g@gmail.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-dev/common.rst: fix the in-tree defconfig descriptionAdam Blank2025-10-031-7/+3
| | | | | | | | | | | | | The description of the relation between KBUILD_DEFCONFIG and SRC_URI is reversed. In fact it is the SRC_URI provided defconfig which will be dropped by the kernel-yocto class if both are provided. (From yocto-docs rev: a808420655a0976ba08f013f468cf80f379b1d89) Signed-off-by: Adam Blank <adam.blank.g@gmail.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: do not require CONF_VERSION (e.g. local.conf version) to ↵Alexander Kanavin2025-10-021-1/+7
| | | | | | | | | | | | | | | | | | be set The version checks for local.conf/site.conf/bblayers.conf are all optional, and aren't enforced (by insane class) if the versions aren't set. As bitbake-setup writes out a blank local.conf, it doesn't put a version in it either. Also, esdk bundle has a fixed set of layers and is not at risk of needing to update its own local.conf. The same condition is already in place for esdk's bblayers.conf for similar reasons. (From OE-Core rev: d83ff28157aaa9322f98b8da5dd50b562085085a) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ghostscript: upgrade 10.05.1 -> 10.06.0Vijay Anusuri2025-10-023-70/+66
| | | | | | | | | | | | | | | | | | | | Dropped 0001-Bug-708160-Fix-compatibility-with-C23-compilers.patch Added 0001-Fix-32-bit-build.patch to fix 32-bit archs build Added fPIC flag needed to prevent a linker error during the build process. This upgrade addresses CVEs: CVE-2025-59798, CVE-2025-59799, CVE-2025-59800, CVE-2025-59801 Changelog: https://ghostscript.readthedocs.io/en/gs10.06.0/News.html (From OE-Core rev: 0144e22195394ce2b21b476a1dcfde9129eaf615) Signed-off-by: Vijay Anusuri <vanusuri@mvista.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.py: replace all files unconditionally when copy debug sourcesChangqing Li2025-10-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is for fixing reproducible issue for package like: intel-speed-select-src. For intel-speed-select, one of the debug sources is /usr/src/debug/intel-speed-select/1.0/include/linux/thermal.h, file include/linux/thermal.h under ${S} (kernel-sources) link file include/linux/thermal.h under ${B}, which link to ${S}/include/uapi/linux/thermal.h During copy debug sources, sources under ${S} copied first, then sources under ${B} is copied. mtime of ${S}/include/linux/thermal.h and ${S}/include/uapi/linux/thermal.h are decided by when it is fetched, so it is not determinate, maybe same or different. For cpio, if the in file is older than or the same as the exist file, cpio will not replace the exist file with warning "cpio: xxx not created: newer or same age version exists". And this will cause intel-speed-select-src maybe not reproducible. And option '-u' for cpio, first, this will make the copied file determistic. Second, source files under ${B} should have higher priority then ${S}, it may be generated during build, the target is more likely to use this file. (From OE-Core rev: 8898f97b4acc9d5c2c6583c91d05327f9093133e) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-firmware: Fix FILES for intel firmwareRyan Eatmon2025-10-021-26/+26
| | | | | | | | | | | | | | | | The 20250917 version is installing the firmware files into the /usr/lib/firmware/intel directory and symbolic links to those files under /usr/lib/firmware. FILES needs to be updated to correctly package all of the files into the right packages. Without this we get a dependency from the linux-firmware-iwlwifi-* and linux-firmware-qat packages back to linux-firmware which means you have to install ALL of the drivers when you depend on the specific package. (From OE-Core rev: d5144f7031f1f25bb769aed860c45b1fe00ddba4) 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>
* clang: build with MinSizeRelRoss Burton2025-10-021-3/+3
| | | | | | | | | | | | | | | | | | | This is the recommended build configuration upstream unless speed is the ultimate goal. They say it's almost as fast as Release (-O3) but a lot smaller on disk: clang-libclang-cpp: PKGSIZE changed from 71729568 to 49368816 (-31%) clang-libllvm: PKGSIZE changed from 83015559 to 56662823 (-32%) clang-tidy: PKGSIZE changed from 15861679 to 9956175 (-37%) clang-tools: PKGSIZE changed from 6865635 to 5374691 (-22%) clang: PKGSIZE changed from 29693308 to 22697548 (-24%) libclang: PKGSIZE changed from 40087018 to 26966218 (-33%) (From OE-Core rev: ea9b33f7c12f773830ec860ae817a3ed1368612b) 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>