summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
...
* overlayfs: add docs about skipping QA check & service dependenciesClaudius Heine2022-05-111-3/+15
| | | | | | | | | | | | | | | | | | Add some documentation about skipping the QA check related to missing fstab entries or mount units for base mount points where the overlayfs is mounted from. Also add a short paragraph about adding a systemd unit dependency to services in recipes, so that they are started only after the overlayfs is mounted and ready. No functional change. (From OE-Core rev: 7adc49fa6fdbdf118f74e95193e80ae7ef019e27) Signed-off-by: Claudius Heine <ch@denx.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "image.bbclass: allow overriding dependency on virtual/kernel:do_deploy"Jacob Kroon2022-05-091-6/+1
| | | | | | | | | | | | | | | | | | | As pointed out in https://lists.openembedded.org/g/openembedded-core/message/165058 https://lists.openembedded.org/g/openembedded-core/message/165216 this patch sets KERNELDEPLOYDEPEND but then uses KERNELDEPMODDEPEND. Revert the changes since no one seems interested enough to fix it. If someone wants this then make the variable name readable by adding underscores where appropriate, for example by calling it KERNEL_DEPLOY_DEPEND. This reverts commit dcf9dfa4e6305786cd713aa28deda94a50bd6635. (From OE-Core rev: f0bd9e5d10dc86d7b2639a31ab12728ab67bebd5) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Ensure we track whether PRSERV was active or notRichard Purdie2022-05-081-0/+3
| | | | | | | | | | | | | | | | Currently the signatures for do_packagedata don't reflect whether PRServ was active or not. This means that if you have mxiing of PRServ usage and non PRServ usage against the same sstate cache it can rarely become corrupted with one referencing the other. This likely doesn't happen in general but does on the autobuilder as PRServ is tested. Add in some variables to ensure the binary state of PRServ being enabled or disabled is tracked (but not the server value). We continue to assume one PRServ is used per sstate cache. (From OE-Core rev: dd660e5c3fb74f7c4b7b8e863f7143066ae22813) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pypi.bbclass: Set CVE_PRODUCT to PYPI_PACKAGEAlex Kiernan2022-05-081-0/+2
| | | | | | | | | | | The CVE product name for PyPI packages is (usually) the same as the PyPI package name (and not our recipe name), so use that as the default. (From OE-Core rev: 61f6b0ad09bf87cdc2d3f08770b7c44cad1d0e58) Signed-off-by: Alex Kiernan <alexk@zuma.ai> Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* abi_version/sstate: Bump hashequiv and sstate versions due to git changesRichard Purdie2022-05-071-1/+1
| | | | | | | | | | | | | The autobuilder sstate was corrupted via incorrect equiavlences caused by the security fix to git and the poor interaction that had with SCM version checks under fakeroot/pseudo. Bump the versions to enable a clean slate to work off. (From OE-Core rev: 3b6672730372e130d4d72b683fc3150911964745) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base: Avoid circular references to our own scriptsRichard Purdie2022-05-071-0/+4
| | | | | | | | | We'd like to intercept git calls but we don't want circular references and HOSTTOOLS currently sets them up. Tweak to avoid them. (From OE-Core rev: 52c37e133fa55846aca2248ffcf3a10648dbb8d7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs-postcommands: fix symlinks where link and output path are equalDavide Gardenal2022-05-051-6/+8
| | | | | | | | | | | | When creating the manifest and the testdata.json links, if the link name is equal to the output name the link is not created, otherwise it is. This prevents a link-to-self in the first case. (From OE-Core rev: bed63756c56f296ff3d5a7eef66e978bd19f1008) Signed-off-by: Davide Gardenal <davide.gardenal@huawei.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: fix symlinks where link and output path are equalDavide Gardenal2022-05-041-8/+11
| | | | | | | | | | | | An if statement now checks if the link and output path are the same, if they are then the link is not created, otherwise it is. (From OE-Core rev: 2f024c0236c4806f0e59e4ce51a42f6b80fdf1b3) Signed-off-by: Davide Gardenal <davide.gardenal@huawei.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: add JSON format to summary outputDavide Gardenal2022-05-041-18/+33
| | | | | | | | | | | | Create generate_json_report including all the code used to generate the JSON manifest file. Add to cve_save_summary_handler the ability to create the summary in JSON format. (From OE-Core rev: f2987891d315466b7ef180ecce81d15320ce8487) Signed-off-by: Davide Gardenal <davide.gardenal@huawei.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: rootfs-postcommands: add skip option to overlayfs_qa_checkClaudius Heine2022-05-031-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The overlayfs_qa_check checks if the current root file system has a mount configured for each overlayfs, when the overlayfs class is used. However there are certain instances where this mount point is created at runtime and not static in a fstab entry or systemd mount unit. One such case would be if overlayfs-etc is used, where the device is mounted in the preinit script and not via a mount unit or fstab entry. However there are other possibilities for this as well, like startup scripts that support a dynamic partition layout. For instance when systemd-repart is used. This adds the `OVERLAYFS_QA_SKIP` variable, which allows to define QA skips via its flags. In principle it supports multiple QA skip flags separated by whitespace, but only one (`mount-configured`) is implemented here. To skip this QA check simply add `mount-configured` to the flag of `OVERLAYFS_QA_SKIP` with the same name. For instance if a overlayfs is configured as: OVERLAYFS_MOUNT_POINT[data] = "/data" Skipping this QA check can be done by setting: OVERLAYFS_QA_SKIP[data] = "mount-configured" Also add a testcase and fix a typo (fstat -> fstab). (From OE-Core rev: 2ce9173169a2a86392c4a85fe9be7fbbd7353b7f) Signed-off-by: Claudius Heine <ch@denx.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license_image.bbclass: Make QA errors fail the buildPeter Kjellerstedt2022-04-301-0/+2
| | | | | | | | | | If, e.g., license-file-missing is added to ERROR_QA, then the build should fail if any licenses are missing. (From OE-Core rev: dd91c4bec8335cab2bbd0b33caf50d314ca72bdc) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: allow patch author date to be commit dateBruce Ashfield2022-04-301-1/+5
| | | | | | | | | | | | | | | | | In situations where a buid needs to be reproducible, it is sometimes desireable to use a patches author date, versus the time when it is applied. This generates a consistent hash between different patch applications. We leverage the existing KERNEL_DEBUG_TIMESTAMPS to trigger the use of a new option to kgit-s2q. This allows us to use the author date in a reproducible configuration, but disable it if we need the current time/date. (From OE-Core rev: ebe2411ce78d5e4ea49b9b4cb732b461ecc32ca6) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: allow overriding dependency on virtual/kernel:do_deployDmitry Baryshkov2022-04-291-1/+6
| | | | | | | | | | | | | | Since the commit fe26b2379ecd ("image.bbclass: Depend on virtual/kernel:do_deploy"), the image.bbclass made building images depend on virtual/kernel. For some images, including small initramfs, this is not the case. Allow overriding this dependency in case developers knows what they are doing. (From OE-Core rev: dcf9dfa4e6305786cd713aa28deda94a50bd6635) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: no need to depend on the fetch taskRoss Burton2022-04-281-1/+1
| | | | | | | | | | The only part of the cve-check task which needs files is the patch examination, and typically these patches are local so fetch isn't needed. (From OE-Core rev: 2c9b3186d3b7c18cbea239ab9b06e85b7c243b54) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Ensure we filter out ourselvesRichard Purdie2022-04-281-1/+1
| | | | | | | | | | | Adding a dependency on ourselves in this function doesn't make sense, the hash may change after hash equivalence is applied. Other code using BB_TASKDEPDATA does handle the self reference correctly (which is there for a reason), update this code to do likewise. (From OE-Core rev: d98b06c9c6f480de1e5167bfe8392e39300fc02c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: skip make 4.2.1 warning for debianNicolas Dechesne2022-04-271-1/+1
| | | | | | | | | | | | | | | | | | | This is a follow up patch of: ad5829aa1f8a (sanity: Show a warning that make 4.2.1 is buggy on non-ubuntu systems) Debian10 has the exact same version/sources for make as Ubuntu (focal), e.g. https://packages.debian.org/source/buster/make-dfsg and https://packages.ubuntu.com/source/focal/make-dfsg. As per the corresponding changelog, the patch mentioned in ad5829aa1f8a, is included in both Debian and Ubuntu in make 4.2.1-1.1. So it's safe to use make 4.2.1 in Debian10. (From OE-Core rev: 1d5d5278ff4f620cd786b85e880e8429a04a1548) Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add dependencies for erofs-utilsSean Anderson2022-04-271-1/+1
| | | | | | | | | | | | In order to build erofs filesystems, wic must have the erofs-utils package installed into its sysroot. Fixes: 30375ce97 ("Add support for erofs filesystems") (From OE-Core rev: 68e364340c439a1341d37c3f7a2b0e6aad8e1e56) Signed-off-by: Sean Anderson <sean.anderson@seco.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base: Drop git interceptRichard Purdie2022-04-271-1/+0
| | | | | | | | We're going to use the environment approach for solving this issue. (From OE-Core rev: 0982977dc052ad4e65608f6853f930121d08837a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go.bbclass: disable the use of the default configuration fileChen Qi2022-04-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | We need to disable the use the default configuration file. This is to ensure that user settings do not mess things up when building go recipes. For example, if I set 'GOBIN=./relative/path' in $HOME/.config/go/env, then go-runtime fails to build with error like below: cannot install, GOBIN must be an absolute path According to `go help environment', """ Setting GOENV=off in the environment disables the use of the default configuration file. """ We can explicitly disable the configuration file by setting GOENV to off. (From OE-Core rev: 711b41744ab08ee62c71cdccca335a7828ec0ba1) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* create-spdx: delete virtual/kernel dependency to fix FreeRTOS buildDavide Gardenal2022-04-261-2/+0
| | | | | | | | | | | | | | | When building FreeRTOS this dependency generates an error because bitbake cannot find any provider for "virtual/kernel". >From a dependency analysis the task is executed independently from this so it can be safely removed. This patch has been discussed in this ML thread: https://lists.openembedded.org/g/openembedded-core/topic/90602531 (From OE-Core rev: 1c02b768a71ec88bfe1cc0c4443683de8b66056e) Signed-off-by: Davide Gardenal <davide.gardenal@huawei.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devshell.bbclass: Allow devshell & pydevshell to use the networkPeter Kjellerstedt2022-04-261-0/+2
| | | | | | | | | | | | | Otherwise it will fail if using OE_TERMINAL = "xterm" with the not so helpful error: xterm: Xt error: Can't open display: localhost:0.0 (From OE-Core rev: ba53fc3bcecfe32401471dc1008c7ead96504150) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu.bbclass: Extend ppc/ppc64 extra optionsKhem Raj2022-04-261-1/+5
| | | | | | | | | | | | | | Some recipes are marked machine specific which need qemu usermode during build eg. if they use meson build system, which means they wont get right -cpu settings to run qemu-ppc/qemu-ppc64 and build fails, this ensures that we set the right options when PACKAGE_ARCH is set to MACHINE_ARCH on ppc/ppc64 qemu (From OE-Core rev: 9f71bbe65a458f08cd8ede6522c8b988603202a0) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* install/devshell: Introduce git intercept script due to fakeroot issuesPaul Gortmaker2022-04-222-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a devshell, recent versions of git will complain if the repo is owned by someone other than the current UID - consider this example: ------ bitbake -c devshell linux-yocto [...] kernel-source#git branch fatal: unsafe repository ('/home/paul/poky/build-qemuarm64/tmp/work-shared/qemuarm64/kernel-source' is owned by someone else) To add an exception for this directory, call: git config --global --add safe.directory /home/paul/poky/build-qemuarm64/tmp/work-shared/qemuarm64/kernel-source kernel-source# ------ Of course the devshell has UID zero and the "real" UID is for "paul" in this case. And so recent git versions complain. As the whole purpose of the devshell is to invoke a shell where development can take place, having a non-functional git is clearly unacceptable. Richard suggested we could use PSEUDO_UNLOAD=1 to evade this issue, and I suggested we probably will see other similar instances like this and should make use of PATH to intercept via devshell wrappers - conveniently we already have examples of this. Here, we copy the existing "ar" example and tune it to the needs of git to combine Richard's suggestion and mine. As such we now also can store commit logs and use send-email with our user specific settings, instead of "root", so in additon to fixing basic commands like "git branch" it should also increase general usefulness. RP: Tweaked the patch so the PATH change only applies to the devshell task and is a generic git intercept rather than devshell specific. RP: Also apply the PATH change to do_install tasks since that also runs under fakeroot and several software projects inject "git describe" output into their binaries (systemd, iputils, llvm, ipt-gpu-tools at least) causing reproducibility issues from systems with different git versions. (From OE-Core rev: 3266c327dfa186791e0f1e2ad63c6f5d39714814) Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto.bbclass: Fixup do_kernel_configcheck usage of KMETARuss Dill2022-04-211-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The do_kernel_configcheck task requires a meta directory, normally set by ${KMETA}. The meta directory is taken as a relative path from ${S}: outfile = "{}/{}/cfg/mismatch.txt".format( s, kmeta ) However, when checking for the presence of ${KMETA} the current working directory is searched. This will almost always fail and "kgit --meta" is used instead. If the user does have a path in their current working directory that matches the ${KMETA} variable but the path is not present within the kernel source directory, the build will fail if it tries to write config errors/ warnings to that path. If ${KMETA} is not set, the same problem exists with the hard-coded "meta" directory. Fix these issues by checking for ${KMETA} within ${S} rather than the current working directory. Additionally, drop the hardcoded backup directory "meta" as it hasn't been functioning and probably has no users (From OE-Core rev: f4a3e80a4a6f4f709d09940dcaf45b2b00654496) Signed-off-by: Russ Dill <russ.dill@nikolamotor.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Prevent perform_packagecopy from removing /sysroot-onlyRuss Dill2022-04-211-7/+1
| | | | | | | | | | | | | | | | The files in /sysroot-only are intended to make it into the recipes sysroot output, but not into the package. However, if do_package is run before do_populate_sysroot, the files are removed. Use a smaller hammer to avoid copying the files into the package so they are still around when do_populate_sysroot runs. (From OE-Core rev: 493145c6f1bc92ab2b7a23e181641b09df87c9ff) Signed-off-by: Russ Dill <russ.dill@nikolamotor.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go: Always pass interpreter to linkerJoerg Vehlow2022-04-191-1/+2
| | | | | | | | | | | | | | | | | | When gos internal linker is used, it uses hardcoded paths to the interpreter (dynamic linker). For x86_64 this hardcoded path is /lib64/ld-linux-x86-64.so.2, but yocto's default dynamic linker path is /lib64/ld-linux-x86-64.so.2. Most of the time, the internal linker is not used and binutils linker sets the correct path, but sometimes the internal linker is used and the resulting binary will not work on x86_64. To ensure the path is always correct, pass it to the linker. (From OE-Core rev: 6b54215074d7f3dbba07f096f16b9c0acf51527c) Signed-off-by: Joerg Vehlow <joerg.vehlow@aox.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* create-spdx: fix error when symlink cannot be createdDavide Gardenal2022-04-191-6/+4
| | | | | | | | | | | | | | | | If IMAGE_NAME and IMAGE_LINK_NAME are the same an exception is raised in image_combine_spdx because it cannot create a symlink with the same exact path of the original file. In that case there is no point in creating a link in the first place. Refactor image_combine_spdx to avoid code duplication (From OE-Core rev: 88f76bba705007a7fcda506c79f743060d8f2e52) Signed-off-by: Davide Gardenal <davide.gardenal@huawei.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager: fix missing dependency on gnupg when signing deb package feedsFerry Toth2022-04-191-0/+1
| | | | | | | | | | | | | | | | When signing the deb package feed gpg tools are a soft requirement. If gnupg-native is not declared a dependancy the version from hosttools is used. Unfortunately the gpg-agent version from Ubuntu 16.04 on the autobuilders is incompatible with the package_index task and fails during oe-selftest. Fix by making gnupg-native a dependency. Fixes: 0b4231b5 "package_manager: sign DEB package feeds" Reported-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Suggested-by: Richard Purdie <richard.purdie@linuxfoundation.org> (From OE-Core rev: c063b658e30a24be9214abc23cd2a16c0260e93e) Signed-off-by: Ferry Toth <ftoth@exalondelft.nl> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Delete unused KERNEL_LOCALVERSION variableAlex Kiernan2022-04-141-2/+0
| | | | | | | | | | | | | | | | | | This has been unused since: commit fb61dc1430f81ae2ee59766ffab8404fd79ff1b1 Author: Richard Purdie <richard@openedhand.com> Date: Mon Jan 8 21:05:18 2007 +0000 kernel.bbclass: Drop KERNEL_RELEASE variable git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1123 311d38ba-8fff-0310-9ca6-ca027cbcb966 (From OE-Core rev: 320da1c2b9add9fecd74e7f33ddc5418b326c786) Signed-off-by: Alex Kiernan <alexk@zuma.ai> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: Show a warning that make 4.2.1 is buggy on non-ubuntu systemsRichard Purdie2022-04-141-0/+6
| | | | | | | | | | | | | | | | | We keep seeing hangs on the autobuilder with make 4.2.1 on Centos8, Alma8 and OpenSuse workers. The hang occurs in perl and kernel builds in particular. The issue is fixed in 4.3 and has been patched on Ubuntu systems: https://git.savannah.gnu.org/cgit/make.git/commit/?id=78b5fec6898c26956d00548427cda1101cb80f8a https://savannah.gnu.org/bugs/?51400 Add a sanity test for make 4.2.1 and error for non-ubuntu systems. We're making a buildtools-make-tarball available which can be used to allow systems with the broken version to use the project. (From OE-Core rev: ad5829aa1f8a7369509542b913bfd8d21d1b1bc3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* externalsrc/devtool: Fix to work with fixed export funcition flags handlingRichard Purdie2022-04-141-9/+10
| | | | | | | | | | | | | If we fix bitbake to correctly handle the cleandirs and fakeroot flags for tasks handled by EXPORT_FUNCTIONS, we break devtool since it only considers these for top level functions. Add in extra code to intercept the cleandirs flags for commonly used sub functions too. [YOCTO #8621] (From OE-Core rev: 67fad829f37ed0a8e20c599d2b65635158591d06) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: Fix the do_strip() malfunctionKevin Hao2022-04-121-1/+1
| | | | | | | | | | | | The BB variable can't be referenced directly in a python function, this misusage of the variable reference causes strip function to be always skipped. Fixed: b9c3db4953e4 ("kernel.bbclass: Use KERNEL_IMAGEDEST instead of hardcoded boot path") (From OE-Core rev: c405cb4f421a8c964fa59123ee41879ebd5f829c) Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license_image.bbclass: close package.manifest fileMartin Jansa2022-04-101-2/+2
| | | | | | | | | | | | | | | | | * fixes: NOTE: Executing write_package_manifest ... DEBUG: Executing python function write_package_manifest /OE/build/oe-core/openembedded-core/meta/classes/license_image.bbclass:23: ResourceWarning: unclosed file <_io.TextIOWrapper name='/OE/build/oe-core/tmp-glibc/deploy/licenses/core-image-minimal-qemux86-64/package.manifest' mode='w+' encoding='UTF-8'> 'w+').write(output) ResourceWarning: Enable tracemalloc to get the object allocation traceback DEBUG: Python function write_package_manifest finished [YOCTO #14772] (From OE-Core rev: b3114d5d438b7a63a276b4e825b62f3b1ebceed6) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_ipk/deb: Fix specific version handlingRichard Purdie2022-04-102-2/+12
| | | | | | | | | | | | | | | | | | | We recently added a "xxx (= 1.2.3)" style dependency to a recipe and have been having trouble with the opkg and debian backends with it. The issues is that for debian, "=" really does mean equals and includes the PR field. One bitbake recipe does not know the PR of another, nor shoud it. In other words 1.2.3 != 1.2.3-r0. Debian defaults to a PR of "0", not our "r0". The only way I can think of to make this work is to change "=" dependencies without revision information (no "-r" in the version) into things like: "xxx (>= 1.2.3), xxx (<< 1.2.3.0)". This appears to work even if it is a pretty horrible workaround. (From OE-Core rev: 3ba177a1b8e553716f45606aa65b0a74e55d94c1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* u-boot: Fix condition for install_spl_helperSean Anderson2022-04-051-1/+1
| | | | | | | | | | | | | | | The condition for calling install_spl_helper when compiling multiple configs does not match the condition for a single config. This causes compilation failures when ${UBOOT_FITIMAGE_ENABLE} is 1 but ${SPL_SIGN_ENABLE} is not. Fixes: 5af4dfe83c2 ("u-boot: Add infrastructure to SPL verified boot") (From OE-Core rev: 7dc155961649c022d33cf7c6a5155cdfa5dc2969) Signed-off-by: Sean Anderson <sean.anderson@seco.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: Make changes to QA_EMPTY_DIRS trigger package_qa to rerunPeter Kjellerstedt2022-04-031-0/+1
| | | | | | | | | | If "empty-dirs" is in ERROR_QA, then changes to QA_EMPTY_DIRS should trigger the package_qa tasks to be rerun. (From OE-Core rev: 9f21f9b613c5aaf1883b3ad6eb6463014c2764cd) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: Make do_qa_patch() depend on if patch-fuzz is in ERROR_QAPeter Kjellerstedt2022-04-031-2/+2
| | | | | | | | | | | | | Adding "patch-fuzz" to ERROR_QA should trigger the patch tasks to rerun to make sure any already existing fuzz is caught. This is achieved by using bb.utils.filter() to see if "patch-fuzz" is in ERROR_QA/WARN_QA as it adds whether the filtered strings are set or not to the task hash. (From OE-Core rev: 19a88df166862eb04fe6bee487796ef460d08771) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mirrors: Switch glibc and binutils to use shallow mirror tarballsRichard Purdie2022-04-031-0/+11
| | | | | | | | | | | | | These two repositories are large and overload our downloads server as a premirror but the recipes are easier to maintain as git urls. Compromise and use shallow clones for them. In order to be effective, we need premirror entries on where to find the shallow mirror tarballs. (From OE-Core rev: 757c09a687a30063041a83dd756f5be769631eee) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: Use KERNEL_IMAGEDEST instead of hardcoded boot pathAlessio Igor Bogani2022-04-031-8/+7
| | | | | | | | | | | The behaviour doesn't change because KERNEL_IMAGEDEST is defined as 'boot' in the same file (line 215). (From OE-Core rev: b9c3db4953e4e7b423ba9ec5b618fd990c378bc1) Signed-off-by: Alessio Igor Bogani <alessio.bogani@elettra.eu> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: inline updateTestData()Ross Burton2022-04-011-2/+2
| | | | | | | | | | | updateTestData() is just a simple loop that is only used here, so just inline it. (From OE-Core rev: 2dfe2f68307a441fff2f5018408558bca63f7d03) 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>
* image_types: hddimg and iso only work on x86Ross Burton2022-04-011-2/+3
| | | | | | | | | | | These image types use syslinux which is only available on x86, so only add them to IMAGE_TYPES on x86. (From OE-Core rev: 2ea047a026dd61a8e0a24c6bbe278849485a2c27) 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>
* base: Clean up module import compatibility codeRichard Purdie2022-04-011-9/+2
| | | | | | | | | | | This code was for old versions of bitbake which we're now long past. Drop it and simplify the code. (From OE-Core rev: d5301d008a5cc02a08d660691fce2c18ed8028d7) 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>
* base: Don't add duplicates to sys.pathRichard Purdie2022-04-011-2/+2
| | | | | | | | | | | | We can re-trigger this code and there is little point in stacking a ton of duplicate paths which just waste time during searches for modules. This could in theory alter layer module search order but that seems unlikely in common use. (From OE-Core rev: dadce8468db1c0fd0e04801cdc6cf287c2808477) 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>
* cmake: support to create per-toolchain cmake file in SDKJagadeesh Krishnanjanappa2022-03-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | The patch creates ${MULTIMACH_TARGET_SYS}-toolchain.cmake file at ${SDK_INSTALL_DIR}/sysroots/${SDK_SYS}/usr/share/cmake/, which is per-toolchain CMake toolchain file containing arch-specific values and independent of OE environment variables. The file gets created after installing SDK toolchain installer ined by running "bitbake -c populate_sdk <image>". The changes are similar to meson-setup.py which is used to create arch-specific ${SDK_INSTALL_DIR}/sysroots/${SDK_SYS}/usr/share/meson/*-meson.cross [YOCTO #14644] Tested-by: Jan Dorniak <jaskij@gmail.com> (From OE-Core rev: 42e68397ec74b3cd8ae5df45355c8f6254b48cd8) Signed-off-by: Jagadeesh Krishnanjanappa <workjagadeesh@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mirrors: Add missing gitsm entries for yocto/oe mirrorsRichard Purdie2022-03-311-0/+2
| | | | | | | | The missing gitsm:// mappings looks like an oversight, add them. (From OE-Core rev: 6600b9fca7888fb41647cd000b9efb7f0762dfde) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: add coverage statistics on recipes with/without CVEsMarta Rybczynska2022-03-301-11/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | Until now the CVE checker was giving information about CVEs found for a product (or more products) contained in a recipe. However, there was no easy way to find out which products or recipes have no CVEs. Having no reported CVEs might mean there are simply none, but can also mean a product name (CPE) mismatch. This patch adds CVE_CHECK_COVERAGE option enabling a new type of statistics. Then we use the new JSON format to report the information. The legacy text mode report does not contain it. This option is expected to help with an identification of recipes with mismatched CPEs, issues in the database and more. This work is based on [1], but adding the JSON format makes it easier to implement, without additional result files. [1] https://lists.openembedded.org/g/openembedded-core/message/159873 (From OE-Core rev: d1849a1facd64fa0bcf8336a0ed5fbf71b2e3cb5) Signed-off-by: Marta Rybczynska <marta.rybczynska@huawei.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: add json formatMarta Rybczynska2022-03-301-1/+143
| | | | | | | | | | | | | | | | | | | | | Add an option to output the CVE check in a JSON-based format. This format is easier to parse in software than the original text-based one and allows post-processing by other tools. Output formats are now handed by CVE_CHECK_FORMAT_TEXT and CVE_CHECK_FORMAT_JSON. Both of them are enabled by default. The JSON output format gets generated in a similar way to the text format with the exception of the manifest: appending to JSON arrays requires parsing the file. Because of that we first write JSON fragments and then assemble them in one pass at the end. (From OE-Core rev: df567de36ae5964bee433ebb97e8bf702034994a) Signed-off-by: Marta Rybczynska <marta.rybczynska@huawei.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage.bbclass: introduce FIT_SUPPORTED_INITRAMFS_FSTYPESMing Liu2022-03-291-1/+9
| | | | | | | | | | | | | | | | | It was found when a end user wants to build a squashfs type initramfs into fitimage, it just fails without printing out any error or warning messages, which is not right. Introduce a FIT_SUPPORTED_INITRAMFS_FSTYPES variable to avoid hard-coding the supported initramfs types, and it could be overridden in config files. Also break the build when none of a supported initramfs type is found. (From OE-Core rev: b0f8d8a4c063936b50d3ec7c066b29157b3c3544) Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage.bbclass: change 'echo' to 'bbnote'Ming Liu2022-03-291-13/+12
| | | | | | | | | | Change 'echo' usages to 'bbnote' for better logging. (From OE-Core rev: 3d05ba04824c7f08e42b1972bc0de538164b61ea) Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* create-spdx: Avoid regex warning by quoting correctlyRichard Purdie2022-03-291-1/+1
| | | | | | | | | | | create-spdx.bbclass:43: DeprecationWarning: invalid escape sequence \W lic_regex = re.compile(b'^\W*SPDX-License-Identifier:\s*([ \w\d.()+-]+?)(?:\s+\W*)?$', re.MULTILINE) (From OE-Core rev: 5dfb26d45f69c4d5dc4b6fcef084b830ef9dbf4c) 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>