summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* gtk-icon-cache.bbclass: add features_checkChangqing Li2020-07-281-0/+5
| | | | | | | | | | | | | | | 'bitbake world -k' when DISTRO_FEATURES don't have x11 and wayland, report errors: Nothing PROVIDES 'gtk+3' Nothing RPROVIDES 'blueman' gtk+3 set ANY_OF_DISTRO_FEATURES, so add it here too since we DEPENDS on it (From OE-Core rev: ab9ff563c77cd5105f4ef9426f076b10ea8e2ee8) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs-post: remove traling blanks from tasksKonrad Weihmann2020-07-272-4/+4
| | | | | | | | | | | | remove the traling blanks before the ;-delimiter, so one could use "_remove" to avoid running tasks like 'rootfs_update_timestamp', which are currently hardcoded and not bound to any configurable feature flag (From OE-Core rev: 8c835f63c2bca0a66385eb7ea5ec021d86265777) Signed-off-by: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: use pid for temporary txt file nameLee Chee Yang2020-07-251-5/+6
| | | | | | | | | | | | | | | | | | | | buildhistory create .txt file bh_installed_pkgs.txt and bh_installed_pkgs_deps.txt while listing down installed package. These file is later removed in buildhistory_get_installed(). when multiple process runs in parellal there are chances to race for the file where one process created the file while another task remove the file right after it. using different file name for each process should avoid the race. So add PID to the file name to make it unique. [yocto #13709] (From OE-Core rev: 214d236d93700abffa2d586cc744a00455818fa4) Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gtk-immodules-cache.bbclass: fix post install scriptlet errorChangqing Li2020-07-221-0/+1
| | | | | | | | | | | | | | | package libgtk-3.0 don't install dir /usr/lib/gtk-3.0/3.0.0/ by default. when install package gtk-immodule-xim, it is possible met below error: /var/tmp/rpm-tmp.tlfoeo: line 17: /usr/lib/gtk-3.0/3.0.0/immodules.cache: No such file or directory warning: %post(gtk-immodule-xim-2.24.32-r0.0.cortexa72) scriptlet failed, exit status 1 fix by create the dir when try to write to /usr/lib/gtk-3.0/3.0.0/immodules.cache (From OE-Core rev: c689e120961d9d20386c8b822d71d778d4e6df7b) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: improve wording when image size exceeds the specified limitDaniel Ammann2020-07-221-2/+2
| | | | | | | (From OE-Core rev: fcaab9d686a4afe53a4693f3b30634215d682389) Signed-off-by: Daniel Ammann <daniel.ammann@bytesatwork.ch> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/package: Use HOST_OS for runtime dependenciesJoshua Watt2020-07-221-5/+5
| | | | | | | | | | | | | | | | | The code was using TARGET_OS to try and detect what type of OS the packages would be running on, but this is incorrect. TARGET_OS is the OS for which the package will generate output (e.g. GCC output target or GDB debugging target). The OS where the package will run is the HOST_OS. Note that HOST_OS only differs from TARGET_OS when doing a canadian cross compile, and even then in our case only when doing so for a non-Linux host (e.g. MinGW). Fix the code to use HOST_OS instead. (From OE-Core rev: f284c5b2df220b520b025a59874e04ef4becd829) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/cmake: Fix host detectionJoshua Watt2020-07-221-6/+13
| | | | | | | | | | | | | | | | | | Fixes the class to use HOST_OS and HOST_ARCH to set the cmake SYSTEM variables. The HOST variables should be used instead of TARGET_OS/TARGET_ARCH because we want to control how cmake compiles for where the package is going to run (the host), not what it will be generating output for (the target). The distinction is only really relevant when building canadian cross recipes. Also fix up the host OS detection to account for MinGW by setting CMAKE_SYSTEM_NAME to "Windows". This eliminates the need for meta-mingw to patch this in all the cmake recipes it builds. (From OE-Core rev: 01245db2893e39ffb5d4a00e4689f048d0698974) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/reproducible: Move to library codeJoshua Watt2020-07-221-87/+3
| | | | | | | | | | Moves most of the python code used for dealing with the source date epoch to library code. (From OE-Core rev: a7ede90955bc0c8bec1cbb3cab498ef2583b2f4e) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: account for extracted defconfig in elements checkBruce Ashfield2020-07-201-1/+1
| | | | | | | | | | | | The test for whether or not scc should to invoked to generate a config.queue was missing the newly created sccs_defconfig variable. We need to test for that variable as well, or we may miss generating the config.queue in some cases. (From OE-Core rev: 3a95e171d3eaa6ab143d4f422c98a0ac7ad31761) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: improve arch test messagesRoss Burton2020-07-181-6/+6
| | | | | | | | | | The messages from the ELF 'arch' test are not obvious, clarify the messages and prune output paths. (From OE-Core rev: 8211b42f10b0f2a8e415fee680b37b5ce224a2d5) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools: don't special-case help2man-native for dependenciesRoss Burton2020-07-181-1/+1
| | | | | | | | | | help2man-native doesn't need to be handled specially, we can build it normally or use INHIBIT_AUTOTOOLS_DEPS like everyone else. (From OE-Core rev: 886e7d08208c8788488f8299786140fd5b61e548) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check.bbclass: always save cve reportakuster2020-07-181-0/+32
| | | | | | | | | | | | | The cve-check file should be saved always, it has good info. Put a copy in the log dir as cve-summary with symlinks to latest run. [Yocto #13974] (From OE-Core rev: 859849c7b594d844819ad8c3f7d8325388d94b93) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk: Set the CXXFLAGS to the BUILDSDK_CXXFLAGSDouglas2020-07-121-1/+1
| | | | | | | | | ... which default to the BUILDSDK_CFLAGS in any case. (From OE-Core rev: 9b4bf667bac49131cee382f2f346fc054d5f28b9) Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk: clear MACHINE_FEATURESDouglas2020-07-121-0/+1
| | | | | | | | | | Further to 96c20c9df7: Try to avoid nativesdk recipes accidentally being dependent on MACHINE_FEATURES. (From OE-Core rev: 956e5bd6862ca898143a234aa85cc83b1f2d1807) Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cml1: Move find_cfgs() helper to cml1.bbclassRasmus Villemoes2020-07-121-0/+10
| | | | | | | | | | | | | u-boot.inc and busybox.inc contain identical copies of this little helper. They both inherit the cml1 class and use cml1_do_configure right after having used this helper, and other recipes that want to write similar logic for doing Kconfig via fragments will also need it or something equivalent. (From OE-Core rev: af687c9137a3e8efe48afa6fd12866cf656ae913) Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ptest: append to FILESKonrad Weihmann2020-07-121-1/+1
| | | | | | | | | | | as ptest FILES could be determined before or after the classes was inherited, if is much safer to append to the setting of FILES_${PN}-ptest (From OE-Core rev: 419ad35ffe7f5199e49a246ef9854f0810ca1d6c) Signed-off-by: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: consolidate skipping of temporary do_package filesRoss Burton2020-07-121-5/+8
| | | | | | | | | | | | | | | During the course of do_package_rpm and friends the tools create a top-level CONTROL or DEBIAN directory in the package directory. do_package_qa needs to be aware of these files and ignore them, this was previously done in just one check but instead should be done once when building the file list so all the checks don't see the temporary files. [ YOCTO #13804 ] (From OE-Core rev: 4b2f45c47a5c8c800626f12c14f216a5ab923512) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* spdx: Remove the class as its obsoleteRichard Purdie2020-07-081-360/+0
| | | | | | | | | | | | The project is a strong supporter of SPDX but this class is old code using a dated approach which now misleads people. Remove it. The meta-sdpxscanner layer is a much more modern and active approach to handling this and we should be pointing people there. (From OE-Core rev: 871599bf76b3fb635efd416340803f7bf3341f7e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: make dependency on lzop-native conditionalTimon Ulrich2020-07-081-1/+2
| | | | | | | | | a native lzop is only needed when an lzo compressed initramfs is actually present (From OE-Core rev: 1217ddf070261c5fe523729b2a833bd38f1e4ccd) Signed-off-by: Timon Ulrich <t.ulrich@anapur.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* baremetal-image.bbclass: Create a class for baremetal applications or an RTOSAlejandro Hernandez2020-07-081-0/+99
| | | | | | | | | | | | | | | | Baremetal applications or an RTOS built with OpenEmbedded can share the same code to be built as an image, tested and packaged in case they can be updated as a firmware blob from Linux. This class creates the proper wiring to mimic OE Linux image creation and testing infrastructure, inheriting it makes the process of creating a baremetal application transparent to the developer deploying it automatically along with its required bits to be run and tested. (From OE-Core rev: 34df656e1d7070337f62c8fd9b2dc27491275416) Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: add gzip-native to do_deploy dependenciesMatt Madison2020-07-081-1/+1
| | | | | | | | | | | | | | | When a modules tarball is created during kernel_do_deploy, the tarball is compressed using gzip, but gzip-native is not a dependency so the build host's gzip is being used for this. Using gzip-native will, by default, use pigz instead of single-threaded gzip, making this task less of a bottleneck for builds with a large modules package. (From OE-Core rev: 1243aad78601e9a5c0a3471c8a105c429536599d) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel/yocto: fix search for defconfig from src_uriAndrey Zhizhikin2020-07-081-2/+3
| | | | | | | | | | | | | | | | | | | Fetcher provides full paths to defconfig and scc files, which awk comparison operator does not catch during construction of src_uri_defconfig and sccs_from_src_uri lists. This causes the src_uri_defconfig variable to come out empty, and fails further validation if defconfig is only supplied via SRC_URI. Replace comparison operator with awk match function which searches for sub-string during filtering, effectively placing defconfig from SRC_URI into src_uri_defconfig and scc files in sccs_from_src_uri respectively. Fixes: 23dcff0d396c (kernel/yocto: ensure that defconfigs are processed first) Cc: Bruce Ashfield <bruce.ashfield@gmail.com> (From OE-Core rev: f52ce0fa98bf3bd72df7467031001f3128c145f2) Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/kernel: Use a copy of image for kernel*.rpm if fs doesn't support ↵Yanfei Xu2020-07-051-3/+19
| | | | | | | | | | | | | | | symlinks Some filesystems don't support symlink, then you will get failure when you install or update the kernel rpm package. Now we use a copy of image for these filesystems instead of symlink. Suggested-by: Bruce Ashfield <bruce.ashfield@gmail.com> Suggested-by: Richard Purdie <richard.purdie@linuxfoundation.org> (From OE-Core rev: bb946b8cdbd01408bfa0ba8e53f9e09931dfb29d) Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: add lz4 dependency and fix the call to lz4Timon Ulrich2020-07-051-1/+2
| | | | | | | | | | | | If the initramfs image is type lz4, then a native lz4 is needed. Additionally an output filename needs to be specified when calling lz4, otherwise STDOUT will be used implicitly. (From OE-Core rev: c83a7aec59defbbc049d44ba34a7a409ada4fa19) Signed-off-by: Timon Ulrich <t.ulrich@anapur.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/archive: do_configure should not depend on do_ar_patchedJoshua Watt2020-07-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit d4be264061 ("classes/archiver: run do_unpack_and_patch after do_preconfigure") correctly moved do_unpack_and_patch to depend on do_preconfigure, but left do_ar_patched as a dependency of do_configure introduced from 8a7c779487 ("classes/archiver: Create patched archive before configuring"). Having do_configure depend on do_ar_patched is blatantly wrong. Firstly, doing so causes the taskhash of do_configure to change which is undesirable. Secondly, the anon python that sets up the tasks carefully skips GCC recipes that depend on gcc-source to provide their source code since running do_unpack_and_patch in them would delete the source code. Adding in the dependency effectively bypasses this and makes these recipes delete the shared gcc-source This fixes errors (for real this time) like: cat: .../gcc/defaults.h: No such file or directory when making certain configuration changes. For posterity, you could easily reproduce gcc-source being erased by running the commands (replacing aarch64 with your correct target arch): bitbake -c cleanall gcc-source gcc-cross-aarch64 bitbake -c do_deploy_archives gcc-source # The following would fail because # gcc-cross-aarch64:do_unpack_and_patch erases shared source, so # do_configure after that fails. bitbake gcc-cross-aarch64 (From OE-Core rev: f02c1904330da47a25cf85f0077712f584f4ee5b) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs-postcommands: Improve/fix rootfs_check_host_user_contaminatedRichard Purdie2020-07-031-4/+8
| | | | | | | | | | | | | | | Currently if the find command finds /home it stops checking the other files. Tweak the find expression to fix this. Also, from Alex Kiernan <alex.kiernan@gmail.com>, generate output for each contaminated path so it's visible in the main log file. When matches are found, dump the data from the group and passwd files so useful debugging can be done based on the results. (From OE-Core rev: 504f1d158bf7c6ad08fbce755021db2b14565231) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gtk-icon-cache.bbclass: add runtime dependencyChangqing Li2020-07-031-3/+16
| | | | | | | | | | | | | | | | | | | | | | fix error: + /usr/lib/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache /var/tmp/rpm-tmp.mdYxY6: line 12: /usr/lib/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders: No such file or directory %post(adwaita-icon-theme-3.36.1-r0.0.noarch): waitpid(2961) rc 2961 status 7f00 warning: %post(adwaita-icon-theme-3.36.1-r0.0.noarch) scriptlet failed, exit status 127 when install adwaita-icon-theme on target, which inherit gtk-icon-cache above error reported, fix by add runtime dependency to pkgs we don't use explicit RDEPENDS, so fix do_rootfs breaking by adding it into DEPENDS. Error: Problem: conflicting requests - nothing provides gdk-pixbuf needed by adwaita-icon-theme-3.36.1-r0.noarch - nothing provides gtk+3 needed by adwaita-icon-theme-3.36.1-r0.noarch (From OE-Core rev: 31e3d34c8a9c3e8481aa837aa0bf52adf095fe62) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/archiver: run do_unpack_and_patch after do_preconfigureJoshua Watt2020-07-021-2/+2
| | | | | | | | | | | | | | | | | | | | | The commit 8a7c779487 ("classes/archiver: Create patched archive before configuring") fixed a race condition when using the archiver, but introduced a bug where the GCC source would occasionally be deleted due to the archiving code running before do_preconfigure. Instead, make sure the archiving code runs after do_preconfigure by making do_unpack_and_patch depend on it. This makes more sense anyway since do_preconfigure is effectively an extension of do_patch. This fixes errors like: cat: .../gcc/defaults.h: No such file or directory when making certain configuration changes (From OE-Core rev: d4be264061023ae0ea6e023d82a7b99605bfc22c) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* deploy.bbclass: Clean DEPLOYDIR before do_deployDaniel Klauer2020-06-302-2/+1
| | | | | | | | | | | | | | | | | | | | | | do_deploy should clean up ${DEPLOYDIR} before running, just like do_install cleans up ${D} before running. This reduces the risk of DEPLOYDIR being accidentally contaminated by files from previous runs, possibly even with different config, in case of incremental builds. It is convenient to have this in deploy.bbclass, so it doesn't have to be duplicated in every recipe, considering for example meta-freescale, which has 23 affected recipes. All recipes using deploy.bbclass (grep -r 'inherit .*deploy') in poky, meta-openembedded and meta-freescale look like they either benefit from this or are at least not affected negatively by it. The only exception I've noticed was uboot-sign.bbclass, which was however fixed by the previous patch. (From OE-Core rev: 7083a7d56f4d90c81d2e6652ee291d20fd908bbe) Signed-off-by: Daniel Klauer <daniel.klauer@gin.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot-sign: Refactor do_deploy prefunc to do_deploy_prependDaniel Klauer2020-06-301-5/+6
| | | | | | | | | | | | | | | | | When inherited by the u-boot recipe (UBOOT_PN), uboot-sign.bbclass adds a concat_dtb step, which places additional files into ${DEPLOYDIR} before do_deploy. By turning this from a prefunc into a part of the normal do_deploy function, it becomes possible to use do_deploy[cleandirs] = "${DEPLOYDIR}" in the future, without deleting the files produced by concat_dtb. As before, care is taken to not interfere with the kernel's do_deploy definition, since concat_dtb was only needed for u-boot. (From OE-Core rev: 17619c1a41fa961afc317e4aafab9cdc4ff14a49) Signed-off-by: Daniel Klauer <daniel.klauer@gin.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel/yocto: ensure that defconfigs are processed firstBruce Ashfield2020-06-301-12/+21
| | | | | | | | | | | | | | | | | | | | | It is uncommon that a BSP definition and a defconfig are used in a single configuration. That being said, it is a valid way to organize kernel configuration meta data. When a defconfig is used, either on the src_uri or from in the kernel tree, it is normally expected that it is the baseline, with all options applied on top of it. With this commit, we detect either type of defconfig and ensure that it is used first, followed by the fragments in their previous order. This allows existing configuration stacks to remain the same, while ensuring that a defconfig combined stack works as expected. (From OE-Core rev: e6845327b69396d843a2f3c4c3ac9400ae9caedf) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: Fix to use python3, not pythonRichard Purdie2020-06-281-1/+1
| | | | | | | | | We should be using python3 here, it was missed in the conversion. Spotted on autobuilder tests failing on systems with python missing. (From OE-Core rev: db07b09196022078346aadd565760240b7da6a71) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: Fix Module.symvers supportLili Li2020-06-281-1/+1
| | | | | | | | | | | | | | | | | | Starting from v5.8-rc1 commit 269a535ca931 (modpost: generate vmlinux.symvers and reuse it for the second modpost"), kernel will generate new vmlinux.symvers instead of dumping all the vmlinux symbols into Module.symvers in the first pass. Error log: 'run.do_shared_workdir.16614' failed with exit code 1: DEBUG: cp: cannot stat 'Module.symvers': No such file or directory This change will check the file Module.symvers existence before copying it. (From OE-Core rev: cd2d62a08a1dfcd890a03ee55132b6d6c65f5ab7) Signed-off-by: Lili Li <lili.li@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mime.bbclass: fix post install scriptlet errorChangqing Li2020-06-231-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | fix error during post uninstall: %postun(shared-mime-info-data-2.0-r0.4.corei7_64): execv(/bin/sh) pid 78 + '[' 0 = 0 ']' + set -e + '[' x '!=' x ']' + echo 'Updating MIME database... this may take a while.' Updating MIME database... this may take a while. + update-mime-database /usr/share/mime Directory '/usr/share/mime/packages' does not exist! %postun(shared-mime-info-data-2.0-r0.4.corei7_64): waitpid(78) rc 78 status 100 warning: %postun(shared-mime-info-data-2.0-r0.4.corei7_64) scriptlet failed, exit status 1 when run post uninstall scriptlet, /usr/share/mime/packages has been removed during unintall, while update-mime-database will check xml under /usr/share/mime/packages. workaround by create this dir before update, then remove it (From OE-Core rev: 6f262a316d6c32ff9ce96ab4bd95726772b5f20f) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: uprev v4.2.0 -> v5.0.0Sakib Sajal2020-06-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Major update after v4.2. Changes: - os_find_datadir() was changed after the v4.2 release causing v5.0 to not find the bios and not boot the image. Fix is sent to upstream qemu. See: qemu/find_datadir.patch - v5.0 binary had host contamination for dynamically linked libraries, "--extra-ldflags='${LDFLAGS}'" in EXTRA_OECONF resolved the issue - bluetooth code was removed: qemu.git$ git show 1d4ffe8dc7 hence removed PACKAGECONFIG[bluez] - -show-cursor qemu option is now deprecated, updated scripts/runqemu to use updated option instead - added PACKAGECONFIG definitions - added qemu-ptest to conf/distro/include/ptest-packagelists.inc - increased support for ARM architecture, cpu and board - removed patches merged upstream and refreshed existing ones Testing: Build core-image-minimal against the machines in openembedded-core/meta/conf/machine and succesfully booted with qemu v5.0 Ran qemu-ptest on x86-64 and arm64 with identical results: PASS: 1166 SKIP: 0 FAIL: 0 (From OE-Core rev: ee9ec9e344541c1ccd9b9b8e3b8c1e00d008ad85) Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> Signed-off-by: Joe Slater <joe.slater@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson.bbclass: avoid unexpected operating-system namesAndreas M?ller2020-06-171-0/+3
| | | | | | | | | | | | | | For example 'linux-gnueabi' is not what meson consumers expect: See canonical table of OS names for Meson (thanks Ross). Surprisingly this did not pop up earlier but wrong system-name can break building as described in [1] [1] https://lists.openembedded.org/g/openembedded-core/topic/meson_host_machine_system/73023862 (From OE-Core rev: 010202076760329829fbde8dab4f535d6f755873) Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/archiver: Create patched archive before configuringJoshua Watt2020-06-171-1/+1
| | | | | | | | | | | | | | do_configure and do_preconfigure can modify source files, which causes race conditions if these tasks run in parallel with do_ar_patched. Add explicit task dependencies to ensure that do_ar_patched finishes before these tasks start. Specifically, this fixes a race condition with gcc-source where do_ar_patched races with do_preconfigure deleting gcc/gengtype-lex.c (From OE-Core rev: 8a7c7794870815030239e90b03e37ed302b7e885) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sign_rpm.bbclass: ignore thread countDaniel McGregor2020-06-171-0/+1
| | | | | | | | | | Similar to sign_ipk, ignore the number of threads used for signing RPMs. (From OE-Core rev: 77be5fd7df96ebd5a07bfaa3921c074ef8c470c7) Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* relocatable.bbclass: Avoid an exception if an empty pkgconfig dir existPeter Kjellerstedt2020-06-151-9/+11
| | | | | | | | | | | Rewrite relocatable_native_pcfiles() so that it can handle that any of the checked pkgconfig directories are empty without causing an exception. (From OE-Core rev: f9c5df6dc1c13e9b05ff1b47ad84ad339f6779a4) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Check for feature check variables not being usedJacob Kroon2020-06-121-1/+11
| | | | | | | | | | Add a package QA check for wether any of the variables used by features_check.bbclass is set while not inheriting the class itself. (From OE-Core rev: c06489d102682504afe33f9fee3facd9628b3f57) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* features_check: Warn if not usedJacob Kroon2020-06-121-0/+15
| | | | | | | (From OE-Core rev: 56c1fe3bc89af86a2524ed5b724fe74ba514acc5) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* archiver: Capture git submodules in mirror archiverPaul Barker2020-06-091-7/+6
| | | | | | | | | | Using the new Fetch.expanded_urldata() function we can get URL data for all git submodules. (From OE-Core rev: d908ca51b72f4ba417e7573ae3d953535f53286c) Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* features_check: Factorize code for checking featuresJacob Kroon2020-06-091-78/+32
| | | | | | | | | | | | The DISTRO/MACHINE/COMBINED features should be treated identically, so convert the expanded code to a loop. This fixes some of the COMBINED error messages which were previously referring to MACHINE features. There should be no functional changes. (From OE-Core rev: 051f6efd1b2d5c8c11ab91a75a34f6dc04caf211) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: capture package configJan Luebbe2020-06-041-0/+3
| | | | | | | | | | | | As the PACKAGECONFIG variable has a large influence on the resulting package sizes and dependencies, it's useful to capture it in the recipe-level buildhistory. This makes it straightforward to analyze the impact of PACKAGECONFIG changes on the resulting image size. (From OE-Core rev: 189fae9f2df58759e9d66a3877c9ef30df4854bf) Signed-off-by: Jan Luebbe <jlu@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildstats.bbclass: Do not recalculate build start timeJunling Zheng2020-06-041-1/+1
| | | | | | | | | | The build start time is recorded in __timedata_build, which we should use rather than recalculating it. (From OE-Core rev: b723e9a4de67f33f61f2e7fe36ea451a46840b3e) Signed-off-by: Junling Zheng <zhengjunling@huawei.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildstats.bbclass: Remove useless variablesJunling Zheng2020-06-041-2/+0
| | | | | | | | | Remove useless variables bn and bsdir in write_task_data(). (From OE-Core rev: de26d6ce9d2154b5bb51491d9f4bd590cb5a0fc7) Signed-off-by: Junling Zheng <zhengjunling@huawei.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: include epoch in product version outputRalph Siemsen2020-06-041-1/+1
| | | | | | | | | | | | In the generated cve.log files, include the epoch in the product version. This better matches how versions are displayed elsewhere, in particular the bb.warn("Found unpatched CVE...") that appears on the terminal when CVEs are found. (From OE-Core rev: e1c3c0b6e5b01304e2127f5058986697e82adf93) Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: When siginfo or sig files are missing, stop fetcher errorsMark Hatle2020-05-301-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to fetching, the system checks if the sstate file is present either locally or on the mirror. If it is, then it goes to the fetch stage. Up to three files can be fetched, sstate, sstate.siginfo and sstate.sig (if signature validation is enabled). The previous pstaging_fetch function would iterate over these, and if a download error occurred would spew forth a great amount of fetcher failure messages as well as stop fetching the next item in the set. This was resolved by adding a fetcher.checkstatus() call prior to the download. If the file isn't present, then the exception will be triggered, and no fetcher failure messages will reach the user. The exception handler is then modified to be a pass so that it will loop and pull the rest of the files that that are requested. Additionally, a check for the existance of the .sig file was added to the sstate_installpkg to avoid an error trying to load the .sig if it wasn't downloaded. (From OE-Core rev: a9085140434e2d26c0bb75bb53fcb7f7c19ef86d) Signed-off-by: Mark Hatle <mark.hatle@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib/recipes: Use new RecipePostKeyExpansion eventRichard Purdie2020-05-273-8/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are issues with multilib due to the ordering of events where some functions see the remapped multilib dependencies and some do not. A significant problem is that the multilib class needs to make some changes before key expansion and some afterwards but by using existing event handlers, some code sees things in a partially translated state, leading to bugs. This patch changes things to use a new event handler from bitbake which makes the ordering of the changes explcit. The challenge in doing this is that it breaks some existing anonymous python and dyanmic assignments. In some cases these used to be translated and no longer are, meaning MLPREFIX has to be added. In some cases these are now translated and the MLPREFIX can be removed. This change does now make it very clear when MLPREFIX is required and when it is not, its just the migration path which is harder. The patch changes the small number of cases where fixes are needed. In particular, where a variable like RDEPENDS is conditionally extended (e.g. with an override), MLPREFIX is now required. This patch also reverts: base: Revert 'base.bbclass: considering multilib when setting LICENSE_EXCLUSION' This reverts 6597130256a1609c3e05ec5891aceaf549c37985 as the changes to multilib datastore handling mean its no longer necessary. (From OE-Core rev: b3fda056a674889cd9697e779de023d4f993d3ce) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go.bbclass: Add `-trimpath` to default build flagsOtavio Salvador2020-05-261-1/+1
| | | | | | | | | | The `-trimpath` option is important for reproducible builds so full build paths and module paths are not embedded. (From OE-Core rev: e3df027b3697b6a92b417bba8d442a5bd15525fd) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>