summaryrefslogtreecommitdiffstats
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* bootimg_pcbios: add help and usage commentsVincent Davis Jr5 days1-1/+42
| | | | | | | | | | | Adds comments underneath class declaration defining plugin usage and potential optional variables to set. (From OE-Core rev: 6a8c350f595255b6febfdbc5af668286ccb973df) Signed-off-by: Vincent Davis Jr <vince@underview.tech> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bootimg_pcbios: include grub as an optional bootloaderVincent Davis Jr5 days1-6/+36
| | | | | | | | | | | | | | | | | | | | | | Commit adds in support for installation of both grub and syslinux using newly added grub functions. Due to the bootimg_biosplusefi source_params['loader'] had to be named source_params['loader-bios'] so not to create conflict in the wics plugin. Commits also adds ability to set and or not set source_params. If source_params set check for both * syslinux * grub if not set default to using syslinux as bootloader. (From OE-Core rev: 5caf6fe32aa4655f46fb7b490a22778c59b2efc0) Signed-off-by: Vincent Davis Jr <vince@underview.tech> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bootimg_pcbios: add funcs to configure booting with grubVincent Davis Jr5 days1-0/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Functions added, but not executed during wic image creation include: _get_staging_libdir * Finds target lib directory if for some reason STAGING_LIBDIR isn't set. _do_configure_grub * Will search for a grub configuration passed via bootloader --configfile. If not found build a default one which searches for partition that contains the given the kernel name via grub search module. _do_prepare_grub 1. Sets default values for GRUB_MKIMAGE_FORMAT_PC and GRUB_PREFIX_PATH if none specified. Both variables are required by grub-mkimage. * GRUB_MKIMAGE_FORMAT_PC is used to define target platform. * GRUB_PREFIX_PATH is used to define which directory grub config and modules are going to reside in. 2. Generates grub config to embed into core.img. This config is used to search for partition containing grub config. 3. Creates a custom core.img or grub stage 1.5 with an embedded grub config. 4. Copies all the target built grub modules into GRUB_PREFIX_PATH directory. 5. Creates boot partition _do_install_grub 1. dd target platform specific boot.img to the first 0-440 bytes of the resulting wic image. dd grub stage 1 to wic image. If this wics plugin is used with GPT as partition table format and grub selected as bootloader it's more than likely for grub hybrid booting because bootimg_efi plugin should and more than likely will be used in that case. So, boot.img may be dd regardless if partition table format is GPT or MBR. 2. dd custom core.img (grub stage 1.5) with embedded configuration to the resulting wic image starting at byte 512 up to sizeof(core.img). 3. Both boot.img and core.img are required for legacy bios boot. See grub Wiki for more details on boot.img and core.img. https://en.wikipedia.org/wiki/GNU_GRUB Commit also imports python modules required by the above implemented functions. (From OE-Core rev: 27c56962f47303cf49a4cf641e85239e4d7779b5) Signed-off-by: Vincent Davis Jr <vince@underview.tech> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bootimg_pcbios: cleanup prepare and install syslinux funcsVincent Davis Jr5 days1-14/+11
| | | | | | | | | | | | | | | | | | | This commit: 1. Removes unrequired function params from * _do_prepare_syslinux * _do_install_syslinux Reason is that they aren't required by the function. 2. Moves finding of resulting wic image back into do_install_disk task. As the same code may be leverage to install other bootloaders to the resulting disk. (From OE-Core rev: 27e3fc1ef5304278254d2288ffc99e1757dd4053) Signed-off-by: Vincent Davis Jr. <vince@underview.tech> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bootimg_pcbios: cleanup _do_configure_syslinux functionVincent Davis Jr5 days1-9/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit: 1. Removes all unrequired function parameters. The part parameter was kept due to it's potential future usage in _do_configure_syslinux function. part.fstype specifically may be used with the rootfstype kernel paramater. 2. Sets a default timeout to 500 if bootloader --timeout not specified. To avoid 'None' being placed as the value in resulting configuartion file. 3. Sets a default kernel parameter string if bootloader --append not specified. This also helps avoid 'None' being places as the value in resulting configuration file. 4. Replace all instances of cr_workdir, "/hdd/boot" with variable hdddir as it's set at the top of the function. No, need to re-implement what the variable is already defined to store. (From OE-Core rev: 5e17a1cf73d0542e0c7ec9333aaf20bbc45df8de) Signed-off-by: Vincent Davis Jr <vince@underview.tech> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bootimg_pcbios: seperate bootloader config creationVincent Davis Jr5 days1-13/+18
| | | | | | | | | | | | | | | | | | | Most bootloaders that will be included in this wics plugin will require a configuration file to define kernel params, execute custom modules, or enable the ability to select one of multiple boot entries. Create a seperate generic function to facilitate finding if a bootloader config file passed through bootloader --configfile flag. So, that other functions that are used to create/install a bootloader boot configuration file can leverage the function. (From OE-Core rev: 7944e29eb6ab7b80ad3847686dd780100623b196) Signed-off-by: Vincent Davis Jr. <vince@underview.tech> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bootimg_pcbios: move syslinux funcs to end of fileVincent Davis Jr5 days1-39/+39
| | | | | | | | | | | | | | | | | | | | | | | This commit moves the seperated syslinux creation functions from their current position to end of file in the order 1. _do_configure_syslinux 2. _do_prepare_syslinux 3. _do_install_syslinux This is to prepare for inclusion of other bootloaders. It also makes reading through the wics plugin much easier if you group bootloader specific partition creation functions together and place them at the bottom of the file versus leaving them in their current position. (From OE-Core rev: 9034dd23e4240536a37a2290f2f2dd48d9bddd29) Signed-off-by: Vincent Davis Jr. <vince@underview.tech> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bootimg_pcbios: move syslinux install into seperate functionsVincent Davis Jr5 days1-0/+27
| | | | | | | | | | | | | | | | | | | | | | Current oe-core bootimg_pcbios wics plugin only supports installing syslinux directly into the resulting wic image. This commit seperates syslinux installation from class BootimgPcbiosPlugin(SourcePlugin) override functions in preparation of supporting the installation of other bootloaders to the resulting wics plugin such as: * grub * extlinux Being moved now to make it easier to include future bootloaders. (From OE-Core rev: 78addc3a7c2f036e8932305368acd6090937b62d) Signed-off-by: Vincent Davis Jr <vince@underview.tech> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: fix upgrade for recipes with git submodulesTobias Pistora5 days1-2/+2
| | | | | | | | | | | | | Fixes [YOCTO #15943] Fixes invalid path argument while calling "git rev-list" from submodule folders. Replaced the local __run() wrapper function with _run() at "git rev-list" command calls. (From OE-Core rev: c1839a24f08a87984d475d23f37a7c923d424267) Signed-off-by: Tobias Pistora <pistora.tobias@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: fix special characters bugLibo Chen12 days1-3/+4
| | | | | | | | | | | | Fix the bug in runqemu that happens when the file path contains the specific words such as 'vmlinux', e.g. /home/frank/vmlinux. runqemu - ERROR - wic doesn't need kernel (From OE-Core rev: 3c186fe7741adecb0887e36c8a9164a58fc16437) Signed-off-by: Libo Chen <libo.chen.cn@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: refactor a duplicated cleanup statementYoann Congal12 days1-4/+3
| | | | | | | | | | Refactor using a "finally:" instead of a duplicated statement inside and outside of the try/except block. (From OE-Core rev: c92399c355d1333eff37ea799832a8890acd0d74) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: use "zstd -o" to preserve sparse imagesYoann Congal12 days1-2/+1
| | | | | | | | | | | wic images can be sparse. Using "zstd -o" preserves the sparse state of the image and should decrease decompression time. Suggested-by: Adrian Freihofer <adrian.freihofer@gmail.com> (From OE-Core rev: 27d156d85f13131ea4c5d766ddaa2d18b88d7577) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/runqemu: Update the fstypes list with newly supported compressed ↵Richard Purdie12 days1-2/+3
| | | | | | | | | | | | | images types Update the interal list of types within runqemu with the newly added compression formats it supports. This fixes autodetection of qemuboot file locations. (From OE-Core rev: 46b9a1c74df00f76f7c19b5ed27e6a569aaabb5e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: print snapshot mode state in consoleYoann Congal12 days1-0/+3
| | | | | | | | | | | With snapshot enabled, no change on rootfs will be saved after qemu shutdown. Since this is not what a user might expect, print the snapshot mode state and its consequence in console at runqemu start. (From OE-Core rev: 57fe8538a87ff1f69f274d9692f038caed6cb5cd) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: accept vmtypes and wictypes for rootfs paths extensionsYoann Congal12 days1-1/+1
| | | | | | | | | | | | | When using a .wic.zst image, its fstype is detected by default as ".zst" which prevent booting correctly. Fix this by adding wictypes (and vmtypes while at it) to the list of known fstypes. After this fix, the initial fstype is correctly ".wic.zst". (From OE-Core rev: 26b0922977d1bfcf47bbccf624be86e9e2b8815a) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: Add support for running compressed .zst rootfs imagesLamine REHAHLIA12 days1-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | Enhance runqemu to detect and decompress .zst-compressed rootfs images (e.g. ext4.zst, wic.zst) automatically. If a decompressed image already exists in the original directory, it will be reused to avoid overwriting build artifacts. Otherwise, the image is decompressed and removed after the QEMU session ends. This allows runqemu to be used seamlessly with compressed image formats generated by the build system or during releases. Note: support for .zst images is only available when snapshot mode is enabled IMPORTANT: This patch assumes that the original directory of the .zst-compressed image is writable. If, for some reason, the path passed from CI or another system to the script is read-only, the decompression step will fail when trying to write the uncompressed image to the same directory. (From OE-Core rev: e069fe2480c871c649b83f6278564a553cc3dd58) Signed-off-by: Lamine REHAHLIA <lamine.rehahlia@smile.fr> Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/install-buildtools: Update to 5.2.2Aleksandar Nikolic2025-07-281-2/+2
| | | | | | | | | | Update to the 5.2.2 release of the 5.2 series for buildtools (From OE-Core rev: 9a79f2b1b81a27e740d7e5e59d07a38da12faf7d) 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>
* pybootchartgui: account for network stats when calculating extentsRoss Burton2025-07-281-0/+2
| | | | | | | | | | We could take into account the network device statistics when calculating the size of the image, otherwise charts will be truncated. (From OE-Core rev: 52806c2555d02d4a12e7419520a2aba05f7aaa06) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pybootchartgui: mark a regex as a raw stringRoss Burton2025-07-281-1/+1
| | | | | | | | | Otherwise Python tries to unescape the \s and warns that it can't. (From OE-Core rev: 45435a18f6ce665eba5b2e708a72a4f596deb017) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* improve_kernel_cve_report: do not use custom versionDaniel Turull2025-07-101-2/+4
| | | | | | | | | | | | | | | | | | When using the version specified in cve-summary.json, we need to remove the suffix containing the custom version to match the versions from the CVEs. This patch truncates the version from cve-summary.json to use only the base version of the kernel. This is only applicable for kernels where the user has added their own version. (From OE-Core rev: 3942d40e96989268e8d1030f9d8c3859044d9635) Signed-off-by: Daniel Turull <daniel.turull@ericsson.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* improve_kernel_cve_report: do not override backported-patchDaniel Turull2025-07-101-0/+4
| | | | | | | | | | | If the user has a CVE_STATUS for their own backported patch, the backport takes priority over upstream vulnerable versions. (From OE-Core rev: 0beef05be119ea465ba06553a42edea03dfc9fd3) Signed-off-by: Daniel Turull <daniel.turull@ericsson.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testexport.bbclass oe-test: capture all tests and data from all layersMikko Rapeli2025-07-101-4/+8
| | | | | | | | | | | | | | | | | | | | | | testexport.bbclass only copied files from core layer to the testexport.tar.gz to run tests. Then it filtered out tests and files which were not specified in TEST_SUITES variable. Remove filtering of files to include parselogs.py test data files which are machine and/or layer specific. TEST_SUITES variable is now read from build time exported data store when running tests so there is no need to remove files from exported tests in testexport.bbclass. Adapt oe-test script to find "lib" directories from the new structure with layer specific paths which are used to find tests and test data files. (From OE-Core rev: 5c39fedee1dd0e101e2611b71a895c0251ba968d) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: Handle workspaces for multiconfigJoshua Watt2025-07-071-0/+2
| | | | | | | | | | | If a multiconfig recipe is passed to devtool, find the correct workspace name by removing the multiconfig prefix (From OE-Core rev: 42c0c25428be329101a920d31c5fa8cf1e04ee38) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool/create_go: proxy module fetching to go-mod-update-modulesRoss Burton2025-07-011-116/+36
| | | | | | | | | | Now that the go-mod-update-modules class exists, this Go handler can create a stub recipe and then proxy the module handling to the class. (From OE-Core rev: 0aa406d0582d32399c48dfa78f24adc75696112c) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe/licenses: move tidy_licenses from recipetoolRoss Burton2025-07-011-10/+1
| | | | | | | | | | This function, to tidy a license string, is useful outside of recipetool so move it to oe.license. (From OE-Core rev: 9d57b53169bc60b281510c49e54123941a17a8f5) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create_go: Use gomod fetcher instead of go mod vendorChristian Lindeberg2025-07-011-622/+99
| | | | | | | | | | Use the go-mod bbclass together with the gomod fetcher instead of the go-vendor bbclass. (From OE-Core rev: 42b46ab3b92a4f011592e8efcedead075731b8bd) Signed-off-by: Christian Lindeberg <christian.lindeberg@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: allow recipe create handlers to specify bitbake tasks to runRoss Burton2025-07-011-0/+5
| | | | | | | | | | | | | | When creating a recipe there can be cases where there is a class that does some of the recipe creation (such as cargo-update-recipe-crates). To avoid duplication of code, look for run_task assignments in the extravalues dictionary returned by the handler, and if it is set then call that task after writing the recipe. (From OE-Core rev: 629184de671cf7b86fe95fcce788dffcc3a4da8a) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: Support creating extra files named after the recipePeter Kjellerstedt2025-07-011-1/+2
| | | | | | | (From OE-Core rev: ea26eb8e4a00a63700a95c2c848272b170154294) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/wic: fix calling wic ls|cp|rm|write hung in bitbake taskHongxu Jia2025-06-261-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | While calling wic ls/cp/rm/write in bitbake task along with do_image_wic, it hung without return. Due to commit [2255f28b57 wic: add WIC_SECTOR_SIZE variable][1] applied, It calls get_bitbake_var in `wic ls|cp|rm|write' to define sector size. By default, get_bitbake_var starts a `bitbake -e' to get variables which triggers nested bitbake in this situation Refer `wic create', adds option --vars and --image-name to support to read bitbake variables from <image>.env files NOTE: This commit does not add -e for `wic write' to avoid confliction with existed option -e/--expand [1] https://github.com/openembedded/openembedded-core/commit/2255f28b579bc5db4138bcacbb829661ae0ee721 (From OE-Core rev: 793732a6ac2b3788d6c6635e5a496b117bd60584) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool/devtool: calculate source paths relative to UNPACKDIRAlexander Kanavin2025-06-205-14/+14
| | | | | | | | | | | | | | | | | | | | Now that recipes default to S in UNPACKDIR, recipetool and devtool should do the same. There was some discussion about changing devtool to simply setting UNPACKDIR via bbappend to a workspace and running unpack task directly; currently it has a bunch of convoluted path calculations, substitutions, moving source trees around and and special casing (devtool-source.bbclass in particular is an unpleasant hack). This should definitely be done; but right now we can simply tweak existing code which at least doesn't make it worse. (From OE-Core rev: c326ca8aeb2bf0f7719e43921d10efd5dedc7b2a) 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-202-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* scripts/test-remote-image: remove useless postconfig argumentsRoss Burton2025-06-191-6/+3
| | | | | | | | | | I can't see a reason for this script to need to use postconfig files to bounce a variable assignment through another, so remove them. (From OE-Core rev: 4a919459feb90ab8a8b9d10381486b77ad5aec52) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* improve_kernel_cve_report: add script for postprocesing of kernel CVE dataDaniel Turull2025-06-191-0/+467
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding postprocessing script to process data from linux CNA that includes more accurate metadata and it is updated directly by the source. Example of enhanced CVE from a report from cve-check: { "id": "CVE-2024-26710", "status": "Ignored", "link": "https://nvd.nist.gov/vuln/detail/CVE-2024-26710", "summary": "In the Linux kernel, the following vulnerability [...]", "scorev2": "0.0", "scorev3": "5.5", "scorev4": "0.0", "modified": "2025-03-17T15:36:11.620", "vector": "LOCAL", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H", "detail": "not-applicable-config", "description": "Source code not compiled by config. ['arch/powerpc/include/asm/thread_info.h']" }, And same from a report generated with vex: { "id": "CVE-2024-26710", "status": "Ignored", "link": "https://nvd.nist.gov/vuln/detail/CVE-2024-26710", "detail": "not-applicable-config", "description": "Source code not compiled by config. ['arch/powerpc/include/asm/thread_info.h']" }, For unpatched CVEs, provide more context in the description: Tested with 6.12.22 kernel { "id": "CVE-2025-39728", "status": "Unpatched", "link": "https://nvd.nist.gov/vuln/detail/CVE-2025-39728", "summary": "In the Linux kernel, the following vulnerability has been [...], "scorev2": "0.0", "scorev3": "0.0", "scorev4": "0.0", "modified": "2025-04-21T14:23:45.950", "vector": "UNKNOWN", "vectorString": "UNKNOWN", "detail": "version-in-range", "description": "Needs backporting (fixed from 6.12.23)" }, CC: Peter Marko <peter.marko@siemens.com> CC: Marta Rybczynska <rybczynska@gmail.com> (From OE-Core rev: e60b1759c1aea5b8f5317e46608f0a3e782ecf57) 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>
* wic: Avoid problems with "-" characters in plugin namesRichard Purdie2025-06-163-1/+8
| | | | | | | | | | | | | | | Remap "-" characters in plugin names to "_" so wic plugins can be extended using standard python class inheritance. This change means wic files can be incrementally updated over time to the correct name rather than breaking everything. Actual plugin module files will need to be renamed as done in previous patches. Also remove a double call to get_plugins() which isn't needed. (From OE-Core rev: 6d9c76196ffad39e628aff76d53d6ecbb517cfa1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Update after plugin name changesRichard Purdie2025-06-1614-43/+43
| | | | | | | | Update the plugin names to account for the "-" to "_" plugin name change. (From OE-Core rev: afa1b5c9f6ed17c021e37a54d0d6abee50a60bf9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: plugins source bootimage/isoimage rename to allow be importedAnibal Limon2025-06-165-0/+0
| | | | | | | | | Python not support importing modules with - so change to _. (From OE-Core rev: 2de444fc3ef450f45f8f93403544e8f7461657b0) Signed-off-by: Anibal Limon <anibal@limonsoftware.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: pluginbase ensure layer order when load pluginsAnibal Limon2025-06-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To support extensions on wic plugins, the load order needs to be grauntee matching BBLAYERS variable. Fix cases when try to import a plugin from another layer, example of the case to fix, ``` Traceback (most recent call last): File "/workspaces/ls/linux/layers/openembedded-core/scripts/wic",line 547, in <module> sys.exit(main(sys.argv[1:])) ^^^^^^^^^^^^^^^^^^ ... File "/workspaces/ls/linux/layers/openembedded-core/scripts/lib/wic/ engine.py", line 137, in list_source_plugins plugins = PluginMgr.get_plugins('source') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/workspaces/ls/linux/layers/openembedded-core/scripts/lib/wic/ pluginbase.py", line 73, in get_plugins spec.loader.exec_module(module) File "<frozen importlib._bootstrap_external>", line 940, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "/workspaces/ls/linux/limonsoftware/bsp/scripts/lib/wic/plugins/ source/bootimg_rpi_autoboot_partition.py", line 1, in <module> from wic.plugins.source.bootimg_partition import BootimgPartitionPlugin ModuleNotFoundError: No module named 'wic.plugins.source.bootimg_partition' ``` (From OE-Core rev: 16c8251e5272510ad96613b8c6623550c5a72a34) Signed-off-by: Anibal Limon <anibal@limonsoftware.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: use oe.license_finderRoss Burton2025-06-163-262/+3
| | | | | | | | | Delete the now redundant code, and import oe.license_finder instead. (From OE-Core rev: 8bba98be5c87dd6749e5cc95e9553dffc23ada73) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: ide-sdk code remove twxs.cmakeAdrian Freihofer2025-06-161-1/+0
| | | | | | | | | | | | | | | Do no longer recommend the twxs.cmake VSCode plugin. There is now a language server built into the ms-vscode.cmake-tools plugin as well. >From Release notes 1.20.53 https://marketplace.visualstudio.com/items/ms-vscode.cmake-tools/changelog Add notification suggesting users to uninstall twxs.cmake now that we have built-in Language Services. Follow this advice. (From OE-Core rev: 83d3465a0536a2ffa9c2b6f042051881ec055f5a) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/install-buildtools: Update to 5.2.1Aleksandar Nikolic2025-06-161-2/+2
| | | | | | | | | Update to the 5.2.1 release of the 5.2.1 series for buildtools (From OE-Core rev: 55d7679864af7658aa470238a1f91c5fa8160f88) Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/scriptutils: silence warning about S not existing in emptysrcRoss Burton2025-06-051-1/+4
| | | | | | | | | | | | | This function creates an emptysrc recipe, but S points to a directory that doesn't exist and bitbake warns about this. As it is under the temporary working directory which will be deleted later, create it to silence the warning. (From OE-Core rev: 103cc8fa8a09b8e1fadeb0c8dde5f99eb9c24243) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool/create: show more of the license path when it can't be identifiedRoss Burton2025-06-051-1/+1
| | | | | | | | | | | | | | If there are multiple source trees in a project (incredibly common with go-mod, for example) then the relative path of the LICENSE file from the source tree could just be "LICENSE", which is not useful when there are tens of files across the recipe with that name. Show the parent directory name too, to clarify which file is unknown. (From OE-Core rev: 9679f4055ad5a077c6b06aa6125cee4e8fa93471) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic bootimg-efi.py: fail build if no binaries installedMikko Rapeli2025-06-021-0/+7
| | | | | | | | | | | | | With systemd-boot, some builds included correct EFI bootloader binaries and some not. Thus some builds booted and some not. Check that some boot binary was installed so that build fails if none were installed. (From OE-Core rev: 93fad905b9d5f5cee89408901e4be1630955ab75) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildstats-diff: find last two buildstats files if none are specifiedRoss Burton2025-05-191-2/+24
| | | | | | | | | | | If no buildstats directories are specified, then find the last two runs under BUILDDIR. (From OE-Core rev: 6ed0a13ae68a5e41a43ebd97d9ed154080a7101b) 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>
* bitbake.conf/pseudo: Switch from exclusion list to inclusion listRichard Purdie2025-05-121-4/+4
| | | | | | | | | | | | | | | | | Currently, pseudo tracks all files referenced within its presence unless they're listed in an exclusion list. The exclusion list has grown to be fairly unwieldy. This patch swaps PSEUDO_IGNORE_PATHS for PSEUDO_INCLUDE_PATHS which in theory should be easier and more explicit to maintain. This change does drop many directories from pseudo coverage including /home and /tmp. There may be adapatations needed for recipes/classes using pseudo in specific ways. (From OE-Core rev: 2502da81709f25de499277b28d33c915638c45f6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/install-buildtools: Update to 5.2Aleksandar Nikolic2025-05-121-2/+2
| | | | | | | | | Update to the 5.2 release of the 5.2 series for buildtools (From OE-Core rev: 4b81795023dd7c9786ad30b484b48d21ad09f811) Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* send-error-report: make output align with original design when debug disabledChangqing Li2025-05-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | First, it is better to output the error report web link by default when the report is uploaded successfully like before. This is useful, user can find the detail the log info from the return link. Yocto Autobuilder also benifit from this return link. Second, why don't set level to logging.INFO to make the error report web link outputed? Because "-j" option want to "Return the result in json format, silences all other output", So "INFO:" added by logging system is not wanted, so use print directly. Example output: Without "-j": Preparing to send errors to: http://x.x.x.x:8000 Your entry can be found here: http://x.x.x.x:8000/Errors/Build/25/ With "-j": {"build_id": 27, "build_url": "http://x.x.x.x:8000/Errors/Build/27/", "failures": [{"id": 26, "url": "http://x.x.x.x:8000/Errors/Details/26/"}], "num_similar_errors": 20, "similar_errors_url": "http://x.x.x.x:8000/Errors/SimilarTo/26/"} (From OE-Core rev: c45aca4592544d867f49055426e68dd338d4adcc) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/cve-json-to-text.py: fix missing -o optionAntonin Godard2025-04-291-0/+2
| | | | | | | | | | | Add the missing condition on '-o', which allows changing the output path. (From OE-Core rev: f9a176a8a36524a68a3ff98f157357303093382f) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/cve-json-to-text.py: remove unused optionsAntonin Godard2025-04-291-5/+2
| | | | | | | | | | | Remove --all and -a and they are unused in the file. Remove long options as they don't actually exist when using getopt. (From OE-Core rev: c2be1a9197b5e261051fe075edca000dc70ee2fe) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* efi-uki-bootdisk.wks.in: reduce ESP boot partition sizeMikko Rapeli2025-04-291-1/+1
| | | | | | | | | | | | | | | This sample ESP partition is used mostly for testing purposes. It's not expected to host multiple UKI binaries for example. Thus reduce size from 500 Mb to size of needed boot binaries 72 Mb plus around 20% free space 88Mb. This is enough for all test cases and fits to RAM when using PMEM memory based block device on real target boards with just a few Gb of RAM. (From OE-Core rev: 7a4b90ef3815aa227236ec9b95540233db8ac3b3) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>