summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* waf: don't assume the waf intepretter is goodRoss Burton2021-01-211-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | Waf typically uses `python` as the intepretter but inside a task this does not exist. Typically this is solved by patching waf (see the glmark2 recipe) but not all versionf of Waf support Python 3 so we can't assume a specific interpretter. Instead, create a new variable WAF_PYTHON for the correct interpretter, and default this to `python3`. If the user has a recipe that needs Python 2 then this can be changed in the recipe. (From OE-Core rev: 802e80d35e6374b9b80f89068d00b84fe2d04ca1) (From OE-Core rev: 3ad272ba25c4eba063f372f3bf8c1d3e94e2a966) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 85b6301c6190a1d1823de9bfe7285f7a7d15a46f) [Fixes build issue on Ubuntu 20 with mvp https://github.com/openembedded/meta-openembedded/issues/304 ] Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/waf: Add build and install argumentsJoshua Watt2021-01-211-2/+7
| | | | | | | | | | | | | | | | | | | Adds variables that can be used to allow a recipe to pass extra arguments to `waf build` and `waf install`. In most cases, you want to pass the same arguments to `build` and `install` (since install is a superset of `build`), so by default setting EXTRA_OEWAF_BUILD also affects `waf install`, but this can be overridded. (From OE-Core rev: 493e17a2f5cbbbe3b1e435dadb281b007bca2cbf) (From OE-Core rev: 84a2778a6c03c942fd61f630d0c82d6ea29717e1) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 633652284b13dc78206f4cc8e81f29de44777b75) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license_image.bbclass: fix missing recipeinfo on selfMichael Ho2021-01-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Resolve a build bug where image recipes with a do_deploy task will fail. If the image recipe inheriting license_image.bbclass has a deploy task, then the function get_deployed_dependencies will add itself to the list of recipes to get license information for. However, image recipes don't generally deploy license info so this results in an error. File: '/nvme/poky/meta/classes/license_image.bbclass', lineno: 192, function: license_deployed_manifest ... Exception: FileNotFoundError: [Errno 2] No such file or directory: '/nvme/poky/build/tmp/deploy/licenses/core-image-minimal/recipeinfo' Add a corner case to exclude the originating image recipe from the list of dependencies to check. (From OE-Core rev: 444118a185ff6cdd20ad0a10ffae7edfa9ab18c4) Signed-off-by: Michael Ho <Michael.Ho@bmw.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 13fb39e49e55a0bc7c78b0bfdc372163b3f9e70a) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd.bbclass: improve error message when a service unit specified in ↵Chris Laplante2021-01-211-1/+2
| | | | | | | | | | | | | | SYSTEMD_SERVICE is not found The previous message was fairly useless without diving into the bbclass. (From OE-Core rev: 7dfef3de5811002c7cab17c5eb2801e5a55a3a4d) Signed-off-by: Chris Laplante <mostthingsweb@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit ef6117b148be65536e89409a83cbfd22049c652e) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go.bbclass: don't stage test data with sources of dependenciesThomas Perrot2021-01-211-1/+2
| | | | | | | | | | | | | | As for the sources the dependencies contain test data, ELF files and other binaries which aren't necessary for building and which lead to unnecessary QA warnings. (From OE-Core rev: ea5bd7d3eac87dfb145f98c697f356eb84c9b0ec) Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 7faea9766127fe4e1023c89b140cc98020655155) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_base: Fix condition syntax if SDK_RELOCATE_AFTER_INSTALL is ↵Tomasz Dziendzielski2021-01-091-1/+1
| | | | | | | | | | | | | | | disabled If variable is set to empty string the comparison is "if [ -eq 1 ]" which fails with "[: -eq: unary operator expected". (From OE-Core rev: 5bbafa99ec76a197e433ae3fb1ee44da7be398a5) Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 36a2dc83fd0e1d6e2b8441e24a4cbc48a6c4fc19) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot-extlinux-config: exclude OVERRIDES from do_create_extlinux_config vardepsChristopher Larson2021-01-091-0/+1
| | | | | | | | | | | | | | | | This function is primarily *appending* configuration entries to the overrides, it only gets it to ensure it's set at all, so doesn't belong in the vardeps. Having a dependency on OVERRIDES means you cannot use a bbclass like distrooverrides without changing the signatures of recipes using this class. (From OE-Core rev: 4e95f91f4a65cb97b37529e49d18279772858308) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit fef74d3651d432977caef8fea54fc54bf2784a74) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* grub-efi-cfg: exclude OVERRIDES from build_efi_cfg vardepsChristopher Larson2021-01-091-0/+1
| | | | | | | | | | | | | | | | This function is primarily *appending* configuration entries to the overrides, it only gets it to ensure it's set at all, so doesn't belong in the vardeps. Having a dependency on OVERRIDES means you cannot use a bbclass like distrooverrides without changing the signatures of recipes using this class. (From OE-Core rev: 938dc131956bbc508c813c0a4fa0ff4791dc6cc6) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 8fad5db8c3275a0dc9fdb37761f2e9381e1413da) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* archiver.bbclass: Fix --runall=deploy_archives for imagesRobert Yang2021-01-091-0/+1
| | | | | | | | | | | | | | | | | | | Fixed: INHERIT += "archiver" COPYLEFT_LICENSE_INCLUDE = "*" $ bitbake core-image-minimal --runall=deploy_archives [snip] KeyError: '/path/to/meta/recipes-core/images/core-image-minimal.bb:do_ar_original' [snip] (From OE-Core rev: 1625481cdfc6560bc8e49aea7f7e9175cbaaa15e) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 59785a51110c450c7629218f6042f1d9d309618e) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: set COMPATIBLE_HOST to *-linuxRoss Burton2021-01-011-0/+2
| | | | | | | | | | | | | | The target system triple contains whether the target is Linux or not, so use it to avoid situations where you can attempt to build a kernel for systems which don't support Linux. (From OE-Core rev: 3f08f5b7068ecd3a59fc30dd90515df314a94f84) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit b1eeeab21a81990321468ddbdd1745ea24d1828d) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* metadata_scm: Fix signature handling of METADATA_REVISION and METADATA_BRANCHRichard Purdie2020-12-181-0/+2
| | | | | | | | | | | | | | | | We're not interested in the dependencies of these functions and what those functions look like, we're interested in the value the variable has. Force the hashed value to be the actual value from the function. This means using METADATA_REVISION in DISTRO_VERSION for example now correctly rebuilds when it changes value. (From OE-Core rev: edbe823ddf53aecc58d28fbcf7de1a1dc2dc79c8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 005651dc782859c01f170fb974811b2a13cb2cef) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-module-split.bbclass: fix kernel modules getting marked as CONFFILESGratian Crisan2020-12-181-1/+4
| | | | | | | | | | | | | | | | | | | | | Yi pointed out that commit 1a70a92d1f10 ("kernel-module-split.bbclass: identify kernel modconf files as configuration files") is unintentionally adding the actual kernel /lib/modules .ko files to the CONFFILES variable. The root cause is the re-use of the 'files' variable in that commit. Fix it by using a separate variable to keep track of the generated module .conf files that need to be marked as configuration files. Fixes: 1a70a92d1f10 ("kernel-module-split.bbclass: identify kernel modconf files as configuration files") Reported-by: Yi Zhao <yi.zhao@windriver.com> (From OE-Core rev: f1f904ebf2aef54c4c867d5d2c842ec5d53d3c78) Signed-off-by: Gratian Crisan <gratian.crisan@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit db5f2ca532db4f0d2e05b7cb5f9d146e1dd76ab3) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types: sort tarball file listingsRoss Burton2020-12-181-1/+1
| | | | | | | | | | | | Help rootfs tarballs be reproducible by sorting the file listing. (From OE-Core rev: 568afcef83ece5f8cb988dd0ad642feeec5c9656) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 4fa68626bbcfd9795577e1426c27d00f4d9d1c17) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fs-perms: Ensure /usr/src/debug/ file modes are correctRichard Purdie2020-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | If files are copied into /usr/src/debug directly from WORKDIR (e.g. makedevs) we'd get the permissions from the checkout which would depend on the host umask. Avoid this and be deterministic by setting the file modes consistently. Core code copies the files in so we're responsible for the permissions. Unfortunately to force this change to apply we need to invalidate both the package tasks and the hash equivalance mappings since file mode 'corruption' already made it into the output hashes (both input options were mapped to the output hashes). (From OE-Core rev: 20b8ffcbeadb6eb9e87356ee173ead43016d458b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 1f958bcd6c9cd12ec76d80586cba15f4d6ed17a7) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distutils-common-base: fix LINKSHARED expansionAnuj Mittal2020-12-091-1/+1
| | | | | | | | | | | | Add the missing $ so SECURITY_CFLAGS actually gets expanded. (From OE-Core rev: 0fc0b52cc624455cd48097dbc0536de50dbc4ede) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 6ed2f892ebb0b4e30a3bf167eac68027ea378a2d) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: show real PN/PVRoss Burton2020-12-091-3/+6
| | | | | | | | | | | | | | The output currently shows the remapped product and version fields, which may not be the actual recipe name/version. As this report is about recipes, use the real values. (From OE-Core rev: 2618eedbafc408c41479e63dac88a9b5bab461fc) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 18827d7f40db4a4f92680bd59ca655cca373ad65) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license_image.bbclass: use canonical name for license filesVyacheslav Yurkov2020-12-091-1/+2
| | | | | | | | | | | | | | | | | | | | When copying license files to the image rootfs, i.e to /usr/share/common-licenses, a canonical name of a license should be used, otherwise duplicated files end up in common-licenses directory. For example, GPL-2.0 license according to conf/license.conf can be referenced in recipes as GPL-2, GPLv2, and GPLv2.0. If a license name is used directly, we end up with three files in the rootfs with the same content. If a canonical name used instead, then each license gets copied only once. (From OE-Core rev: d31fd6a2fc2334a20d4fd1bcfe5964c462d1bb98) Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 670fe71dd18ea675f35581db4a61fda137f8bf00) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* roofs_*.bbclass: fix missing vardeps for do_rootfsLoic Domaigne2020-12-093-3/+3
| | | | | | | | | | | | | | | | | | As per lib/oe/rootfs.py and lib/oe/package_manager/???/__init__.py the PACKAGE_FEED baseurl is defined as the joined paths of: URIS/BASE_PATHS/ARCHS Therefore, the do_rootfs task should depend furthermore on PACKAGE_FEED_{BASE_PATHS,ARCHS} to properly retrigger a build if the value changes. (From OE-Core rev: 5ebd147ecb59a8b3b9919c5c96ebc1dd66fefa36) Signed-off-by: Loic Domaigne (ljd) <tech@domaigne.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit e5329464f5ebad909c4c9bd27a718bbd8f4cc221) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Set proper LD in KERNEL_KCONFIG_COMMANDWonmin Jung2020-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With 'ld-is-gold' and linux kernel 5.4 or later, menuconfig task for kernel recipes will fail with: $ bitbake -c menuconfig virtual/kernel ... scripts/kconfig/mconf Kconfig scripts/Kconfig.include:43: gold linker 'x86_64-poky-linux-ld' not supported /OE/build/tmp/work-shared/qemux86-64/kernel-source/scripts/kconfig/Makefile:29: recipe for target 'menuconfig' failed make[2]: *** [menuconfig] Error 1 /OE/build/tmp/work-shared/qemux86-64/kernel-source/Makefile:606: recipe for target 'menuconfig' failed make[1]: *** [menuconfig] Error 2 /OE/build/tmp/work-shared/qemux86-64/kernel-source/Makefile:185: recipe for target '__sub-make' failed make: *** [__sub-make] Error 2 Command failed. This is because that the KERNEL_LD variable already set in kernel-arch.bbclass isn't used by do_menuconfig function of cml1.bbclass. To fix this issue specify LD variable while calling the kernel menuconfig command through KERNEL_KCONFIG_COMMAND. (From OE-Core rev: 5f85104363cf496d76c3d29a05ba4406701d2878) Signed-off-by: Wonmin Jung <wonmin82@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 1faf66ce0b1f8f5165277161e07e25e672370c3f) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: relocate copy of module.lds to module compilation taskBruce Ashfield2020-12-091-1/+4
| | | | | | | | | | | | | | | | | | | | | | | There were two copies of this patch floating around, and the merged variant has the copy in the wrong place. module.lds is only created during modules_prepare, and that target is not invoked during our main build of the kernel. We aren't about to change the kernel build (there's no need), so we move the copy into the compile_kernelmodules task. After that runs, we have module.lds availble to copy. This has been tested against clean kernel + out of tree module builds, and the dependencies are correct that the file is copied before the out of tree module build starts. (From OE-Core rev: 38c6c6f4a460e9c0593e2530ffeaf20b24fd83a9) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 7d94f9209ebaaf59ea001239a889dd7f928a0e7c) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: provide module.lds for out of tree builds in v5.10+Bruce Ashfield2020-12-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The upstream commit 596b0474d3d [kbuild: preprocess module linker script], adds a dependency on module.lds for external module building. Since module.lds is generated as part of 'modules_prepare', we must make it available with the other kernel artifacts in the kernel shared workdir, otherwise out of tree builds fail. This fixes errors like: | make[4]: *** No rule to make target 'scripts/module.lds', needed by 'build/tmp/work/qemuarm64-poky-linux/cryptodev-module/1.11-r0/git/cryptodev.ko'. Stop. | make[4]: *** Waiting for unfinished jobs.... We also ensure that kernel-devsrc has a copy to support on target module builds that are often prepared with 'make scripts prepare'. Those targets won't regenerate it, so the build fails. If 'make modules_prepare' is used, the file will be regenerated and overwrite our copy (as expected). (From OE-Core rev: 46bc7719ea5ddf4342921c1b2721c73c1a3694a6) Signed-off-by: Pan, Kris <kris.pan@intel.com> Signed-off-by: Lili Li <lili.li@intel.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 0fc66a0b64953aae38d0124b57615fffaec8de52) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/reproducible: Move to library codeJoshua Watt2020-11-221-87/+3
| | | | | | | | | | | | | Moves most of the python code used for dealing with the source date epoch to library code. (From OE-Core rev: bb957547fbd3f6670220706642b49fee560c6b75) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit a7ede90955bc0c8bec1cbb3cab498ef2583b2f4e) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: print results for interrupted runsKonrad Weihmann2020-11-201-8/+11
| | | | | | | | | | | | | | | When a run is ended by overall timeout, print the already executed testcases, to provide some hints which testcase might made the test suite reach global timeout. Nonetheless make the testrun exit with an error (From OE-Core rev: aca4b863c2878b31c3cb506b05d1e19ef525e4af) Signed-off-by: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 2bcc643195a3b3c66d698fac8b7af037c08545ac) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-module-split.bbclass: identify kernel modconf files as configuration ↵Gratian Crisan2020-11-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | files Currently the modconf fragments representing the configuration for kernel modules are written out to appropriate .conf files and added to the FILES variable. However they are not identified as 'configuration files' and installing a new version of a kernel module results in a conflict and a failed installed because the respective .conf file is already in place from a previous install. Add the generated .conf files to the CONFFILES variable denoting their true nature. (From OE-Core rev: b5a113273dc4c062a4b734a403a3bb4a5e92c8ee) Signed-off-by: Gratian Crisan <gratian.crisan@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 1a70a92d1f1006be115429a4262259c9084f484d) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuboot.bbclass: Fix a typoKhem Raj2020-11-121-1/+1
| | | | | | | | | | (From OE-Core rev: 04c13fc4670fb0b4675c8e714a9e61c9c8ea60c2) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 2b5fb66344432390aa0cc199ad3f9ec2a4da26bb) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: add GitLab /archive/ testsAndrey Zhizhikin2020-11-121-2/+2
| | | | | | | | | | | | | | | | | | | Archives produced by GitLab should be avoided in the same way as those produced by GitHub. Extend SRC_URI check to include GitLab and inform user that recipe should be converted to use git protocol. Link: https://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg73109.html Link: https://lists.openembedded.org/g/openembedded-core/message/144035 Cc: Martin Jansa <martin.jansa@gmail.com> (From OE-Core rev: 72f2c45880afbba1745e5e0cbd841d7fd666f374) Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit d76b33c6a8489378a1f5500554367127199ae19d) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* siteinfo: Recognize bigendian sh3be and sh4beMartin Jansa2020-10-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | * seems to be broken for many years, does someone still use sh3/sh4? scripts/tune/log.fake-sh3.sh3eb: Parsing recipes... ERROR: /OE/build/oe-core/openembedded-core/meta/recipes-devtools/vala/vala_0.48.9.bb: Unable to determine endianness for architecture 'sh3eb' ERROR: /OE/build/oe-core/openembedded-core/meta/recipes-devtools/vala/vala_0.48.9.bb: Please add your architecture to siteinfo.bbclass scripts/tune/log.fake-sh4.sh4aeb scripts/tune/log.fake-sh4.sh4eb: Parsing recipes... ERROR: /OE/build/oe-core/openembedded-core/meta/recipes-support/vim/vim-tiny_8.2.bb: Unable to determine endianness for architecture 'sh4eb' ERROR: /OE/build/oe-core/openembedded-core/meta/recipes-support/vim/vim-tiny_8.2.bb: Please add your architecture to siteinfo.bbclass (From OE-Core rev: 197b405dd098f6b214837d224f40d33b018b7c16) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 1f26495884b8f567aecadc5936651846dfeed3f5) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* siteinfo: Recognize 32bit PPC LEMartin Jansa2020-10-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * since this commit, all powerpc little-endians (both 32bit and 64bit) use "le" suffix: commit b6ac40f1cbabb20896bf113568f7735a462ed1a6 Author: Khem Raj <raj.khem@gmail.com> Date: Sun Dec 29 10:44:03 2019 -0800 powerpc, powerpc64: Append little-endianness to tune arch * 64bit variants were already fixed in: commit e62cdb9b88b575b5cfcdd65ca558edc237c43b2a Author: Khem Raj <raj.khem@gmail.com> Date: Sun Dec 29 10:44:02 2019 -0800 siteinfo: Recognize 64bit PPC LE * but 32bit are still failing: scripts/tune/log.fake-power5.powerpcle scripts/tune/log.fake-power5.powerpcle-nf scripts/tune/log.fake-power6.powerpcle scripts/tune/log.fake-power6.powerpcle-nf scripts/tune/log.fake-power7.powerpcle scripts/tune/log.fake-power7.powerpcle-nf scripts/tune/log.fake-power9.powerpcle scripts/tune/log.fake-power9.powerpcle-nf scripts/tune/log.fake-power9.ppcp9le scripts/tune/log.fake-ppc476.powerpcle scripts/tune/log.fake-ppc476.powerpcle-nf scripts/tune/log.fake-ppc603e.powerpcle scripts/tune/log.fake-ppc603e.powerpcle-nf scripts/tune/log.fake-ppc7400.powerpcle scripts/tune/log.fake-ppc7400.powerpcle-nf scripts/tune/log.fake-ppce300c2.powerpcle scripts/tune/log.fake-ppce300c2.powerpcle-nf scripts/tune/log.fake-ppce300c3.powerpcle scripts/tune/log.fake-ppce300c3.powerpcle-nf scripts/tune/log.fake-ppce500.powerpcle scripts/tune/log.fake-ppce500.powerpcle-nf scripts/tune/log.fake-ppce500mc.powerpcle scripts/tune/log.fake-ppce500mc.powerpcle-nf scripts/tune/log.fake-ppce500v2.powerpcle scripts/tune/log.fake-ppce500v2.powerpcle-nf scripts/tune/log.fake-ppce5500.powerpcle scripts/tune/log.fake-ppce5500.powerpcle-nf scripts/tune/log.fake-ppce6500.powerpcle scripts/tune/log.fake-ppce6500.powerpcle-nf Parsing recipes... ERROR: /OE/build/oe-core/openembedded-core/meta/recipes-support/debianutils/debianutils_4.11.1.bb: Unable to determine endianness for architecture 'powerpcle' ERROR: /OE/build/oe-core/openembedded-core/meta/recipes-support/debianutils/debianutils_4.11.1.bb: Please add your architecture to siteinfo.bbclass ... (From OE-Core rev: 8c602978de9fd57ab19019856ad6cee1065b5c01) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit a31436f38da27883b42810adf3066ea498ca4a5d) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uninative: Fix typo in error messageNaoki Hayama2020-10-221-1/+1
| | | | | | | | | | | | | Fix typo in an error message. s/verson/version/ (From OE-Core rev: 3ee9590f96cb50e93864db768b254773e2ff9465) Signed-off-by: Naoki Hayama <naoki.hayama@lineo.co.jp> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit bc96db2e0b5b8a9cc2c909ea70df290e03a50b94) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/sanity: Bump minimum python version to 3.5Joshua Watt2020-10-151-2/+2
| | | | | | | | | | | | | Bumps the minimum python version to 3.5 to match bitbake and the test matrix (From OE-Core rev: 346f0efdecdab81504d181092204e89e85835d4f) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit df13c0f2348898023fb7ee1b229e9b5ccc893609) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: add KBUILD_DEFCONFIG search location to failure messageBruce Ashfield2020-10-061-1/+1
| | | | | | | | | | | | | | | | | It was pointed out that since the check for the existence of KBUILD_DEFCONFIG knows where it is looking, that should be part of the error/log message. We only look in one location for the defconfigs, so add where we checked to the message. (From OE-Core rev: 9f0e7c1a17542aa36d4245f15f6ffbafcbaf9bd3) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 1d4d80be41d273abd1fb6416976603d924457973) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: Check file ownership before doing 'touch -a'Norman Stetter2020-10-061-1/+1
| | | | | | | | | | | | | | | | | | In contrast to 'touching' a file without parameters 'touch -a' can only be performed by the file owner. In case of a shared sstate-cache served locally (e.g. over NFS), where the user running bitbake is not the owner of sstate-cache files, even if he has write access on group level, the sstate_unpack_package task will fail. Checking if the file is owned by the user before attempting to run 'touch -a' on it solves this. (From OE-Core rev: 8e7bb01564d5b06bcbda402cf4d29d7a0ff170c5) Signed-off-by: Norman Stetter <norman.stetter@garz-fricke.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit f1554e8bd40c640fd58daac18ecf7b458e754109) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testexport: rename create_tarball methodKonrad Weihmann2020-10-061-4/+4
| | | | | | | | | | | | | | as otherwise when using it in combination with archiver.bbclass we would have 2 methods of the same name but with different signatures leading to various hard to understand exceptions (From OE-Core rev: fa240a4d8ede066980cec70f479548d5df502ded) Signed-off-by: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit ce0c1cb2fc67881d2edcbe269ea934917ccfb48a) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: check for missing update-alternatives inheritAndrey Zhizhikin2020-10-061-0/+9
| | | | | | | | | | | | | | | Add a package QA check to test if the recipe sets ALTERNATIVE variable for any of its packages, and does not inherit update-alternatives class. This causes the do_rootfs to fail since a proper alternative cannot be created. (From OE-Core rev: 0845f6b09716d927c586be5be878d08fa53b31d1) Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 24b5ccc76d5660fac38ac5346666380a0ecce359) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Check for feature check variables not being usedJacob Kroon2020-10-061-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: 02fa8637195447f38b4ce96086197490ce814987) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit c06489d102682504afe33f9fee3facd9628b3f57) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "kernel.bbclass: run do_symlink_kernsrc before do_patch"Steve Sakoman2020-09-221-1/+1
| | | | | | | | | | | | | This reverts commit 914d8a00e34a8edf75a349da6f5978e4ed60e6d5. Due to bug introduced for externalsrc https://bugzilla.yoctoproject.org/show_bug.cgi?id=14044 (From OE-Core rev: a6a9913575aab96f4347bdf979e26115aa0fd716) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: Do not assume local.conf will always existKhem Raj2020-09-221-2/+3
| | | | | | | | | | | | | | Some distros may not have local.conf, and use auto.conf or site.conf alone to describe distro config metadata, therefore make code robust to not fail eSDK builds for such setups (From OE-Core rev: 554dba802108c91b79acf81c046e6a47815404fb) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 6379f951ba92b2b86a55de5fc267bacf8c6095d2) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: avoid FileNotFoundError if no do_cve_check task has runChris Laplante2020-09-171-6/+7
| | | | | | | | | | | | | For example, if you just run 'bitbake cve-update-db-native' in a clean build system, |cve_tmp_file| won't exist yet. (From OE-Core rev: b98e50f08b2bcf61fbc75ea1b0ad83a17c0a736a) Signed-off-by: Chris Laplante <chris.laplante@agilent.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit dd4473f3d8e1c1a587b6de660775e4b46ddc5fad) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check/cve-update-db-native: use lockfile to fix usage under multiconfigChris Laplante2020-09-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously CVE_CHECK_DB_FILE / CVE_CHECK_DB_DIR was the same across multiconfigs which led to a race condition wherein multiple cve-update-db-native:do_populate_cve_db tasks could attempt to write to the same sqlite database. This led to the following task failure: Error executing a python function in exec_python_func() autogenerated: The stack trace of python calls that resulted in this exception/failure was: File: 'exec_python_func() autogenerated', lineno: 2, function: <module> 0001: *** 0002:do_populate_cve_db(d) 0003: File: '/mnt/data/agent/work/74f119cccb44f133/yocto/sources/poky/meta/recipes-core/meta/cve-update-db-native.bb', lineno: 103, function: do_populate_cve_db 0099: if year == date.today().year: 0100: cve_f.write('CVE database update : %s\n\n' % date.today()) 0101: 0102: cve_f.close() *** 0103: conn.commit() 0104: conn.close() 0105:} 0106: 0107:def initialize_db(c): Exception: sqlite3.OperationalError: disk I/O error Use a lockfile to ensure multiple tasks don't step over each other. (From OE-Core rev: f08604d27ecacfd37bd37bfaf4c76f17b8f65604) Signed-off-by: Chris Laplante <chris.laplante@agilent.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 24e9380643a2ae3fcae193519cb64aedaf682153) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check.bbclass: always save cve reportakuster2020-09-171-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: 4dab2610a35a998ee0bf5309a0b399ee0d54b4a8) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 859849c7b594d844819ad8c3f7d8325388d94b93) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: fix REPRODUCIBLE_TIMESTAMP_ROOTFS referenceMatt Madison2020-09-171-1/+1
| | | | | | | | | | | | | | | | | | Commit 97b439469a45a089431ca9c31893288c855045f4 added a fallback mechanism for getting the rootfs timestamp. However, it uses curly braces around the variable name, which causes bitbake resolve the variable reference, rather than the shell, so the git timestamp never gets used. Fix the reference to restore the intent of making it a fallback for when there is no git timestamp to retrieve. (From OE-Core rev: 21d7ab8ce10f6d6a56875244c09dcfebae457b22) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit fbcf2c1c255b0c61a795c032cf7b67f5db41baa8) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: only load real files as ELFRoss Burton2020-09-171-6/+7
| | | | | | | | | | | | | | | | | The file path checks are passed an ELF object if the file is an ELF. It doesn't make a lot of sense to load symlinks to ELFs as if they're in the same package then the real file will be checked too. This should speed up do_package_qa slightly as libraries won't be scanned repeatedly. (From OE-Core rev: 0b6f03752e6581a15e5fb900a8de7aef78709ef6) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit c63af30d3b6350361daff94a59d4f14d7c5395e1) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: get_package_mapping: avoid dependency mapping if renamed package ↵Yann Dirson2020-09-101-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | provides original name Packages with a runtime dependency on a target package whose name is changed by the PKG_* mechanism must rebuild when that mapping changes, but we have no way of tracking this today, so eg. packagegroup-machine-base ends up with a relationship on a versioned kernel-image, and does not get rebuilt when that version changes, leading to unsatisfiable dependency and reproducibility issue. OTOH there is no reason for the dependency to get rewritten if the renamed package already has a RPROVIDES on the non-rewritten package name, and if the dependency relationship is an unversionned one. This is what this patch prevents. Note that this may not cover all cases of rewritten package names. Notably I had to let the rewrite be done in the case of versionned dependencies, as package managers usually can follow "Provides" in such case; this includes many dependencies against shared-lib packages renamed to their soname, and those at least are OK, since the dependent recipe should explicitly depend on the target recipe. (From OE-Core rev: 920beaaeef62b558e046f32c8ef0332250969ef1) (From OE-Core rev: 210ebed1e9c2285d6e457bf03d1f1a1f3ddc7fda) Signed-off-by: Yann Dirson <yann@blade-group.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: improve gnu-hash-style warningRoss Burton2020-09-101-1/+2
| | | | | | | | | | | | | Instead of showing a filename under packages-split, show the package name and filename inside the package. (From OE-Core rev: 60b474320e2dd36bff9f0ef5f1dc491cbe734919) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 4f78fc65bb0c9bff05651d9e543bab3d75998f79) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: fix gnu-hash-style checkSumit Garg2020-09-101-1/+1
| | | | | | | | | | | | | | Fix gnu-hash-style check that always returned True after commit [1] leading to false positive presence of "GNU_HASH" in objdump output. Fixes: 9ff90bf04a4c ("mips: Enable gnu-hash-style on glibc") [1] (From OE-Core rev: af265eca8c95ba92718b37e62b5b4eeb2f17668c) Signed-off-by: Sumit Garg <sumit.garg@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 996010f1b9ca98592e2c87e1adcb0c79b86517b7) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cml1: Move find_cfgs() helper to cml1.bbclassRasmus Villemoes2020-09-101-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: b0fb7f18f9091db50204ef1ebd5248739ddcd6c2) Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit af687c9137a3e8efe48afa6fd12866cf656ae913) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: checksum all modifications to available kernel fragments ↵Bruce Ashfield2020-09-101-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | directories This is based on the patch from Zhaolong Zhang <zhangzl2013@126.com> [kernel-yocto: checksum indirect cfg and scc files] While the recommended manner to share/reuse feature fragments is to maintain them in a kernel-meta repository and track the changes via the standard SRCREV fetcher mechanism, that method is not always practical for small sets of features or for quick testing of changes. These other flows use .scc files on the SRC_URI. It has been noted that config fragments or other features indirectly included by those .scc files will not trigger the kernel meta-data to be re-run and hence a build can continue with stale data (or not be triggered at all). To solve this issue, we can collect the directories that are searchable via FILESEXTRAPATHS and add them to the do_kernel_metadata task checksum. This allows modifications, additions and removals from the potential kernel feature directories to trigger a re-execution of the meta data task. (From OE-Core rev: e397859ceac42d926134d5cb7828526d8d649c95) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 09f4db415fb6a1398e9e9b359630043c833f6118) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: explode the RPROVIDES so we don't think the versions are ↵Ross Burton2020-09-101-1/+1
| | | | | | | | | | | | | | | | | | | | provides emit_pkgdata() creates symlinks for each of the RPROVIDES in pkgdata/MACHINE/runtime-rprovides. However this string can contain versions which results in directories called (=2.32), so pass the RPROVIDES string through bb.utils.explode_deps() to strip the versions out. Helps mitigate - but not solve - #13999. (From OE-Core rev: be88ca5c4bd0dd98d172a53727c7104d46349fdd) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 6a5395dec34192db233bfb2a060e5ccc99708f03) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: run do_symlink_kernsrc before do_patchRasmus Villemoes2020-09-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | There's a race between do_symlink_kernsrc and do_populate_lic, since the latter is ordered "after do_patch"; so the two may run in parallel. In some cases, that actually causes do_populate_lic to fail if it happens to look for a license file somewhere under ${S} in the short window after shutil.move and before the symlink has been created. Fix that by simply ordering symlink_kernsrc before do_patch. Any task that pokes around in ${S} looking for files should be ordered after do_patch, so this should also fix similar latent races with other ad hoc tasks. (From OE-Core rev: 914d8a00e34a8edf75a349da6f5978e4ed60e6d5) Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit c5dfc2586b4135cc86e91bb04fed837daf505676) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types_wic: Add ASSUME_PROVIDED to WICVARSVijai Kumar K2020-09-021-1/+2
| | | | | | | | | | | | | | | Add ASSUME_PROVIDED to WICVARS so that wic can use that when running on bitbake environment. This fixes the below build failure in do_image_wic when --include-path is used in wks file. (From OE-Core rev: 105f352abab0a57d6d3a6cf3d75ba4d895e3c254) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 04068ff19d2c18c3b915aab6832ad4b48affa07f) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>