summaryrefslogtreecommitdiffstats
path: root/meta/lib
Commit message (Collapse)AuthorAgeFilesLines
* oeqa/postactions: Fix archive retrieval from targetstyheadMathieu Dubois-Briand42 hours1-0/+1
| | | | | | | | | | | | | A previous patch broke archive retrieval because of an undeclared variable. Declare the archive_name variable as expected. (From OE-Core rev: 0d0f3541552b073f3536176e2caf847bec24548d) Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org> CC: Alexis Lothoré <alexis.lothore@bootlin.com> CC: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_qa: fix error handlingLouis Rannou5 days1-1/+1
| | | | | | | | | | | | | | | | Make ImageQAFailed inherit BBHandledException so exceptions raised in tests are catched when the actual test function is executed by bb.utils.better_exec. Change the do_image_qa tasks so errors are handled with oe.qa.handle_error. Add some comment to explain this requires to list the test in ERROR_QA or WARN_QA. [YOCTO #14807] https://bugzilla.yoctoproject.org/show_bug.cgi?id=14807 (From OE-Core rev: 905e224849fbbed1719e0add231b00e2d570b3b4) Signed-off-by: Louis Rannou <louis.rannou@non.se.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* spdx30_tasks.py: fix typo in call of is_file methodDaniil Batalov9 days1-1/+1
| | | | | | | | | Method is_file() was wrongly called as isfile() (From OE-Core rev: 356c52a45db139bf1fdfcf5b6e0903ece7d1dd46) Signed-off-by: Daniil Batalov <dbatalov@deltard.ru> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Rust Oe-Selftest Reduce the testcases in exclude listDeepesh Varatharajan10 days1-132/+0
| | | | | | | | | | | | | We had previously excluded certain test cases due to failures in earlier versions. However, with the latest version of Rust, many of these test cases are passing. As a result, we have removed them from the exclude list and added them back into the test suite for execution. The rust-1.79 has been successfully tested with the current test inclusions. (From OE-Core rev: e8dae0ee5ea958bb84af33d9b9a29ab357d96e31) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Only rewrite envvars paths that absolutely point to builddirYoann Congal10 days1-1/+4
| | | | | | | | | | | | | | | | | When building the new selftest builddir, paths in environment variables are rewritten to point to the new buildir, but users can have environment variables that point outside of the build dir using relative paths from builddir. We must not rewrite those. Check this by verifying that the absolute path still contains the builddir. Fixes [YOCTO #15241] (From OE-Core rev: c5e70500caffcd0518899cc6eba23a38bc3be108) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta-ide-support: Mark recipe as MACHINE-specificPaul Barker10 days1-2/+2
| | | | | | | | | | | | | | | | meta-ide-support:do_write_test_data dumps the bitbake data dictionary to a file using export2json(). As this obviously includes the value of MACHINE, and other MACHINE-specific variables, the recipe needs to be marked as MACHINE-specific. RP: Note that this patch does change the name of the environment script since it is no longer package arch specific but machine arch specific. [RP: Fix selftest to reference new environment file] (From OE-Core rev: 3be2bc8a9b0c9d6a178329c8b451a6bedf255d6c) Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* conf/defaultsetup.conf: Drop TCLIBCAPPENDRichard Purdie2024-09-051-15/+0
| | | | | | | | | | | | | | We've been able to run musl and glibc builds in the same TMPDIR for many years and a separate directory is not required. Most distros disable this value for that reason. Drop support for the variable to make it clear and easy for distros to be able to set multiconfigs which behave consistently for distros which do and don't clear it by dropping it entirely. (From OE-Core rev: ebcd355a32e2711263e22d9b45b502696ecbb4d2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/sbom30.py: Fix build parametersJoshua Watt2024-09-041-1/+1
| | | | | | | | | | The property to specify the build parameters is `build_parameters` not just `parameters` (From OE-Core rev: 61afc6322c9b8664de4f32b629c6e6ade775aeba) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/spdx30_tasks: Report all missing providersJoshua Watt2024-09-041-1/+8
| | | | | | | | | | | Instead of failing on the first missing provider, collect all of them and report them all as it is more convenient for end users trying to fix problems (From OE-Core rev: fc96244f424c8b4fbace39dc4af8a4e97f1a104e) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchtest: test_non_auh_upgrade: improve parse logic5.1_M3Trevor Gamblin2024-09-011-2/+2
| | | | | | | | | | | | | | | | The AUH email address used for matching was outdated. Fix it so that it correctly identifies emails using the new one. Also make sure to only scan the commit message and not the body, since it's possible (like in this patch) that the user may be editing actual code that checks for AUH-related strings. Fixes [YOCTO #15390]. (From OE-Core rev: 557400648b6f4f31176847f8a068d2e199b7793d) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchtest: test_shortlog_length: omit shortlog prefixesTrevor Gamblin2024-09-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | In certain cases, the shortlog for a patch would include branch and 'PATCH' tag information even after the repo tag got stripped out, padding it with data that wouldn't actually be included with a merge. This caused the patchtest test_shortlog_length test to erroneously report a failure. For example, a patch whose shortlog tags were: [OE-core][master/scarthgap][PATCH] would leave this behind in the shortlog, along with the actual content: [master/scarthgap][PATCH] Add a re.sub() call in the test to fix this by removing all square bracket pairs that appear at the beginning of the string. Fixes [YOCTO #15575]. (From OE-Core rev: 6e1ddadfe779291cf46fb88fb01769c022b733ac) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchtest: test_mbox: remove duplicate regex definitionTrevor Gamblin2024-09-011-1/+0
| | | | | | | | (From OE-Core rev: b350239ce1350ed61410431d30e938365d406db1) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testexport: support for executing tests over serialAndrew Oppelt2024-09-012-1/+326
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Uses TEST_SERIALCONTROL_CMD to open a serial connection to the target and execute commands. This is a drop in replacement for the ssh target, fully supporting the same API. Supported with testexport. To use, set the following in local.conf: - TEST_TARGET to "serial" - TEST_SERIALCONTROL_CMD to a shell command or script which connects to the serial console of the target and forwards that connection to standard input/output. - TEST_SERIALCONTROL_EXTRA_ARGS (optional) any parameters that must be passed to the serial control command. - TEST_SERIALCONTROL_PS1 (optional) A regex string representing an empty prompt on the target terminal. Example: "root@target:.*# ". This is used to find an empty shell after each command is run. This field is optional and will default to "root@{MACHINE}:.*# " if no other value is given. - TEST_SERIALCONTROL_CONNECT_TIMEOUT (optional) Specifies the timeout in seconds for the initial connection to the target. Defaults to 10 if no other value is given. The serial target does have some additional limitations over the ssh target. 1. Only supports one "run" command at a time. If two threads attempt to call "run", one will block until it finishes. This is a limitation of the serial link, since two connections cannot be opened at once. 2. For file transfer, the target needs a shell and the base32 program. The file transfer implementation was chosen to be as generic as possible, so it could support as many targets as possible. 3. Transferring files is significantly slower. On a 115200 baud serial connection, the fastest observed speed was 30kbps. This is due to overhead in the implementation due to decisions documented in #2 above. (From OE-Core rev: d817b27d73d29ba2beffa2e0a4e31a14dbe0f1bf) Signed-off-by: Andrew Oppelt <andrew.j.oppelt@boeing.com> Signed-off-by: Matthew Weber <matthew.l.weber3@boeing.com> Signed-off-by: Chuck Wolber <chuck.wolber@boeing.com> -- Tested with core-image-sato on real hardware. TEST_SERIALCONTROL_CMD was set to a bash script which connected with telnet to the target. Additionally tested with QEMU by setting TEST_SERIALCONTROL_CMD to "ssh -o StrictHostKeyChecking=no root@192.168.7.2". This imitates a serial connection to the QEMU instance. Steps: 1) Set the following in local.conf: - IMAGE_CLASSES += "testexport" - TEST_TARGET = "serial" - TEST_SERIALCONTROL_CMD="ssh -o StrictHostKeyChecking=no root@192.168.7.2" 2) Build an image - bitbake core-image-sato 3) Run the test export - bitbake -c testexport core-image-sato 4) Run the image in qemu - runqemu nographic core-image-sato 5) Navigate to the test export directory 6) Run the exported tests with target-type set to serial - ./oe-test runtime --test-data-file ./data/testdata.json --packages-manifest ./data/manifest --debug --target-type serial Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildcfg.py: add dirty status to get_metadata_git_describeJörg Sommer2024-09-011-1/+1
| | | | | | | | | | For postmortem analysis it's helpful to know if the build environment was clean or contained any modifications. (From OE-Core rev: edaaa2ad311663beabd2416037de00d82fca5fba) Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/bbclasses: Add tests for systemd and update-rc.d interactionPeter Kjellerstedt2024-09-011-0/+106
| | | | | | | | | | | These tests verify that the correct files are left behind when systemd is inherited and depending on whether the systemd and/or sysvinit distro features are enabled. (From OE-Core rev: 4ef25caa00ad08046567d0e7f4523486c3a256d0) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Oe-selftest changes for rust v1.79Yash Shinde2024-08-291-88/+82
| | | | | | | | | | | | | | | | | | | | | | | | * Sort the exclude list in alphabetical order. * Add some of the upsupported/failing tests to the exclude list and ignore the failing unit tests. * Remove duplicated tests from the exclude list. * Testing summary Target PASS SKIPPED ARM 17241 599 ARM64 17279 561 MIPS64 17228 612 PPC 17194 629 X86 17257 583 X86-64 17416 424 (From OE-Core rev: 61ec0f0f78d9db4c3fc02365713d5fd77b78a7ea) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/sstatetests: Extend to cover ERROR_QA/WARN_QA common issuesRichard Purdie2024-08-291-0/+2
| | | | | | | | | Now that adding new values to ERROR_QA doesn't invalidate tasks, add this check to the selftests so that this functionality doens't regress in future. (From OE-Core rev: 823b5f6cf64ad37ee68e6274c58823f7cc75ddf0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Drop oe.qa.add_message usageRichard Purdie2024-08-291-6/+0
| | | | | | | | | | | | | | | Drop the oe.qa.add_message() usage in favour of oe.qa.handle_error() which has code allowing it to be optimised with contains usage. The patch also drops unused return values which we stopped using a while ago and drops the now unneeded function parameters, generally leading to cleaner code. The code should be functionally equivalent. (From OE-Core rev: 9b2eea9fd4eab4f5e12e955738db22091b91f698) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe: Use new visitorcode functionality for qa.handle_error()Richard Purdie2024-08-292-2/+20
| | | | | | | | | | | | | | | | | | | | Early functions like do_recipe_qa (which do_fetch depends upon) reference oe.qa.handle_error() which in turn adds dependencies on ERROR_QA and WARN_QA. This means that ERROR_QA:append = " nothing" will cause literally everything to rebuild and break sstate reuse. Take advantage of new bitbake functionality to add a custom visitorcode function to handle_error which optimises the references into contains expressions which means the ERROR_QA and WARN_QA references are optmised to containing specific strings. This dramatically improves sstate reuse. The qa module has to be imported first since other code in later modules references it and bitbake can't handle the dependency ordering internally without a lot of unwanted complexity. (From OE-Core rev: a911ea9659503e9442a183f366e4545a5efe246e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* hicolor-icon-theme: upgrade 0.17 -> 0.18Alexander Kanavin2024-08-281-2/+2
| | | | | | | (From OE-Core rev: 7ca759f98a46d9fcf485edc3eeff4e9cf73a4669) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: use INIT_MANAGER to enable systemd instead of custom settingsAlexander Kanavin2024-08-282-10/+2
| | | | | | | | | | | | This is already done in most of selftest; these two were the last holdouts I could fine. Hopefully this improves sstate reuse as well. (From OE-Core rev: 98f2feeea8f54f899e831a13191578b94cde7670) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: always tweak ERROR_QA/WARN_QA per packageAlexander Kanavin2024-08-282-6/+6
| | | | | | | | | | Globally changing it completely destroys sstate reuse, as seen for example here: https://autobuilder.yoctoproject.org/typhoon/#/builders/127/builds/3763/steps/14/logs/stdio (From OE-Core rev: 9c75c11f4f6816cfc56eb85a43859a228a5d2950) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oe/sstatesig.py: do not error out if sstate files fail on os.stat()Alexander Kanavin2024-08-251-4/+16
| | | | | | | | | | | | | | | There's an ongoing issue with the autobuilder NFS: https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/6463/steps/14/logs/stdio The file entry exists, but os.stat returns a 'file not found; error. It's not clear how and why such entries appear, but they do produce printdiff test failures and should not be relevant in context of the printdiff. [RP: Move wrapping to get_time() function to cover all cases and add comment] (From OE-Core rev: b7e702752b6a2dfc8493639a8529cf1a16793f03) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: split guess_license functionEnguerrand de Ribaucourt2024-08-231-0/+1
| | | | | | | | | | | | | | | The npm recipetool handler redefines the license code the could be unified. In order to do this refactoring, extract the bits we'll need into separate functions. guess_license() is renamed to find_licenses() and is split into find_license_files() and match_licenses(). (From OE-Core rev: f1ec28feaea8ea6a2df894dd4ddba561c8a04ed2) Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kmod: upgrade 32 -> 33Alexander Kanavin2024-08-231-4/+4
| | | | | | | | | | | | | Disable manpages, as they require scdoc, which is not currently available in core (and adjust a related selftest). Drop 0001-Use-portable-implementation-for-basename-API.patch as upstream fixed the issue differently. (From OE-Core rev: f868b75ab22cd528d9add744042f13d475715ef4) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/ssh: increase the number of attemptsJon Mason2024-08-221-1/+1
| | | | | | | | | | | Under high load, the ssh test is hitting the amount of retries. Increase it to 20 to avoid this issue. This would increase the maximum failure time from 50 seconds (5 * 10) to 100 seconds. (From OE-Core rev: c796438eec5dd6b4671b798f85506bc89ff402ab) Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license_image.bbclass: Rename license-incompatible to license-exceptionPeter Kjellerstedt2024-08-211-1/+1
| | | | | | | | | | | | | | | | There is currently both an incompatible-license and a license-incompatible QA message. This is very confusing. However, license-incompatible is only used to output a message when a package is included in an image despite it having a license that is normally incompatible (by using the INCOMPATIBLE_LICENSE_EXCEPTIONS variable). To better match how it is used and to distinguish it from incompatible-license, rename it to license-exception. (From OE-Core rev: d309eed66f5a4a4bce082536e51207fe65725fab) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: add test_product_matchMarta Rybczynska2024-08-201-0/+48
| | | | | | | | | CVECheck.test_product_match tests has_cve_product_match() (From OE-Core rev: 30ee6edc57ff7629a72606d1005f92d43a5d14f9) Signed-off-by: Marta Rybczynska <marta.rybczynska@syslinbit.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve_check: Update selftest with new status detailSamantha Jalabert2024-08-201-1/+2
| | | | | | | | (From OE-Core rev: ea7681ffc15cac970c395daab56ba264ac406cd6) Signed-off-by: Samantha Jalabert <samantha.jalabert@syslinbit.com> Signed-off-by: Marta Rybczynska <marta.rybczynska@syslinbit.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: annotate CVEs during analysisMarta Rybczynska2024-08-201-6/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add status information for each CVE under analysis. Previously the information passed between different function of the cve-check class included only tables of patched, unpatched, ignored vulnerabilities and the general status of the recipe. The VEX work requires more information, and we need to pass them between different functions, so that it can be enriched as the analysis progresses. Instead of multiple tables, use a single one with annotations for each CVE encountered. For example, a patched CVE will have: {"abbrev-status": "Patched", "status": "version-not-in-range"} abbrev-status contains the general status (Patched, Unpatched, Ignored and Unknown that will be added in the VEX code) status contains more detailed information that can come from CVE_STATUS and the analysis. Additional fields of the annotation include for example the name of the patch file fixing a given CVE. We also use the annotation in CVE_STATUS to filter out entries that do not apply to the given recipe (From OE-Core rev: 452e605b55ad61c08f4af7089a5a9c576ca28f7d) Signed-off-by: Marta Rybczynska <marta.rybczynska@syslinbit.com> Signed-off-by: Samantha Jalabert <samantha.jalabert@syslinbit.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: encode affected product/vendor in CVE_STATUSMarta Rybczynska2024-08-202-14/+36
| | | | | | | | | | | | | | | | | | CVE_STATUS contains assesment of a given CVE, but until now it didn't have include the affected vendor/product. In the case of a global system include, that CVE_STATUS was visible in all recipes. This patch allows encoding of affected product/vendor to each CVE_STATUS assessment, also for groups. We can then filter them later and use only CVEs that correspond to the recipe. This is going to be used in meta/conf/distro/include/cve-extra-exclusions.inc and similar places. (From OE-Core rev: abca80a716e92fc18d3085aba1a15f4bac72379c) Signed-off-by: Marta Rybczynska <marta.rybczynska@syslinbit.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Oe-selftest changes for rust v1.78Yash Shinde2024-08-201-1/+33
| | | | | | | | | | Add some of the upsupported/failing tests to the exclude list and ignore the failing unit tests. (From OE-Core rev: 81bbd6db47f45628ff4be400e1f2fa5b09ccd0bb) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/postactions: do not uncompress retrieved archive on hostAlexis Lothoré2024-08-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | Current postaction module executes a remote tar command, pipe it in a SSH connection, and uncompress the raw stream with another tar command. With this command, the whole artifacts tree is directly available on the host executing the test, but it is not very convenient if we want to download the whole retrieved ptests directory. Stop uncompressing the retrieved ptests archive onto host, just save the archive as it is. The new output then looks like the following: tmp/log/oeqa-artefacts └── oeqa-target-artefacts-20240812-juzqdb80 ├── host_disk_usage.txt ├── target_disk_usage.txt └── tests_artifacts.tar.gz Suggested-By: Alexandre Belloni <alexandre.belloni@bootlin.com> (From OE-Core rev: f90894d996c8a8f980e46c87b7968b176793b3fe) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/postactions: fix exception handlingAlexis Lothoré2024-08-131-1/+1
| | | | | | | | | | | | | | | The current exception handler in list_and_fetch_failed_tests_artifacts expects a non-exisiting variable and then fail to display the original exception message since it raises a new one. The issue has been introduced with commit 6e80b2ab660e ("oeqa/utils/postactions: transfer whole archive over ssh instead of doing individual copies"). Now that tests artifacts are now handled individually, there's no point of trying to print individual names in the exception. (From OE-Core rev: a50e72bb64fb8b0d14c23164eaeeabd9c271ac19) Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/gcc: Fix host key verfication failureHarish Sadineni2024-08-131-1/+1
| | | | | | | | | | | | | | | | | | while runnig oe-selftest for gcc, testcases that need to be run on qemu are not running due to below failures. - Executing on ssh: mkdir -p /tmp/runtest.3549641 (timeout = 300) spawn [open ...] Host key verification failed. ERROR: Couldn't create remote directory /tmp/runtest.3549641 on ssh Host key verification failure is happening when ssh board config file name is defined as "ssh.exp" and there are multiple ssh.exp files generated during the build and a wrong ssh config was taken. To resolve this changed the board config file name to "linux-ssh.exp" which ensures correct ssh settings are used. (From OE-Core rev: d32ec0b4d242879ab8eaf96e1cb407e8f0bb9f3d) Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Upgrade 1.75.0->1.76.0Yash Shinde2024-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * Drop "--doc" option for rust oe-selftest since it is not supported on bootstrap builds for cross-targets. * Drop the following backported patches which are merged with rust v1.76 upgrade. - custom-target-cfg.patch - rustc-bootstrap.patch - rv32-missing-syscalls.patch - target-build-value.patch https://blog.rust-lang.org/2024/02/08/Rust-1.76.0.html * Drop 'rust-rustdoc' and 'rust-dbg' from 'exclude_packages' list to check for rust reproducibility. (From OE-Core rev: 71d17ed3c7be029fc68e9dd3f5d6c4aa72ef861a) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Oe-selftest fixes for rust v1.76Yash Shinde2024-08-091-0/+19
| | | | | | | | | | Add the failing tests in rust v1.76 to the exclude list and add "ignore" tags to ignore failing unit test cases. (From OE-Core rev: 75399802515ac423503e637281a4585dd00d7c75) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bblayers/machines: add bitbake-layers command to list machinesRoss Burton2024-08-091-0/+37
| | | | | | | | | | Add a command to bitbake-layers to list the machines available in the current configuration. (From OE-Core rev: 837d32dafc125d58bb11da990ac251bd5aad027e) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sdpx: Avoid loading of SPDX_LICENSE_DATA into global configRichard Purdie2024-08-073-13/+17
| | | | | | | | | | | | | Loading a load of json files into a memory structure and stashing in a bitbake variable is relatively anti-social making bitbake -e output hard to read for example as well as other potential performance issues. Defer loading of that data until it is actually needed/used in a funciton where it is now passed as a parameter. (From OE-Core rev: 6f21cc9598178288784ff451ab3c40b174c0ef3e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/parselogs: mips: skip sysctl warningBruce Ashfield2024-08-071-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream has shuffled the sysctl registration via the commit: commit d4ae80ffa64f87b9c355692b680b603add084e96 Author: Zhen Ni <nizhen@uniontech.com> Date: Tue Feb 15 19:46:03 2022 +0800 sched: Move cfs_bandwidth_slice sysctls to fair.c move cfs_bandwidth_slice sysctls to fair.c and use the new register_sysctl_init() to register the sysctl interface. Signed-off-by: Zhen Ni <nizhen@uniontech.com> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org> The way that we have to configure our mips qemu platforms results in an empty sysctl table registration and the following harmless warnings: "failed when register_sysctl_sz sched_fair_sysctls to kernel" "failed when register_sysctl_sz sched_core_sysctls to kernel" Adding them to our list of acceptable dmesg warnings. (From OE-Core rev: 4cf678858ef6f2c3310ad8f26cac3e7e133d4f0a) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/parselogs: update pci BAR ignore for kernel 6.10Bruce Ashfield2024-08-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The format of the pci BAR warnings we get on qemu boots has changed in 6.10+ via the following kernel commit: commit dc4e6f21c3f844ebc1c52b6920b8ec5dfc73f4e8 Author: Puranjay Mohan <puranjay@kernel.org> Date: Sat Nov 6 16:56:06 2021 +0530 PCI: Use resource names in PCI log messages Use the pci_resource_name() to get the name of the resource and use it while printing log messages. [bhelgaas: rename to match struct resource * names, also use names in other BAR messages] Link: https://lore.kernel.org/r/20211106112606.192563-3-puranjay12@gmail.com Signed-off-by: Puranjay Mohan <puranjay12@gmail.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Since it doesn't appear that we can do regex's in parselogs and the bar number is now in the middle of the message, we go with a slightly wider format of the message to ignore. (From OE-Core rev: 0a7126604b6536868600d43aff000a426384995c) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchtest/patch.py: remove cruftTrevor Gamblin2024-08-051-19/+0
| | | | | | | | | Remove some minor chunks of code in patch.py that serve no purpose. (From OE-Core rev: e2146fe0cb8b3c22d2df1cda5a36f458b7313280) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool/upgrade: rename RECIPE_UPDATE_EXTRA_TASKS -> RECIPE_UPGRADE_EXTRA_TASKSAlexander Kanavin2024-08-031-1/+1
| | | | | | | | | | 'UPDATE' as a name is somewhat unfortunate as the variable is intended only for the 'devtool upgrade' operation and devtool also has an 'update-recipe' operation. (From OE-Core rev: 4467aa0661e233f44c4ce029428c67d88fccfc07) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: add new retain class for retaining build resultsPaul Eggleton2024-08-031-0/+241
| | | | | | | | | | | | | | | | | | | | If you are running your builds inside an environment where you don't have access to the build tree (e.g. an autobuilder where you can only download final artifacts such as images), then debugging build failures can be difficult - you can't examine log files, the source tree or output files. When enabled, by default this class will retain the work directory for any recipe that has a task failure in the form of a tarball, and can also be configured to save other directories on failure or always. It puts these tarballs in a configurable location (${TMPDIR}/retained by default), where they can be picked up by a separate process and made available as downloadable artifacts. (From OE-Core rev: e2030c0d747eb990b9ad10098c6b74d6f8f4e74e) Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: rustdoc reproducibility issue fixSundeep KOKKONDA2024-07-301-2/+0
| | | | | | | | | | | | | | The 'codegen-units' option split the crate into multiple compilation units for parallel compilation. Currently, this split is causing the rustdoc to generate differnt binary between the builds. To fix this the codegen-units & the lto options are disabled. More info about options: https://doc.rust-lang.org/cargo/reference/profiles.html#codegen-units https://doc.rust-lang.org/rustc/codegen-options/index.html#lto (From OE-Core rev: 0c00875de10b171f4ff2990af351a8124ec7e972) Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa sdk cases: Skip SDK test cases when TCLIBC is newlibMark Hatle2024-07-266-0/+28
| | | | | | | | | | | Newlib generally requires additional components to function. Skip the cases where newlib is known to not work. (From OE-Core rev: b9934755554e40d9980b90c3d541f4c702203561) Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* create-spdx-*: Support multilibs via SPDX_MULTILIB_SSTATE_ARCHSMark Hatle2024-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When a create-spdx-* classes is processing documents, it needs to find the document in a path that is related to the SSTATE_ARCH when a packge is generated. The SSTATE_ARCH can be affected by multilib configurations, resulting is something like armv8a-mlib. When the image (or SDK) is being generated and the components are collected, the system has no knowledge of the multilib arch and will fail to find it, such as: ERROR: meta-toolchain-1.0-r0 do_populate_sdk: No SPDX file found for package libilp32-libgcc-dbg, False sstate:libilp32-libgcc:armv8a-ilp32-mllibilp32-elf:14.1.0:r0:armv8a-ilp32:12: sstate:libilp32-libgcc::14.1.0:r0::12: Adding in the new SPDX_MULTILIB_SSTATE_ARCHS will provide a full set of SSTATE_ARCHS including ones that contain the multilib extension which will allow create-spdx-* to correctly find the document it is looking for. This would also be valuable to any other function doing a similar search through SSTATE_ARCH that may have been extended with multilib configurations. (From OE-Core rev: f1499c36c1054fc90f7b7268cc95285f2eca72f7) Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* spdx30_tasks.py: switch from exists to isfile checking debugsrcMark Hatle2024-07-261-1/+2
| | | | | | | | | | | | | Same change as previously made to the create-spdx-2.2.bbclass, while debugsrc is almost always a file (or link), there are apparently cases where a directory could be returned from the dwarfsrcfiles processing. When this happens, the hashing fails and an error results when building the SPDX documents. (From OE-Core rev: 5262f9bbf86c4e529ff988d465ddad2d1db0b073) Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* tclibc-picolibc: Adds a new TCLIBC variant to build with picolibc as C libraryAlejandro Hernandez Samaniego2024-07-262-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enables usage of TCLIBC=picolibc extending OE functionality to build and use picolibc based toolchains to build baremetal applications. Picolibc is a set of standard C libraries, both libc and libm, designed for smaller embedded systems with limited ROM and RAM. Picolibc includes code from Newlib and AVR Libc, but adresses some of newlibs concerns, it retains newlibs directory structure, math, string and locale implementations, but removed the GPL bits used to build the library, swiches old C style code for C18 and replaces autotools with meson. This patch adds a picolibc recipe for the C library, a picolibc-helloworld recipe that contains an example application and a testcase that builds it. Picolibc can be built for ARM and RISCV architectures, its been tested both for 32 and 64 bits, the provided example recipe produces the following output: hello, world Runqemu does not automatically show any output since it hides QEMU stderr which is where the QEMU monitors output is directed to when using semihosting, but, manually running the same QEMU command does work properly. (From OE-Core rev: c7535ecaccb72ef21a61f9aec5c68e61fb4f6fb6) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs: Ensure run-postinsts is not uninstalled for ↵Gassner, Tobias.ext2024-07-232-1/+44
| | | | | | | | | | | | | | | | | | read-only-rootfs-delayed-postinsts This patch ensures that pkg_postinst_ontarget task is executed for read only rootfs when read-only-rootfs-delayed-postinsts is set as IMAGE_FEATURES. The issue was that run-postinsts could be uninstalled at the end of rootfs construction and that shouldn't happen for the delayed usecase. In addition to the fix, a test in meta/lib/oeqa/selftest/cases/overlayfs.py testing the fix has been implemented. (From OE-Core rev: 60f587475dda99eaa07848880058b69286b8900e) Signed-off-by: Gassner, Tobias.ext <tobias.gassner.ext@karlstorz.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>