summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2022-12-19python3-interpretter: add refernce for future selfross/mut-old-2Ross Burton
2022-12-09dbus: Add missing CVE product nameMathieu Dubois-Briand
Signed-off-by: Mathieu Dubois-Briand <mbriand@witekio.com>
2022-12-09rust: Do not use default compiler flags defined in CC crateAnton Antonov
Rust crates build dependecy C libraries using "CC" crate. This crate adds some default compiler parameters depending on target arch. For some target archs these parameters conflict with the parameters defined by OE. Warnings/errors like this can be seen in the case: cc1: error: switch '-mcpu=cortex-a15' conflicts with switch '-march=armv7-a+fp' [-Werror] Lets use only the OE parameters by exporting CRATE_CC_NO_DEFAULTS. https://github.com/rust-lang/cc-rs#external-configuration-via-environment-variables This patch fixes https://bugzilla.yoctoproject.org/show_bug.cgi?id=14947 Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
2022-12-09Enable nativesdk for gperf, gi-docgen, unifdef, ruby and 3 python recipesCarlos Alberto Lopez Perez
I'm building a SDK (bitbake task: populate_sdk) for WPE/WebKit development and I need the tools below to be extended with the class nativesdk. They work fine on the SDK after this change. Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
2022-12-09mesa: update 22.2.3 -> 22.3.0Markus Volk
- remove deprecated xvmc PACKAGECONFIG - remove futex.h patch. Code has been reworked, still needed? Note: mesa-22.3.0 will require libperfetto update to v28. Otherwise compilation will fail. Signed-off-by: Markus Volk <f_l_k@t-online.de>
2022-12-09libpciaccess: Do not use 64bit functions for largefile supportKhem Raj
Using -D_FILE_OFFSET_BITS=64 already makes the normal function behave like 64bit variants. Moreover it makes them portable across libc Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-12-09e2fsprogs: Do not use 64bit functions for largefile supportKhem Raj
Using -D_FILE_OFFSET_BITS=64 already makes the normal function behave like 64bit variants. Moreover it makes them portable across libc Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-12-09btrfs-tools: Do not use 64bit functions for largefile supportKhem Raj
Using -D_FILE_OFFSET_BITS=64 already makes the normal function behave like 64bit variants. Moreover it makes them portable across libc Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-12-09acl: Enable largefile support by defaultKhem Raj
This ensures right flags are passed so enable it. Musl and decoupled these APIs from _GNU_SOURCE and now are only available when _LARGEFILE64_SOURCE macro is enabled Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-12-09mdadm: Use _FILE_OFFSET_BITS to use largefile supportKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-12-09rng-tools: backport patch to adjust jitterentropy library to timeout/fail on ↵Xiangyu Chen
long delay Backport patch from upstream[1] to adjust jitter to timeout on init after 5 seconds in the event it takes to long to gether jitter entropy.This also fix rng-tools take full cpu usage with whole cores on ARM platforms. [1] https://github.com/nhorman/rng-tools/pull/171/commits/c29424f10a0dcbd18ac25607fa1c81c18a960e81 Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
2022-12-09ptest-packagelists.inc: correctly assign fast and slow testsAlexander Kanavin
The execution times were checked from https://autobuilder.yocto.io/pub/non-release/20221127-2/testresults/qemux86-64-ptest/core-image-ptest-all/log.do_testimage.40537.20221127010849 and ptests were moved both ways according to the same criteria: more than 30 seconds or less. openssl is dropped from fast tests, as it is also listed in slow tests (which is correct). With the rearrangement fast ptests altogether take about 420 seconds on qemux86_64 with kvm. m4 ptest was missing a depedency. Signed-off-by: Alexander Kanavin <alex@linutronix.de>
2022-12-09qemurunner.py: Support fallback to older QEMU qmp libraryMark Hatle
Some vendor versions of QEMU may be on older versions that do not have qmp.legacy, but instead of qmp. Default to the integrated library versions, fall back to the older one and then if neither is available catch the exception and provide a more human readable error. Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
2022-12-09linux-yocto: enable strict kernel module signing by defaultMikko Rapeli
It's a good default and used in many Linux distributions. Did not test out of tree modules if they do correct things but any such failures should be fixed. One way to verify that kernel module signing also works: root@qemux86-64:~# dmesg|grep X.509 [ 1.298936] Loading compiled-in X.509 certificates [ 1.328280] Loaded X.509 cert 'Build time autogenerated kernel key: ee1bed6d845358744c764683bf73b4404cc79287' These logs in dmesg show that signing in kernel is enabled and key is found. Then if any kernel modules load, they were signed correctly. Additionally modinfo tool from kmod shows kernel module signing details: root@qemux86-64:~# lsmod Module Size Used by sch_fq_codel 20480 1 root@qemux86-64:~# modinfo sch_fq_codel filename: /lib/modules/5.19.9-yocto-standard/kernel/net/sched/sch_fq_codel.ko description: Fair Queue CoDel discipline license: GPL author: Eric Dumazet depends: retpoline: Y intree: Y name: sch_fq_codel vermagic: 5.19.9-yocto-standard SMP preempt mod_unload sig_id: PKCS#7 signer: Build time autogenerated kernel key sig_key: 2B:2A:BE:7D:B5:92:DC:98:A9:F8:D7:00:A6:73:35:20:10:D8:19:EE sig_hashalgo: sha512 signature: 72:6C:E1:78:7C:A7:7B:CC:C4:33:23:6B:95:EC:1B:2A:BD:D9:EC:7A: 85:07:05:B2:70:3C:C9:64:F6:78:8A:01:A0:E3:64:C7:47:BB:5D:0E: 86:BA:C1:DD:40:05:AE:1F:19:D4:F0:98:49:86:CC:61:14:3C:AB:1E: 4A:1C:83:47:1D:FA:6D:E4:83:79:3A:2B:3F:7D:B6:E0:09:AE:B4:01: 07:EE:C9:5B:99:70:4F:49:8A:64:E4:7D:84:AA:37:F5:DB:5F:16:5C: D4:DC:0C:33:73:5D:D9:8D:7E:71:5B:A1:ED:61:81:5E:1C:ED:A2:D8: 76:46:99:B3:78:08:F7:7F:0D:4B:94:26:21:63:47:B0:75:9F:A4:EA: 3D:14:D4:09:CC:59:F3:FC:80:AC:BF:56:1E:8C:73:FD:CB:07:27:C6: 3D:98:4C:E4:C3:9C:C0:AD:90:53:46:8F:AE:66:FE:10:C8:92:7F:BA: 74:C2:B0:E3:6E:47:66:AB:39:25:41:12:66:91:20:27:1A:58:77:75: 4F:C0:3F:F1:8E:5F:AB:0A:BD:8B:62:4F:2B:01:5A:5C:4E:5C:31:39: FB:F4:14:2E:BF:D8:51:4B:C8:D0:E2:0A:20:80:95:05:80:E3:46:75: 43:80:30:63:6F:A4:25:82:59:35:34:E8:6A:DC:FF:93:F8:32:BB:FA: 66:2D:B9:08:75:1A:3A:3A:5D:57:F4:63:85:01:B4:EB:96:1B:CE:6F: 4D:61:FC:AA:6C:39:7F:D6:37:C9:84:0A:84:17:FB:BE:FC:20:CB:EE: 8C:2F:93:92:F6:48:F4:07:50:84:D8:2C:B5:2E:A7:7D:3A:3F:DC:E9: B9:17:EF:47:49:EC:BA:62:1C:C4:C6:58:9C:0C:8D:26:41:6E:1F:C1: 95:A7:8B:57:5D:1D:4B:B4:04:00:F6:68:24:9E:E2:BF:11:EC:05:6C: 83:E8:C6:DB:BB:3D:22:8B:31:BB:99:1A:44:E1:15:71:C3:AA:FA:01: 98:BA:6B:20:26:D6:9C:61:5C:6F:81:29:09:B1:EA:C5:28:15:F3:98: C0:18:FE:08:8B:40:A5:F3:3C:71:4B:C6:41:CD:38:51:79:EA:5D:C9: 13:39:B5:FD:A3:D1:BB:11:94:66:F7:7B:6A:DC:2C:01:5F:AB:73:08: 68:24:32:BE:BC:7A:90:E5:FD:97:17:6C:DD:46:D0:0E:2C:03:31:66: B3:7C:B2:48:E1:E0:1A:63:20:48:4C:D4:55:56:71:04:3B:5F:3B:28: BF:64:6C:52:A9:07:6D:FF:21:E9:06:35:E8:A1:D7:F4:C2:F9:D7:7B: 9D:D2:90:16:2F:68:1E:3F:BE:43:ED:64 Failures in signed kernel module loading should show as errors at runtime, for example systemd services, or as oeqa parselogs test failures which detects signature verification error messages from the kernel. Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
2022-12-09selftest: allow '-R' and '-r' be used togetherChen Qi
For now, there's no easy way to skip some specified tests when using 'oe-selftest -r'. This is because '-R' and '-r' are in the mutually exclusive group. Looking at the codes, the codes have already allowed running specified tests and skipping specified tests at the same time. So move '-R' out of the mutually exclusive group and change its help message. After this change, the following command could be used. oe-selftest -r A -R A.B.C This does introduce a behavior regression. Previous 'oe-selftest -R xxx' needs to now be changed to 'oe-selftest -a -R xxx'. Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
2022-12-09Integrate nativesdk and native of systemd-systemctlWang Mingyu
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
2022-12-09tzdata: update to 2022fPriyal Doshi
Signed-off-by: Priyal Doshi <pdoshi@mvista.com>
2022-12-09meson: set dynamic-linker for riscv64 targetsChen Pei
Signed-off-by: Chen Pei <cp0613@linux.alibaba.com>
2022-12-09machine-sdk: add a risv64 definitionChen Pei
Signed-off-by: Chen Pei <cp0613@linux.alibaba.com>
2022-12-09bc ptest: fix bugs caused by input methodYan Xinkuan
fix some bugs related to echo function caused by input method. echo would work fine now, difference as below: before: “PASS: bc/*.b” now: PASS: bc/*.b Signed-off-by: Yan Xinkuan <yanxk.fnst@fujitsu.com> Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-12-09blktrace: ask for python3 specificallySakib Sajal
python2 has been deprecated, use python3 instead Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
2022-12-09apt: fix do_package_qa failureChangqing Li
bitbake nativesdk-apt failed with error: ERROR: nativesdk-apt-2.4.5-r0 do_package_qa: QA Issue: nativesdk-apt installs files in /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/var/volatile, but it is expected to be empty [empty-dirs] an empty dir apt is installed under /var/log/, fix the failure by removing the empty dir apt as what we have done for target. apt will create it when it does not exist. Signed-off-by: Changqing Li <changqing.li@windriver.com>
2022-12-09oeqa/runtime: clean up deprecated backslash expansionRoss Burton
Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-12-09kmod: enable openssl support by defaultMikko Rapeli
linux-yocto kernel adds openssl-native dependency by default even when module signing is still optional. kmod should enable openssl support too. This helps see details of signed kernel modules and debug issues with module signing. For small systems this can still be disabled. modinfo output shows bad signing info when kernel signing is enabled but openssl support is missing from kmod: root@qemux86-64:~# dmesg|grep 509 [ 0.750905] ACPI: PCI: Interrupt link LNKG configured for IRQ 11 [ 0.950039] Asymmetric key parser 'x509' registered [ 1.241727] Loading compiled-in X.509 certificates [ 1.267863] Loaded X.509 cert 'Build time autogenerated kernel key: 48bcd79439f61aaf8fc19ec0882439d64db73820' root@qemux86-64:~# lsmod Module Size Used by sch_fq_codel 20480 1 root@qemux86-64:~# modinfo sch_fq_codel filename: /lib/modules/5.19.9-yocto-standard/kernel/net/sched/sch_fq_codel.ko description: Fair Queue CoDel discipline license: GPL author: Eric Dumazet depends: retpoline: Y intree: Y name: sch_fq_codel vermagic: 5.19.9-yocto-standard SMP preempt mod_unload sig_id: PKCS#7 signer: sig_key: sig_hashalgo: unknown signature: modinfo with openssl enabled in kmod: root@qemux86-64:~# modinfo sch_fq_codel filename: /lib/modules/5.19.9-yocto-standard/kernel/net/sched/sch_fq_codel.ko description: Fair Queue CoDel discipline license: GPL author: Eric Dumazet depends: retpoline: Y intree: Y name: sch_fq_codel vermagic: 5.19.9-yocto-standard SMP preempt mod_unload sig_id: PKCS#7 signer: Build time autogenerated kernel key sig_key: 07:9A:C4:36:96:98:6E:5B:73:CF:C8:40:A6:57:D9:03:5E:27:8D:25 sig_hashalgo: sha512 signature: 21:4D:F0:E2:E0:7C:8E:31:A0:96:12:68:06:0D:FA:0D:E2:17:45:64: 51:94:7E:B0:97:DD:EB:59:89:CA:1A:C3:10:E7:7C:4D:5D:F0:5D:B6: 2A:61:D3:BF:89:7A:0D:CD:A2:39:57:1B:C6:B5:7D:C1:DB:6F:D9:36: 29:7A:07:18:F5:22:9F:9A:33:4D:38:BC:79:C8:51:8B:82:0F:B4:09: 08:37:52:11:98:50:7E:19:28:0F:13:2E:03:A5:E8:F8:D9:E7:DF:61: 18:AC:22:FE:96:BD:D0:55:96:9E:C9:1C:15:C9:0B:9A:5A:FD:D0:C0: 8F:41:12:5B:EA:4B:E5:5D:4D:EA:D5:2E:E5:80:D4:51:CC:63:97:F3: 4B:39:CC:B6:A1:83:F5:EF:2F:A1:22:CD:CA:BC:DB:82:C0:E4:AB:13: 5D:C5:F3:BC:B7:3E:B4:16:BF:87:1D:AC:69:43:1F:78:2A:5F:E2:63: 52:A2:DA:FC:F9:C0:BA:D8:1A:FE:58:4E:6A:D8:DE:BE:F8:F6:C2:59: CE:F5:0A:A0:15:A3:01:BC:B6:70:36:4E:5F:D6:9B:B0:DE:93:15:3E: 35:37:38:D9:01:2B:72:2F:D3:74:A4:AD:F4:5F:52:74:44:E1:C9:D3: A9:87:BC:93:58:8A:82:DB:14:6F:E0:4D:AF:8E:B5:3D:92:20:8B:4A: 04:54:6C:21:F1:76:DF:08:A9:0A:A5:D5:D0:17:CA:98:B5:F4:9F:F6: 9C:8F:DA:09:C2:37:FB:36:23:D1:25:27:4C:DB:9B:43:19:EB:55:1C: DA:32:04:A5:B1:97:F7:A3:3B:82:55:FD:BD:6D:90:BB:61:E6:D3:93: 42:CB:FD:4A:1B:3E:03:43:7D:E3:85:32:91:45:C9:B4:CD:DC:B7:07: 37:58:8A:4A:49:5F:F7:26:41:E1:BB:A1:64:B5:86:00:17:9D:D7:81: 31:BA:DC:BF:04:CC:11:55:B1:C6:24:83:43:33:34:2D:BF:00:74:26: 6A:EC:56:90:C7:1B:C2:78:5C:7F:25:2D:78:BD:C5:D9:7D:69:6A:32: 5D:EF:48:6C:21:64:47:2A:FE:34:3C:58:8D:9E:D7:42:76:BE:89:84: 8D:62:9D:62:DE:7C:88:C4:5F:AA:13:20:6B:90:53:16:4E:06:EE:8A: DE:F7:EA:F8:92:03:7D:84:B7:0C:9F:A0:52:B7:5E:21:BF:37:6A:C9: 34:6D:69:1E:4A:CC:48:F2:0A:6C:B8:AD:83:C0:8F:76:CC:43:0E:29: 17:A9:22:F3:0B:59:A9:87:24:AD:84:CD:EE:E2:C3:93:F7:A8:11:ED: 9A:CC:DA:7F:9D:73:06:5C:A7:1A:6A:54 (From OE-Core rev: 7df47be054460375bb4a36009bb858276f619be2) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09wic: implement bootloader --passwordSergei Zhmylev
Currently the only way to specify a password for bootloader is to supply a complete user-defined bootloader config file to the build process. This patch introduces a --password paramenter in order to simplify bootloaders hardening. (From OE-Core rev: cda5c9270eb9113bf91ca18f7d0fbc3fabd74c32) Signed-off-by: Sergei Zhmylev <s.zhmylev@yadro.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09oe-setup-build: add a tool for discovering config templates and setting up ↵Alexander Kanavin
builds This is the last (I believe) piece of the puzzle in setting up builds from nothing without having to write custom scripts or use external tools. After layers have been fetched and placed into their respective locations, one would surely want to proceed to the actual build, and here's how: 1. Without arguments or with 'list-config-templates', the tool simply walks the ../.. of its location (which is the parent dir of poky/oe-core), and prints what templates it has found, as seen below. If the following is not enough information, adding '-v' will also print conf-notes.txt for each of the templates: $ oe-setup-build Available build configuration templates (re-run with -v to see their descriptions): /srv/work/alex/poky/scripts/oe-setup-build setup-build-env -c /srv/work/alex/poky/meta-poky/conf/templates/default will create a build configuration in /srv/work/alex/build-meta-poky-default /srv/work/alex/poky/scripts/oe-setup-build setup-build-env -c /srv/work/alex/meta-alex/conf/templates/configuration-gizmo will create a build configuration in /srv/work/alex/build-meta-alex-configuration-gizmo /srv/work/alex/poky/scripts/oe-setup-build setup-build-env -c /srv/work/alex/meta-alex/conf/templates/configuration-gadget will create a build configuration in /srv/work/alex/build-meta-alex-configuration-gadget 2. Then the user picks one command of the above and runs it. This will land them in a shell ready to run bitbake: $ oe-setup-build setup-build-env -c /srv/work/alex/meta-alex/conf/templates/configuration-gizmo Running: TEMPLATECONF=/srv/work/alex/meta-alex/conf/templates/configuration-gizmo . /srv/work/alex/poky/oe-init-build-env /srv/work/alex/build-meta-alex-configuration-gizmo && /bin/bash You had no conf/local.conf file. This configuration file has therefore been created for you from /srv/work/alex/meta-alex/conf/templates/configuration-gizmo/local.conf.sample You may wish to edit it to, for example, select a different MACHINE (target hardware). See conf/local.conf for more information as common configuration options are commented. You had no conf/bblayers.conf file. This configuration file has therefore been created for you from /srv/work/alex/meta-alex/conf/templates/configuration-gizmo/bblayers.conf.sample To add additional metadata layers into your configuration please add entries to conf/bblayers.conf. The Yocto Project has extensive documentation about OE including a reference manual which can be found at: https://docs.yoctoproject.org For more information about OpenEmbedded see the website: https://www.openembedded.org/ This configuration template will set up a build for the purposes of supporting gizmo. Please refer to meta-alex/README for additional details and available bitbake targets. 3. The full set of command line options is: $ oe-setup-build -h usage: oe-setup-build [-h] {list-config-templates,setup-build-env} ... A script that discovers available build configuration templates and sets up a build environment based on one of them positional arguments: {list-config-templates,setup-build-env} list-config-templates List available configuration templates setup-build-env Set up a build environment and open a shell session with it, ready to run builds. optional arguments: -h, --help show this help message and exit $ oe-setup-build list-config-templates -h usage: oe-setup-build list-config-templates [-h] [--topdir TOPDIR] [-v] optional arguments: -h, --help show this help message and exit --topdir TOPDIR Where to look for available build configuration templates (default is /srv/work/alex). -v Print a description for each available build configuration template. $ oe-setup-build setup-build-env -h usage: oe-setup-build setup-build-env [-h] -c template_path [-b build_path] [--no-shell] optional arguments: -h, --help show this help message and exit -c template_path Use a build configuration template in template_path to set up a build environment (run this script with 'list-config-templates' to see what is available) -b build_path Set up a build directory in build_path (run this script with 'list-config-templates' to see where it would be by default) --no-shell Create a build directory but do not start a shell session with the build environment from it. 4. There's also a selftest that runs a basic check for template discovery and build setup, and an added hint in oe-setup-layers about how to proceed (as it is really not user-friendly to fetch the layer repos successfully and then exit without a word). (From OE-Core rev: bd9ab4c73cb7fce397284211758cf9c043b97b40) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09bitbake: bitbake-user-manual: add reference to bitbake git repositoryMichael Opdenacker
In the HTML page footer. (Bitbake rev: 897f238e5e34d3f8f23e3b7ac8a19ef8bb0aca22) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09bitbake: fetch2/git: Prevent git fetcher from fetching gitlab repository ↵Marek Vasut
metadata The bitbake git fetcher currently fetches 'refs/*:refs/*', i.e. every single object in the remote repository. This works poorly with gitlab and github, which use the remote git repository to track its metadata like merge requests, CI pipelines and such. Specifically, gitlab generates refs/merge-requests/*, refs/pipelines/* and refs/keep-around/* and they all contain massive amount of data that are useless for the bitbake build purposes. The amount of useless data can in fact be so massive (e.g. with FDO mesa.git repository) that some proxies may outright terminate the 'git fetch' connection, and make it appear as if bitbake got stuck on 'git fetch' with no output. To avoid fetching all these useless metadata, tweak the git fetcher such that it only fetches refs/heads/* and refs/tags/* . Avoid using negative refspecs as those are only available in new git versions. Per feedback on the ML, Gerrit may push commits outsides of branches or tags during CI runs, which currently works with the 'nobranch=1' fetcher parameter. To retain this functionality, keep fetching everything in case the 'nobranch=1' is present. This still avoids fetching massive amount of data in the common case, since 'nobranch=1' is rare. Update 'nobranch' documentation. Reviewed-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> (Bitbake rev: d32e5b0ec2ab85ffad7e56ac5b3160860b732556) Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09bitbake: fetch2/wget: handle username/password in uriKasper Revsbech
In checkstatus() opener.open() is used to check if an artifact is available. The check fails if the uri contains username password in the format: "username:password@hostname..". Moreover, the checkstatus function already uses the username from the "ud" object to craft a header, is username and password is provided. This fix ensure the uri in the Requests object used does not contain username as password. (Bitbake rev: 88350002d45e0aa85ecd5356da2c8d71e450641e) Signed-off-by: Kasper Revsbech <kasper.revsbech.ext@siemensgamesa.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09bitbake: main/server: Add lockfile debugging upon server retryRichard Purdie
We keep seeing server issues where the lockfile is present but we can't connect to it. Reuse the lockfile debugging code from the server to dump better information to the console from the client side when we run into this issue. Whilst not pretty, this might give us a chance of being able to debug the problems further. (Bitbake rev: 22685460b5ecb1aeb4ff3436088ecdacb43044d7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09bitbake: main: Add timestamp to server retry messagesRichard Purdie
We have timestamps in the server logs but we don't know which UI messages correlate to them. Add some timestamps to the messages which doesn't make them pretty but which might make it possible to debug problems. (Bitbake rev: a1a86f8c311cb1fc4f5562f1c77f82aa95141eee) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09openssh: remove RRECOMMENDS to rng-tools for sshd packageXiangyu Chen
It appears that rngd is not needed as of linux-5.6 and later[1] and should not be installed by default since the purpose of rngd is to provide additional trusted sources of entropy. We did some testing on real hardware, the result seems to support that we no longer need rngd by default on kernel v5.6 and later. Testing result as below: 1. observing the crng init stage. the "random: crng init done" always available before fs being mounted. 2. generating random number without rngd. testing command: dd if=/dev/random of=/dev/null status=progress on Marvell CN96xx RDB board, speed almost 20.4 MB/s without block on NXP i.mx6q board, speed almost 31.9 MB/s without block on qemu x86-64, speed almost 2.6MB/s without block 3. using rngtest command without rngd testing command: rngtest -c 1000 </dev/random on Marvell CN96xx RDB board: rngtest: input channel speed: (min=4.340; avg=135.364; max=146.719)Mibits/s rngtest: FIPS tests speed: (min=8.197; avg=69.020; max=72.800)Mibits/s rngtest: Program run time: 418771 microseconds on NXP i.mx6q board: rngtest: input channel speed: (min=96.820; avg=326.769; max=340.598)Mibits/s rngtest: FIPS tests speed: (min=15.090; avg=37.543; max=40.324)Mibits/s rngtest: Program run time: 570229 microseconds on qemu x86-64: rngtest: input channel speed: (min=37.769; avg=101.136; max=136.239)Mibits/s rngtest: FIPS tests speed: (min=10.288; avg=30.682; max=40.155)Mibits/s rngtest: Program run time: 836800 microseconds 4. observing sshd service. using "systemctl disable rng-tools" disable service and reboot system. system boot up normal, sshd service also start in normal time without block. Reference: [1] https://github.com/torvalds/linux/commit/30c08efec8884fb106b8e57094baa51bb4c44e32 (From OE-Core rev: 868dfb46d96a27ec9041cb902fb769330277257d) Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09python3-cryptography: remove python3-tomli RDEPENDSRoss Burton
The test suite doesn't use tomli, so remove it. (From OE-Core rev: 60c3c875e2547d636e55abd115c0c7fb23488379) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09python3-hatchling: remove python3-tomli DEPENDSRoss Burton
Now that we have Python 3.11, hatchling will use the internal tomllib instead of tomli. (From OE-Core rev: f33168a18ddc9929c8e302937051fb6430047990) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09baremetal-image: Avoid overriding qemu variables from IMAGE_CLASSESAlejandro Hernandez Samaniego
Since qemuboot is part of IMAGE_CLASSES via qemu.inc it is being inherited before we set the QB_FOO variables. Since our variables have conditional definitions and at that point they've already been defined by qemuboot, we can no longer define them in our class. Move the IMAGE_CLASSES inherit to execute it after we set the QB_FOO variables to fix booting via runqemu. (From OE-Core rev: 8ed78ec262b2502dc3b673b24a868a3eec616a20) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09python3-packaging: upgrade to 22.0Ross Burton
This has been ported from setuptools to flit_core, and now contains a hand-written parser instead of using pyparsing. (From OE-Core rev: cf4c11fe2e13ec63c08ded790e4d7b64ce94e4f2) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09bitbake.conf: remove SERIAL_CONSOLE variableMichael Opdenacker
This variable has been deprecated since version 2.6 Use SERIAL_CONSOLES instead. (From OE-Core rev: 9d053af1fb570b4e3483de4ecd6827e1e0be61b7) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09libxml2: add more testingRoss Burton
Backport more test cases fixes from upstream, and add runsuite to the ptests. (From OE-Core rev: a6de5fa28fc90e0184d3d86822d06de5d93bbc44) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09yocto-check-layer: Allow OE-Core to be testedRichard Purdie
For unknown reasons we've never seemingly run the check layer script against OE-Core itself. This isn't entirely straightforward as the core layer is a bit of a special case, we can't for example compare signatures against ourselve and we can't remove core from bblayers.conf. Core does have distro, machine and software components too, in the case of distro, our fallback default settings. Whilst the qemu machines could be split into a seperate layer directory, core wouldn't then parse at all standalone due to the lack of any machine so it seems a bit pointless to do that. These changes tweak the script to handle core's special cases, specifically to allow distro and machine directories and to account for the README placed a directory level higher than other layers. (From OE-Core rev: ba312ed228507d05f280aeb96819d671b01400b8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09glibc: Add ppoll fortify symbol for 64 bit time_tOla x Nilsson
Patch so ppoll is properly redirected to it's 64bit time variant even when source fortification is active. (From OE-Core rev: 8cb7008090e98d990e7249b4ef723f65825915ae) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09opkg: upgrade to version 0.6.1Alex Stewart
Opkg 0.6.1 Changes: - Opkg will no longer complain when trying to clean up the temporary directory, if the directory does not exist. - Fixed a SEGFAULT when parsing package indexes with invalid `Size` or `Installed-Size` fields. These indexes will now produce a comprehensible error. - Fixed an inconsistecy in .list generation where files would sometimes be entered with/without a trailing slash. The trailng slash should now always be removed. - Fixed [a bug](https://bugzilla.yoctoproject.org/show_bug.cgi?id=10461) in package removal, where empty common directories would be left on disk, even after all owning packages were removed. (From OE-Core rev: 037ff235fa8e369c0eac9f84cb82c9eaffba85f3) Signed-off-by: Alex Stewart <alex.stewart@ni.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-08scripts/checklayer: Update to match bitbake changesRichard Purdie
Bitbake additions for the addpylib API mean we need to update the parsing function call to be clear we're parsing in configuration context. (From OE-Core rev: ef7677dc90fac089f8b9f6da301cca022ed7284c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-08devtool/friends: Use LAYERSERIES_CORENAMES when generating ↵Richard Purdie
LAYERSERIES_COMPAT entries It seems some layers want to subvert the intent of LAYERSERIES_COMPAT so bitbake is going to have to become stricter about the values there. To work with this, use LAYERSERIES_CORENAMES to generate the entries in LAYERSERIES_COMPAT instead of the current magic LAYERSERIES_COMPAT_core value which may not continue to work. The downside to this is when migating between releases, people would need to update devtool workspace layer.conf files. I guess you could argue this is a feature! (From OE-Core rev: 96ff9baa8ead57504f40f362ed3a4aaa776d1b58) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-08base: Switch to use addpylib directive and BB_GLOBAL_PYMODULESRichard Purdie
Since bitbake now supports an official method to inject python modules, switch to it. Anyone using OE_EXTRA_IMPORTS will need to adjust their code accordingly, probably switching to their own module namespace. Also switch to using BB_GLOBAL_PYMODULES to list the global modules to import. (From OE-Core rev: 1f56155e91da2030ee0a5e93037c62e1349ba89f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-08bitbake: cookerdata: Ensure layers use LAYERSERIES_COMPAT fairlyRichard Purdie
Some layers think they're going to be 'clever' and copy the values from another layer, e.g. using ${LAYERSERIES_COMPAT_core}. The whole point of this mechanism is to make it clear which releases a layer supports and show when a layer master branch is bitrotting and is unmaintained. Therefore add some code to avoid people doing this. I wish we didn't have to but... (Bitbake rev: 6709aedccbb2e7ddbb1b2e7e4893481a7b536436) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-08bitbake: parse: Add support for addpylib conf file directive and ↵Richard Purdie
BB_GLOBAL_PYMODULES For many years OE-Core has injected it's own python modules into the python namespace using an immediate expansion of a variable in base.bbclass. It also added all entries from BBPATH to sys.path. We really need this to become a first class citizen of the langauge, this new addpylib directive allows that. Usage is of the form: addpylib <directory> <namespace> The namespace is imported and if there is an attribute BBIMPORT, that list of names is iterated and imported too. This mirrors what OE-Core has done for a long time with one difference in implmentation, sys.path is only appended to. This means later imported namespaces can't overwrite an earlier one and can't overwrite the main python module space. In practice we've never done that and it isn't something we should encourage or support. The new directive is only applied for .conf files and not other filetypes as it only makes sense in that context. It is also only allowed in the "base configuration" context of cookerdata since adding it at the recipe level wouldn't work properly due to the way it changes the global namespace. At the same time, move the list of modules to place in the global namespace into a BB_GLOBAL_PYMODULES variable. It is intended that only the core layer should touch this and it is meant to be a very small list, usually os and sys. BB_GLOBAL_PYMODULES is expected to be set before the first addpylib directive. Layers adding a lib directory will now need to use this directive as BBPATH is not going to be added automatically by OE-Core in future. The directives are immediate operations so it does make modules available sooner than the current OE-Core approach. The new code appends to sys.path rather than prepends as core did, as overwriting python standard library modules would be a bad idea and naturally encouraging people to collaborate around our own core modules is desireable. (Bitbake rev: afb8478d3853f6edf3669b93588314627d617d6b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-08libxml2: upgrade 2.9.14 -> 2.10.3Ross Burton
Change ptest away from using the upstream Makefiles to manually running the tests: they're not actually integrated with automake anyway so this didn't gain us anything apart from patches we can't send upstream. Drops the following patches: - 0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch - 0001-Port-gentest.py-to-Python-3.patch - fix-execution-of-ptests.patch - remove-fuzz-from-ptests.patch - runtest.patch Add a simple patch to install the test binaries via the Makefile: - install-tests.patch The Python module is built differently and a number of patches no longer apply and appear to be redundant, remove: - python-sitepackages-dir.patch libxml-m4-use-pkgconfig.patch has been sent upstream now, mark as backport. Remove obsolete --without-docbook option. Remove obsolete xml2Conf.sh packaging. (From OE-Core rev: ec5f380a14246e31b2a1a12dda9fe2178b1e5f83) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-08combo-layer: add sync-revs commandRoss Burton
When starting to use combo-layer, or if someone else is using it too, the local last_revision may be incorrect. This command will forcibly update the last_revision config values to the latest SHA on the remote branch that is tracked. (From OE-Core rev: 2bb5d12ecd1b0273983f7c05699f34dd64b11c25) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-08combo-layer: dont use bb.utils.renameRoss Burton
Bitbake may not be configured, and bb isn't imported anyway. Instead just use os.rename(), and take the filename from the file object instead of duplicating logic. (From OE-Core rev: 528f4fb3683d048537604e4562ea758968060d62) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-08combo-layer: remove unused importRoss Burton
(From OE-Core rev: ebfab6c3034d41252d19c6e1a0ba79072aa51146) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>