summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* ovmf-native: remove .pyc files from installMikko Rapeli2024-10-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They break builds which share sstate files on different machines and paths: ERROR: ovmf-edk2-stable202408-r0 do_prepare_recipe_sysroot: Error executing a python function in exec_func_python() autogenerated: The stack trace of python calls that resulted in this exception/failure was: File: 'exec_func_python() autogenerated', lineno: 2, function: <module> 0001: *** 0002:extend_recipe_sysroot(d) 0003: File: '/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/meta/classes-global/staging.bbclass', lineno: 624, function: extend_recipe_sysroot 0620: 0621: # Handle deferred binfiles 0622: for l in binfiles: 0623: (targetdir, dest) = binfiles[l] *** 0624: staging_copyfile(l, targetdir, dest, postinsts, seendirs) 0625: 0626: bb.note("Installed into sysroot: %s" % str(msg_adding)) 0627: bb.note("Skipping as already exists in sysroot: %s" % str(msg_exists)) 0628: File: '/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/meta/classes-global/staging.bbclass', lineno: 165, function: staging_copyfile 0161: os.symlink(linkto, dest) 0162: #bb.warn(c) 0163: else: 0164: try: *** 0165: os.link(c, dest) 0166: except OSError as err: 0167: if err.errno == errno.EXDEV: 0168: bb.utils.copyfile(c, dest) 0169: else: Exception: FileExistsError: [Errno 17] File exists: '/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/build-st-667282/tmp/sysroots-components/x86_64/ovmf-native/usr/bin/edk2_basetools/BaseTools/Source/Python/AutoGen/__pycache__/WorkspaceAutoGen.cpython-312.pyc' -> '/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/build-st-667282/tmp/work/core2-64-poky-linux/ovmf/edk2-stable202408/recipe-sysroot-native/usr/bin/edk2_basetools/BaseTools/Source/Python/AutoGen/__pycache__/WorkspaceAutoGen.cpython-312.pyc' (From OE-Core rev: facd9e17fa53e2fb3a828b3f179cfb659be75d37) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Don't used cachedpath for os.lstat()Richard Purdie2024-10-142-3/+6
| | | | | | | | | | | The functions behave slightly differently to the functions they're caching and the use in insane.bbclass isn't compatible. For now, to avoid build failures, switch back to the stat calls. We may be able to improve cachedpath or change the call sites. (From OE-Core rev: fa771ae887ab5152f043748cf3419735831bcf7b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/ssh: Fix incorrect timeout fixRichard Purdie2024-10-141-2/+2
| | | | | | | | | I'd meant to change the command timeout in the previous change, fix the correct one. (From OE-Core rev: bb991988cb23be2c8947171726ada321f27e6eed) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Clean up serial_lock handlingRichard Purdie2024-10-141-5/+6
| | | | | | | | | | Avoid "RuntimeError: release unlocked lock" since the lock shouldn't be locked even in the error path. Add a try/finally path to ensure this. (From OE-Core rev: b0732ee009ca47580d1d2ad75334f4aa50e6efd5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* release-notes-5.1: update release note for styheadAntonin Godard2024-10-112-41/+718
| | | | | | | | | | | | | Finalize the release note for the 5.1 release (styhead). Add enhancements, changes, removals, license changes, and migration notes for this release by going over the git commit log of openembedded-core, bitbake and meta-yocto. (From yocto-docs rev: 65618b0588053d2c4325d995482957b660f5e104) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* release-notes-5.1: update for several sectionLee Chee Yang2024-10-111-4/+312
| | | | | | | | | | | | | | | | | | | | | | | update for these changes: - license - recipe enable for ptests - new class, recipe and variable. - PACKAGECONFIG - some utility script, class and include file. - bitbake. - qemu/runqemu. - Contributors. removed wic as no significant change or improvement. Antonin Godard: amend and fix some typos. (From yocto-docs rev: afbcc16cd5244d8bb6bb79796aa064156f99e3d3) Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: add mission pep517-backend sanity checkAntonin Godard2024-10-111-0/+3
| | | | | | | | | New sanity check to check for PEP517-backend compliance. (From yocto-docs rev: 24e5bbeefe989e22ecdf5e86f48432e437330cc2) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: merge patch-status-* to patch-statusAntonin Godard2024-10-111-6/+2
| | | | | | | | | These are not distinct anymore and check for any patches in any layer. (From yocto-docs rev: 300c585909743754e0e6662d48d43834c031b835) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: add missing variable PRSERV_UPSTREAMAntonin Godard2024-10-111-0/+5
| | | | | | | (From yocto-docs rev: 94a590aad8d503c5d5528bff4d8ec07746ca9805) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: add missing OPKGBUILDCMD variableAntonin Godard2024-10-111-0/+7
| | | | | | | (From yocto-docs rev: a6a2c8e48995200c9c3be7096f34d912427de145) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: drop TCLIBCAPPEND variableAntonin Godard2024-10-111-13/+0
| | | | | | | | | | No longer required as TMPDIR can be shared for multiple lib providers nowadays. (From yocto-docs rev: 6690c0aee9e7f0dcc63ccbe19657b78963240610) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: add missing EXTERNAL_KERNEL_DEVICETREE variableAntonin Godard2024-10-111-0/+7
| | | | | | | | | | | This variable can be used to specify one or more compiled device tree or device tree overlays to use in addition to the one compiled by the kernel. (From yocto-docs rev: 6566ffceab3780dc5ecbfe26f786ebe6ff17e693) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: add missing image manifest variablesAntonin Godard2024-10-111-0/+29
| | | | | | | | | New variables that control the output of the image task manifests. (From yocto-docs rev: e46af38733ae581c4aa180efc226d8a34ea4e590) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: add missing TESTIMAGE_FAILED_QA_ARTIFACTSAntonin Godard2024-10-111-0/+5
| | | | | | | | | | This variable lists space-separated paths on the target to retrieve onto the host, when inheriting testimage. (From yocto-docs rev: 2537642d2cdf844dc5f6027fb3097aac52162c1f) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: drop siteconfig classAntonin Godard2024-10-111-9/+0
| | | | | | | | | | Removed as it was only used by ncurses and zlib and adding minimal added-value for a considerable amount of added runtime. (From yocto-docs rev: c35688a0f4cb115c63387cc15fd15ec57cb386fb) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: add new RECIPE_UPGRADE_EXTRA_TASKS variableAntonin Godard2024-10-111-0/+5
| | | | | | | (From yocto-docs rev: c80bc42afa40fd9eb5acaba24da3ad3b5915a254) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: add missing nospdx classAntonin Godard2024-10-111-0/+8
| | | | | | | (From yocto-docs rev: ec41a5bf1a49e5d83bb93a3438ba1cd01f613088) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: add new retain class and variablesAntonin Godard2024-10-112-0/+52
| | | | | | | | | | Document the new `retain` class with its configuration variables in the variable index. (From yocto-docs rev: b62f1be5dada0fb760ff7e0806b16225f7261560) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: add new vex classAntonin Godard2024-10-111-0/+25
| | | | | | | | | | Add a brief description on the new vex.bbclass that is used to generate metadata needed by external tools to check for vulnerabilities. (From yocto-docs rev: 32cf3414f5ed127f59119e38639bc8dbd57b7891) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ref-manual: add missing CVE_CHECK manifest variablesAntonin Godard2024-10-111-0/+12
| | | | | | | | | | Variables that can be used for toggling creation of manifest and specifying the path to the output in the deploy directory. (From yocto-docs rev: 14131a42a7ea8bbae2165c1b8dbcabd5f28b2b22) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* resulttool/regression.py: skip checking status for ↵Changqing Li2024-10-111-0/+2
| | | | | | | | | | | | | | | | ptestresult.rawlogs/ptestresult.sections ptestresult.rawlogs/ptestresult.sections don't have status is expected, so skip them to avoid following error when running "resulttool regression base target": ERROR: Failed to retrieved base test case status: ptestresult.rawlogs ERROR: Failed to retrieved base test case status: ptestresult.sections (From OE-Core rev: c83a535d1b32f7fd292cd9caea1ec962bc3c735b) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* resulttool/regression.py: fix AttributeErrorChangqing Li2024-10-111-0/+1
| | | | | | | | | | | | Fix following AttributeError when running "resulttool regression base target": File "/yocto/poky/scripts/lib/resulttool/regression.py", line 322, in regression_common res, resstr = compare_result(logger, c, b, base_results[a][c], target_results[a][b], args.limit) AttributeError: 'Namespace' object has no attribute 'limit' (From OE-Core rev: d773edde8db2019550916d2552171c45fe31ac2a) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic/rootfs.py: allow --exclude-path option to exclude symlinksYi Zhao2024-10-111-1/+1
| | | | | | | | | | | | | | | Currently, if we specify a symbolic link in --exclude-path option, we will get the following error in do_image_wic: ERROR: --exclude-path: Must point inside the rootfs: usr/bin/hello.link This is because it uses os.path.realpath to eliminate symbolic links. To exclude symbolic links, use os.path.abspath instead of os.path.realpath. (From OE-Core rev: 42e829ac1e9d74646b6dfb327b18b15f6b0df60b) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/cases: add basic barebox testsEnrico Jorns2024-10-111-0/+44
| | | | | | | | | | | | | | | | | | | This adds basic tests for qemuarm and qemuarm64. So far, barebox fails to run properly under KVM for the same reasons u-boot fails to run. A patch series to address the problem was submitted by Ahmad Fatoum after debugging the oe-selftest failures for this series: https://lore.kernel.org/barebox/20241009060511.4121157-1-a.fatoum@pengutronix.de/ For now, simply disable KVM for these tests. (From OE-Core rev: 9284ceb4d32a51c77792d9009bba400d0b17d731) Signed-off-by: Enrico Jorns <ejo@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/cases: add basic u-boot testEnrico Jorns2024-10-111-0/+43
| | | | | | | | | | | | | | | | | | This adds basic tests for qemuarm and qemuarm64. So far, U-Boot fails to run properly under KVM since this requires some special care with instructions used for MMIO accesses. Reported upstream by Ahmad Fatoum after debugging the oe-selftest failures for this series: https://lore.kernel.org/u-boot/2211f9f0-cd7d-4b55-860d-a34c04877e7b@pengutronix.de/ For now, simply disable KVM for these tests. (From OE-Core rev: cadbd937e6358f9811f3ba7cf20cc50f8edcd844) Signed-off-by: Enrico Jorns <ejo@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: support passing custom boot patterns to runqemuEnrico Jorns2024-10-113-5/+7
| | | | | | | | | | | | | This allows defining non-standard patterns from QEMU tests just as they are already supported by the testimage.bbclass. Will allow testing non-Linux shells in QEMU, too (e.g. a U-Boot shell or another bootloader shell). (From OE-Core rev: f9e6c3deee5a4159a09396b625a7327f6c204df5) Signed-off-by: Enrico Jorns <ejo@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/qemurunner: support ignoring vt100 escape sequencesEnrico Jorns2024-10-111-1/+3
| | | | | | | | | | | | | | | | | | | | If we talk to terminals that like colors, we need to ignore the vt100 escape sequences when matching strings. An unprocessed barebox console prompt would e.g. look like: ESC[1;32mbarebox@ESC[1;36mARM QEMU virt64:/ESC[0m where we cannot match for something like "barebox@ARM QEMU virt64:/". The same applies to colored Linux terminal output of course. The "\x1b\[" from the regex catches the standard start of ANSI escape sequence while the rest catches the actual command code executed. (From OE-Core rev: 33bbe4cb040f890121681865fbcf28bc8213a170) Signed-off-by: Enrico Jorns <ejo@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* barebox: set default BAREBOX_CONFIG for qemu machinesEnrico Jorns2024-10-114-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | These are set in the barebox class rather in the corresponding machines (where they would belong otherwise) to keep the impact of barebox to oe-core minimal for now. "multi_v7_defconfig" is used for qemuarm since this is the default barebox armv7 config that just enables all supported platforms. "multi_v8_defconfig" is used for qemuarm64 sine this is the default barebox armv8 config that just enables all supported platforms. "efi_defconfig" is used for qemux86-64 which is the primary platform where barebox will not be the first stage bootloader but an EFI payload. Since these changes make barebox a provider for virtual/bootloader, explicitly default to u-boot in the corresponding MACHINE configs to not unnecessarily surprise users. (From OE-Core rev: 93da14f8f85202bad3dec9d979d01f4e8f9708d6) Signed-off-by: Enrico Jorns <ejo@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* barebox-tools: add initial barebox tools supportMarco Felsch2024-10-112-0/+60
| | | | | | | | | | | | | | | | Add initial support to build the barebox tools for the host and the target. Some of the tools are generic barebox utilities (like 'bareboximd' for image meta data inspection or 'bareboxenv' for accessing the barebox environment) some are SoC family-specific specific utilities (like 'imx-usb-loader' or 'omap3-usb-loader'). (From OE-Core rev: cb3de34a28cde3f9ebd52ba842da9f91c6f0fa66) Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Signed-off-by: Enrico Jorns <ejo@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* barebox: add initial supportMarco Felsch2024-10-114-1/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the support for the barebox bootloader to oe-core. The recipe is inspired by meta-ptx [1] but is a major rework of the one found there. Barebox comes with a wide range of supported architectures and follows the concepts of Linux in various aspects like the driver model, the shell, or the virtual file system. This not only eases porting Linux drivers but also makes barebox a developer-friendly and feature-rich bootloader alternative [2]. For barebox (like for the kernel or other bootloaders) it is quite likely that people will not just build the original recipe but need to adapt it, point to custom repositories, apply patch stacks, COMPATIBLE_MACHINE etc. They may also choose to have different recipe names for different variants. Having only a single .bb file and requiring to copy or .bbappend it is inconvenient and results in unnecessary code duplication. Therefore, the base support for building barebox is encapsulated in barebox.bbclass (like kernel.bbclass for the kernel). Adds barebox to maintainers.inc but excludes it from the maintainers check since with the current check mechanism barebox would be skipped (and making the check fail) due to not being the PREFERRED_PROVIDER for virtual/bootloader. [1] https://github.com/pengutronix/meta-ptx/tree/master/recipes-bsp/barebox [2] https://www.barebox.org/demo/?graphic=0 (From OE-Core rev: 5c69f5626278a6e9756188a5771b18075380f52d) Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Signed-off-by: Enrico Jorns <ejo@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: utils: Improve multiple lock handlingRichard Purdie2024-10-111-0/+1
| | | | | | | | | | We should release locks in the opposite order to the order we locked them in to avoid potentially problematic behaviour. This hasn't been observed with our current usage and is just a preventative improvement. (Bitbake rev: 4fbef87adaca2df8c1e877aec5588c2e5466f252) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-prserver: use PRSERV_UPSTREAM as default settingMichael Opdenacker2024-10-111-1/+1
| | | | | | | | | | | | Instead of PRSERVER_UPSTREAM. The intended variable name is PRSERV_UPSTREAM, as already used in lib/prserv/serv.py, an consistently with the PRSERV_HOST variable name. (Bitbake rev: b0c277f16f9fae51914024c1daecd5d3e4fac5c2) Signed-off-by: Michael Opdenacker <michael.opdenacker@rootcommit.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-server: use with to avoid ResourceWarningChris Laplante2024-10-111-3/+3
| | | | | | | | | | | | | Prevents the following warning in bitbake-cookerdaemon.log: 2386729 10:54:16.195427 Exiting (socket: True) 2386729 10:54:16.201065 Exiting as we could obtain the lock sys:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/laplante/main_yocto/build/bitbake-cookerdaemon.log' mode='a+' encoding='UTF-8'> (Bitbake rev: 8dbf1ec8139d9dd7f52c1773cccbe7696b3ec1b4) Signed-off-by: Chris Laplante <chris.laplante@agilent.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package-manager: skip processing installed-pkgs with empty globsClaus Stovgaard2024-10-111-39/+37
| | | | | | | | | | | | | | | | We can skip processing the installed-pkgs file if globs is empty. This is the case if self.d.getVar for IMAGE_INSTALL_COMPLEMENTARY returns an empty string. If globs is an empty string the result from processing with empty glob in oe-pkgdata-util will always be 0 packages to install. Instead of return early on this we just skip and still generate the locale archive if needed. (From OE-Core rev: 160c45c83d5addf01e4834cf896af871bd6fca7f) Signed-off-by: Claus Stovgaard <claus.stovgaard@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libarchive: Update SRC_URI to use httpsJermain Horsman2024-10-111-1/+1
| | | | | | | (From OE-Core rev: 1311e94e3983bc1d5ad0d08a6f30081a2c3bef63) Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_rpm: Check if file exists before open()Pavel Zhukov2024-10-111-4/+12
| | | | | | | | | | | | | | | | Exception handler tries to read() /etc/passwd file in sysroot and if file doesn't exist for any reason then it raises FileNotFoundError exception which mask the original source of the problem and makes debugging of the issue more difficult. Fixes: Exception: FileNotFoundError: [Errno 2] No such file or directory: '/codebuild/output/src1899304708/src/build/tmp-container/work/core2-64-oe-linux/emqx-bin/4.3.12/recipe-sysroot/etc/passwd' (From OE-Core rev: 4ad9a0e0b11eb7bc5a3dd45fc8945e094ea949e9) Signed-off-by: Pavel Zhukov <pavel@zhukoff.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: rewrite package_qa_check_archRoss Burton2024-10-111-16/+25
| | | | | | | | | | Reorder and comment the architecture checks to make it clearer what they are actually checking. (From OE-Core rev: 78db9e79e1a307ffb8436e26656bfb98efb513bc) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: use oe.cachedpath.CachedPath instead of os.pathRoss Burton2024-10-111-14/+28
| | | | | | | | | | | | | | | | | | | The insane QAPATHTESTs make many os.stat() calls, the majority of which are redundant with caching as the initial sweep does a stat() on every entry to determine if it is a file or a directory, and from then on each test that does further stat()s is redundant as the tree doesn't change. Switch os.stat() and friends (os.path.isfile(), etc) to use a common oe.cachedpath.CachedPath() instance that is shared between all of the functions, meaning only one stat is done. In my test case of ltp:do_package_qa, this reduces the time taken from 44s to 37s. (From OE-Core rev: cad3c889439fd6a007debd6f2f6578f4a1e16c9c) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: optimise test in package_qa_check_shebang_sizeRoss Burton2024-10-111-2/+1
| | | | | | | | | | Check whether the elf is not None first, before doing os.stat() calls on disk. Also don't check anything that isn't a file, not just FIFOs. (From OE-Core rev: 38454a2675f38c7db55efcb67bbb8b9fef7e0bf1) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: micro-optimise the sweep of pkgfilesRoss Burton2024-10-111-16/+11
| | | | | | | | | | | | | | Don't actively do more work: - Exit early if there are no packages being generated - Don't iterate repeatedly when removing CONTROL and DEBIAN - Extend a list with another list instead of appending item by item - Remove unused variables (From OE-Core rev: 79ffb8896d570dd935d3aea9d28ee20b52e1674a) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: tidy up objdump preloading in package_qa_walk()Ross Burton2024-10-111-10/+11
| | | | | | | | | | | | | | Move the prepopulate function out of global scope, and access the dictionary once instead of repeatedly. This still results in each ELF being opened twice, but this avoids opening all of the files at once and the ELFFile.open() call is fairly fast. (From OE-Core rev: cda3647b32703f43c4fe2af3bab977e5698633f6) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: check for RUNPATH as well as RPATHRoss Burton2024-10-111-4/+4
| | | | | | | | | | | | | | Since oe-core 66f8a7 merged in 2023[1], ld sets DT_RUNPATH instead of DT_RPATH when -rpath is specified, which we don't check for. Update the insane tests to look at both RPATH and RUNPATH. [1] oe-core 66f8a745668a067d8d763fa2af3e65f26c9c1ebe (From OE-Core rev: d6c5076d179a3d5ebb74b719ec4d523c197c1918) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: only parse ELFs if they're files, not symlinksRoss Burton2024-10-111-19/+2
| | | | | | | | | | | This reduces the number of files that need to be swept by not scanning eg the library symlinks, and means we can remove the explicit islink() checks in many of the tests. (From OE-Core rev: aa9ec4b5c719bf610ad953095d1111e4c257747e) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe/elf: don't regenerate machine data on every callRoss Burton2024-10-111-131/+133
| | | | | | | | | | | | | | | | Every time oe.elf.machine_dict() is called a large dictionary is created and returned. However, the "arch" package_qa test will call this method for every binary in a package, which results in a lot of dictionary creation. Concrete exmaple: in running ltp:do_package_qa, the arch test takes 25% of the runtime, and opitimising the machine_dict() call to cache the generated dictionary reduces the runtime from 57s to 44s. (From OE-Core rev: dca4455aa4f870bad900a0214c4e95e09a055295) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cml1.bbclass: do_diffconfig: Don't override .config with .config.origRobert Yang2024-10-111-2/+1
| | | | | | | | | | | | | | | | | | | | | Fixed: 1) $ bitbake virtual/kernel -cmenuconfig Do some changes and save the new config to default .config. 2) $ bitbake virtual/kernel -cdiffconfig The config fragment is dumped into ${WORKDIR}/fragment.cfg. But the .config which was saved by step #1 is overridden by .config.orig, so the changes will be lost if run 'bitbake virtual/kernel' And the following comment is for subprocess.call(), not for shutil.copy(), so move subprocess.call() to the correct location. # No need to check the exit code as we know it's going to be # non-zero, but that's what we expect. (From OE-Core rev: 6cccf6b02f92dad514e65fd779ff659b19eb6be7) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libjpeg-turbo: remove redundant RUNPATH entriesRoss Burton2024-10-111-0/+5
| | | | | | | | | | | | | | Our RPATH sanity checks currently don't check RUNPATH (patch incoming), but the libjpeg objects are built with a RUNPATH set to ${libdir}. RUNPATH is less of a problem than RPATH (because it is used after the standard search), but redundant entries are still redundant so lets remove them anyway. (From OE-Core rev: 9e95951b36c03016b28787a58e5baf089c864673) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ffmpeg: no need for textrel INSANE_SKIPRoss Burton2024-10-111-10/+0
| | | | | | | | | | It appears in testing that modern ffmpeg no longer needs to disable PIC, so there's no need to ignore textrel warnings. (From OE-Core rev: 98d577fef75d54a59eeacaabb4a45e44b2f6832e) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ffmpeg: nasm is x86 only, so only DEPEND if x86Ross Burton2024-10-111-1/+2
| | | | | | | | | No need to depend on nasm if we're not going to use it. (From OE-Core rev: b99ea7f130c3f945af9a09a6ecf85b6ff8f4b710) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/ssh: Rework ssh timeoutRichard Purdie2024-10-111-2/+2
| | | | | | | | | | | | | | | | After the changes to improve this test, we keep seeing image testing ssh failures, particularly on mips. It looks like part of the problem is that on a loaded system, 5s is too short for mips to reliably establish an ssh connection. I've seen logs where it keeps timing out and fails to work, then the debug code successfully uses ssh later after everything else fails. Change the timings/retries to give slow platforms enough time to respond. (From OE-Core rev: ba64ccf3ad6e40461219b72d60eb0fe5cb38fddd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* volatile-binds: mount-copybind: fix typoUlrich Ölmann2024-10-111-1/+1
| | | | | | | | | Amend a small typing error. (From OE-Core rev: 6d3c24cfc269fbcd49acd8be220395500fc7120c) Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>