summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
...
* populate_sdk_base: add zip optionsChristoph Lauer2023-05-031-1/+3
| | | | | | | | | | | | | Add SDK_ZIP_OPTIONS to remove symbolic link creation in zip archive or add options, e.g. for encryption of the zip archive. (From OE-Core rev: 04b62f9459b401c276255f166d0738b6f902a576) (From OE-Core rev: 4f5bf144bfe4f34adfc22d86783d6ce29e9f6e15) Signed-off-by: Christoph Lauer <christoph.lauer@xtronic.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Steve Sakoman <steve@sakoman.com>
* cmake: add CMAKE_SYSROOT to generated toolchain filePascal Bach2023-05-031-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | This already got fixed in the toolchain file that is used during development in https://github.com/openembedded/openembedded-core/commit/cb42802f2fe1760f894a435b07286bca3a220364 The toolchain file generated by the cmake.bbclass however does not set CMAKE_SYSROOT. Under certain circumstances this also leads to the error: `"stdlib.h: No such file or directory #include_next <stdlib.h>"` during the build of a recipe. An example where this accured was during the upgrade of the Apache Thrift recipe in meta-openembedded to 0.11.0. With this change the build works out of the box. CMAKE_SYSROOT must only be set when crosscompiling, otherwise it will interfere with the native compiler headers. (From OE-Core rev: 1105c67d554bcd155e8247cb16efc8d6a642444f) Signed-off-by: Pascal Bach <pascal.bach@siemens.com> (from http://lists.openembedded.org/pipermail/openembedded-core/2018-August/154791.html ) Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Signed-off-by: Poonam Jadhav <poonam.jadhav@kpit.com> Signed-off-by: Steve Sakoman <steve@sakoman.com>
* package.bbclass: correct check for /build in copydebugsources()Peter Marko2023-04-191-1/+1
| | | | | | | | | | | | | | | | | | | Newly introduced kirkstone-only commit https://git.openembedded.org/openembedded-core/commit/?h=kirkstone&id=80839835ec9fcb63069289225a3c1af257ffdef7 broke builds with externalsrc in Gitlab-CI. This is yocto-4.0.9 regression. It checks if directory starts with "build" instead of if checking if it equals to "build". Gitlab-CI uses directory "/builds" which matches the check but directory /build does not exist, only /builds. After successful check it tries to move this non-existent directory which does not exists and thus do_package fails. (From OE-Core rev: b67e714b367a08fdeeeff68c2d9495ec9bc07304) Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Steve Sakoman <steve@sakoman.com>
* patchelf: replace a rejected patch with an equivalent uninative.bbclass tweakAlexander Kanavin2023-04-111-0/+2
| | | | | | | | | | | | | | | | | This was the original reason to add the patch: https://git.openembedded.org/openembedded-core/commit/?id=18efcbcb896239c64fedd009ce57f3f0c668cbc0 and this is the upstream discussion which suggests handling read-only files explicitly outside of patchelf: https://github.com/NixOS/patchelf/pull/89 (From OE-Core rev: 163e2d5defebab262a5ec6fa9885deedace538f2) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: Fix false negative version issueGeoffrey GIRY2023-04-111-1/+4
| | | | | | | | | | | | | | | | | NVD DB store version and update in the same value, separated by '_'. The proposed patch check if the version from NVD DB contains a "_", ie 9.2.0_p1 is convert to 9.2.0p1 before version comparison. [YOCTO #14127] Reviewed-by: Yoann CONGAL <yoann.congal@smile.fr> (From OE-Core rev: f331c80df6c447d3073ebe3f00102c78ced242f3) Signed-off-by: Geoffrey GIRY <geoffrey.giry@smile.fr> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 7d00f6ec578084a0a0e5caf36241d53036d996c4) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types: fix multiubi var initRomuald Jeanne2023-03-281-0/+3
| | | | | | | | | | | | | | | | | Make sure to expand all MKUBIFS_ARGS_<label> and UBINIZE_ARGS_<label> vars in 'do_image_multiubi' task to use them to init the local 'mkubifs_args' and 'ubinize_args' vars. See [YOCTO #15065] (From OE-Core rev: 0fce158e59918172b9e42558fc63342384edf657) Signed-off-by: Romuald JEANNE <romuald.jeanne@st.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 09d05215cf61981c7bc828cc0ff64c2fd5edc43c) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd.bbclass: Add /usr/lib/systemd to searchpaths as wellKhem Raj2023-03-281-0/+1
| | | | | | | | | | | | | | | | | | | Some packages like lirc places its unit files into $systemd_user_unitdir and also uses them in SYSTEMD_SERVICE list in recipe. This fails in do_package ERROR: Didn't find service unit 'lircmd.service', specified in SYSTEMD_SERVICE:lirc. here lircmd.service is installed in /usr/lib/systemd/system/lircmd.service (From OE-Core rev: 7582421fc3a711e5ed23add75ed49207e699c422) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 12808a4159835b67d8d53d32bc9135811701a779) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: Handle spaces within user $PATHKenfe-Mickael Laventure2023-03-231-1/+1
| | | | | | | | | | | | | | | | The script generated by the sdk_ext_postinst function was not quoting the user existing PATH when updating it causing the export command to fail. Add necessary double quotes around $PATH. (From OE-Core rev: d2800e00bb4a1d169e0a91b758d3fb2ec5e35f74) Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 00e96bf250eaaded839caf465dbc0af5b604aed7) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-scripts: Handle spaces within user $PATHKenfe-Mickael Laventure2023-03-231-1/+1
| | | | | | | | | | | | | | | The environment-setup script generated by the recipe was not quoting the user existing PATH when updating it causing the export command to fail. Add necessary double quotes around $PATH. (From OE-Core rev: 64dd672193b43b1364acc73918a54abaa93645e4) Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 42177ff2d45ee70ad00917bb6fbabca49dae4f59) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging/multilib: Fix manifest corruptionRichard Purdie2023-03-232-3/+5
| | | | | | | | | | | | | | | | The previous fix wasn't enough to address all the possible ways the manifests might be ordered. Rework the previous fix so it is tied to the multilib cross-canadian code which is causing the problem. RECIPE_SYSROOT_MANIFEST_SUBDIR is not documented as I'd hope nobody ever needs to use this outside the core multilib code. (From OE-Core rev: 0aa703c06bf101114836ac701bbb524302c0753a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit beab42e00713880cd95a04729c892f8662fbcbed) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Separate out different multiconfig manifestsRichard Purdie2023-03-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | """ require conf/multilib.conf MACHINE = "qemuarm64" MULTILIBS = "multilib:lib32" DEFAULTTUNE:virtclass-multilib-lib32 = "armv7athf-neon" bitbake gcc-cross-canadian-arm """ and then inspecting the lib32* manifest files under recipe-sysroot-native shows them referencing lib32-recipe-sysroot instead of recipe-sysroot as used by gcc-cross-canadian recipes. To fix this separate out the manifest by multilib. It is caching mechanism to optimise disk usage so this doesn't break anything, just separated out some files. (From OE-Core rev: 29f7390add28d3a6fb6854bc750d1db3d969f027) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 891d3faa3ed3d1cc231da58e5fa1325f05d5ade5) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux: inherit pkgconfig in kernel.bbclassMing Liu2023-03-201-1/+1
| | | | | | | | | | | | | | pkgconfig is being required to find dependencies for building kernel native tools, move "inherit pkgconfig" to kernel.bbclass so BSP kernel recipes can also benefit from it. (From OE-Core rev: e09c50e01d0f5cf45b9622ab0ed33df12bdeb7ee) Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 8a84bd98e3fbc16c782f83064801e469d086911e) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: fix kernel-meta data detectionUlrich Ölmann2023-03-091-1/+1
| | | | | | | | | | | | Fixes: 7ef7af5c03ba ("kernel-yocto: restore kernel-meta data detection for SRC_URI elements") (From OE-Core rev: c92593af46ef2ccbaaff89bb75eac46b3ac8b856) Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit c77754f23e3fb49a62602a6c6a04d5525d1cf457) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclase: Add check for /build in copydebugsources()Saul Wold2023-03-091-0/+7
| | | | | | | | | | | | | | | | This is needed when the SDK or eSDK is installed in a /build top level directory as it conflicts with the build directory within the existing /usr/src/debug/build (which is really a link). Rename it and then do the copy, this is not an issue with master currently due to some other changes that occurred in master. Fixes: [YOCTO #15026] (From OE-Core rev: 80839835ec9fcb63069289225a3c1af257ffdef7) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devshell: Do not add scripts/git-intercept to PATHPeter Kjellerstedt2023-02-241-2/+0
| | | | | | | | | | | | | | | The use of scripts/git-intercept was introduced in commit 3266c327df (install/devshell: Introduce git intercept script due to fakeroot issues) and later reverted in commit af27c81eaf (scripts: Make git intercept global). (From OE-Core rev: 70ee5f9d50bec6e708cd2006c11ef3d0bd7cab42) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> (cherry picked from commit f6c260c8e2a33e282a35afc99de4ef8cc1791b08) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: print all QA functions exceptionsMauro Queiros2023-02-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the QA checks in `image.bbclass`, all exceptions other than `oe.utils.ImageQAFailed` always print the following generic message: "Image QA function func_name failed" This can be very misleading, as it may hide python syntax errors and other kind of issues that are hard to detect without more explicit error messages. This change makes sure that the error message of all exceptions are displayed. Before this change: "Image QA function func_name failed" After this change: "Image QA function func_name failed: f-string: empty expression not allowed (<string>, line 13)" (From OE-Core rev: 6c53d8d8c88fb06b19fbf5bdd754960b21531074) Signed-off-by: Mauro Queiros <maurofrqueiros@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 3d85b30d8704d38b86f5b006748cebc74bd2a4fa) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* update-alternatives: fix typosUlrich Ölmann2023-02-241-3/+3
| | | | | | | | | | (From OE-Core rev: 6b6f3cfe8995663b31482e70285863266dfd9d80) Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit d3ca05b072c152b76a86edaaddebabdef312ea95) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipe_sanity: fix old override syntaxUlrich Ölmann2023-02-151-1/+1
| | | | | | | | | | (From OE-Core rev: 381fcdba555d0b56fcd4525d82bec851b3da95ec) Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 18eeea6fcd8ade49390a978134f51646da2f7764) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-locale: Fix on target locale generationRichard Purdie2023-02-151-0/+1
| | | | | | | | | | | | If on target locale generation is used, it fails at first boot showing errors about a missing directory. Ensure the directory exists. (From OE-Core rev: 258115c2a7d78f0416f952122c9448a805dab08f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit f2844c9f1bbb729562063d96a3d1cc9d44dafa0a) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: Fix error message to reflect new syntaxAlejandro Hernandez Samaniego2023-02-151-1/+1
| | | | | | | | | | | (From OE-Core rev: 03eced200a69ee64cb0efdca164e0d287314beac) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit ec73d19d78e8f30ff9b817490c23bcdf8ea47c86) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: remove True option to getVar and getVarFlag calls (again)Martin Jansa2023-02-152-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * True is default since 2016 and most layers were already updated not to pass this parameter where not necessary, e.g. oe-core was updated couple times, first in: https://git.openembedded.org/openembedded-core/commit/?id=7c552996597faaee2fbee185b250c0ee30ea3b5f Updated with the same regexp as later oe-core update: https://git.openembedded.org/openembedded-core/commit/?id=9f551d588693328e4d99d33be94f26684eafcaba with small modification to replace not only d.getVar, but also data.getVar as in e.g.: e.data.getVar('ERR_REPORT_USERNAME', True) and for getVarFlag: sed -e 's|\(d\.getVarFlag \?\)( \?\([^,()]*, \?[^,()]*\), \?True)|\1(\2)|g' \ -i $(git grep -E 'getVarFlag ?\( ?([^,()]*), ?([^,()]*), ?True\)' \ | cut -d':' -f1 \ | sort -u) (From OE-Core rev: de7bf6689a19dc614ce4b39c84ffd825bee1b962) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 26c74fd10614582e177437608908eb43688ab510) Signed-off-by: Steve Sakoman <steve@sakoman.com> (cherry picked from commit 24a86d0c55ee89ae0dc77975e1d0ee02898d2289) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scons.bbclass: Make MAXLINELENGTH overridableKhem Raj2023-02-151-4/+5
| | | | | | | | | | | | | | | | | | | older scons do not support MAXLINELENGTH and some packages still may be using older scons, these recipes can clear SCONS_MAXLINELENGTH in them and get going. Set SCONS_MAXLINELENGTH = "" in such recipes. (From OE-Core rev: b4eaa248077305b75c551acb94223dbc524fc7a3) Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 34de57d12c0a752f66c962d29e5335c1035db066) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scons: Pass MAXLINELENGTH to scons invocationKhem Raj2023-02-151-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | This helps in overcoming a problem when using scons with ccache enabled. When commands get longer, then it resorts to using response files to do the operations e.g. @/tmp/tmp96j6icra.lnk when this response file is inboked by compiler it works ok, however, this does not when ccache is used to invoke the complilation. We see errors e.g. ccache @/tmp/tmppsyij_0v.lnk ccache: error: execute_noreturn of @/tmp/tmppsyij_0v.lnk failed: No such file or directory Using MAXLINELENGTH setting ensures that we can use ARG_MAX to extend the length of commandline and hence avoid using response files. This issue is also reported in mongodb [1] [1] https://jira.mongodb.org/browse/SERVER-38389 (From OE-Core rev: b0e7777a911e236bda76e90258098057ed355953) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 29558f6218f4676b459f2c78f82d245339d51c8c) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/fs-uuid: Fix command output decoding issuePawel Zalewski2023-02-151-1/+1
| | | | | | | | | | | | | The default return value from subprocess.check_output is an encoded byte. The applied fix will decode the value to a string. (From OE-Core rev: ffa1de16fa82fbe7dfbed4c5ae0fc4e6d51e7ff3) Signed-off-by: Pawel Zalewski <pzalewski@thegoodpenguin.co.uk> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 046769fa952a511865c416b80d10af6287147fb7) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel/linux-kernel-base: Fix kernel build artefact determinism issuesRichard Purdie2023-02-152-3/+4
| | | | | | | | | | | | | | | | With the 6.1 kernel we've seen reproducibility/determinism issues where the kernel seems to rebuild headers referencing the hostname or local user. kernel-devsrc building after the kernel seemed to trigger it in some cases. Moving the definitions to the bbclass used by all the kernel recipe code including kernel-devsrc seems to be the best way to ensure this doesn't happen. (From OE-Core rev: 4c302827365903b99a517651c2a14661ce78f79b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 60681baa97daf4f3856453c34d6be08b6771a81b) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Fix missing leading whitespace with ':append'Niko Mauno2023-02-042-2/+2
| | | | | | | | | | | | | | | | Mitigate occurences where ':append' operator is used and leading whitespace character is obviously missing, risking inadvertent string concatenation. (From OE-Core rev: fcd340ec53ff8352b8cae0eb351810072b025a08) (From OE-Core rev: cb64ace13db85e143d99627c8803fbb13ba18617) Signed-off-by: Niko Mauno <niko.mauno@vaisala.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.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>
* native: Drop special variable handlingRichard Purdie2023-02-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Back when it was merged in https://git.yoctoproject.org/poky/commit/?id=c4257ed8b1040a5a0e9a95846d81961741239116 it appeared special handling in setVar was necessary. Likely due to other fixes and improvements it no longer appears to be. The results of "bitbake world -g" before and after this change are identical for oe-core and meta-openembedded. Therefore drop the "parsing=True" special parameter to setVar() meaning overrides can now be cleared. This means that something like: DEPENDS:append = " bash" now functions as expected, adding bash to the target recipe and bash-native to the native BBCLASSEXTENDED version. Without this change, it would add bash to the native version as well as bash-native which is clearly incorrect. [YOCTO #15010] (From OE-Core rev: 47a2634831f907d83ec40ad010351c923ef67f0d) 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> (cherry picked from commit 99a5105f7b5303cd36077b5910c662a865c1782c) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: fix devtool finish when gitmodules file is emptyThomas Roos2023-02-041-1/+1
| | | | | | | | | | | | | | | | When a .gitmodules file exists but is empty then devtool finish fails. Add an additional check for this. [YOCTO #14999] (From OE-Core rev: 3c3b16ed1c2e74389d570fba8800ffdec62fdd48) Signed-off-by: Thomas Roos <throos@amazon.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit b4f0f7c4934bade9e4d4a1086f9d8b29d8e9ad45) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-scripts: compatibility with unbound variable protectionJan Kircher2023-01-261-1/+1
| | | | | | | | | | | | | Fixed an error when Bash's unbound variable protection is enabled (set -u) and variable "LD_LIBRARY_PATH" does not exist. (From OE-Core rev: ad2b7b4d4138ac5f6f74f69d9d6d88a592b14c6f) Signed-off-by: Jan Kircher <openembedded@hetsh.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 85685370b0ad93291cda59fb091a15eeecf5e0d5) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage: Allow user to select dtb when multiple dtb existsSandeep Gundlupet Raju2023-01-261-1/+15
| | | | | | | | | | | | | | | | | | | | | Allow user to select the default DTB for FIT image when multiple dtb's exists. From machine.conf or local.conf user can specify the default dtb for FIT image as shown below. FIT_CONF_DEFAULT_DTB = "board-default.dtb" Also fallback to avaialable dtb when FIT_CONF_DEFAULT_DTB doesn't exits or empty. (From OE-Core rev: 678ad9458a17d9feebb2ea897be4b9bc0daf3391) Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> (cherry picked from commit cd397284fa5f17de7e0a0d4b6b26fb8b56c3cd48) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-fitimage: Adjust order of dtb/dtbo filesSandeep Gundlupet Raju2023-01-261-2/+3
| | | | | | | | | | | | | | | | | | | | | | | The dtb files must be before the dtbo files, otherwise the overlays may not be applied correctly. From Bruce Ashfield: We can split between dtbs and dtbos, they just need to be sorted for reproducibility reasons. Of course, this was only working by luck previously (before the sort), since it has always been gathering dtbs and dtbo's with find, depending on filesystem ordering for the order in the fitimage). (From OE-Core rev: ca91d226e3e1671872bea9de55510545598acf91) Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> (cherry picked from commit 3df94d3c93707f03c501f8aa56450457d0f7fb71) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: image: Set empty weak default IMAGE_LINGUASAlex Kiernan2023-01-261-2/+1
| | | | | | | | | | | | | | | This is already set in default-distrovars.inc and so this assignment will almost never succeed. Rather than leaving it to confuse, set an empty weak default. (From OE-Core rev: bc620b0e241f9e1592cdb89e87d49a247bc69767) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit eb402948158659da7de0fbbb1bb403c8dad06e2b) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: write the cve manifest to IMGDEPLOYDIRJermain Horsman2023-01-261-3/+3
| | | | | | | | | | | | | | | | | | | When building an image cve_check_write_rootfs_manifest() would sometimes fail with a FileNotFoundError when writing the manifest.cve due to the parent directory (DEPLOY_DIR_IMAGE) not (yet) existing. The image task will provide the manifest in the deploy directory afterwards, so other recipes depending on the manifest being in DEPLOY_DIR_IMAGE should continue to function properly. (From OE-Core rev: 3e1ae171d89d0ac5487a8930bf6f8a97c43fdf57) Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 00fb2aae22ce0d7ff5f3f8766fa770eeb4e73483) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gtk-icon-cache: Fix GTKIC_CMD if-else conditionDaniel Gomez2023-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | GTKIC_CMD variable gets the wrong assignation leading into a post install script error. Fix if-else condition in GTKIC_CMD variable to assign gtk4-update-icon-cache when GTKIC_VERSION is 4 but gtk-update-icon-cache when is 3. Also, rename gtk-update-icon-cache-3.0.0 to gtk-update-icon-cache-3.0 to match the gtk-update-icon-cache binary name deployed in meta/recipes-gnome/gtk+/gtk+3.inc. (From OE-Core rev: 34de16fd86775c0f2ede1670fec90217e4d11776) Signed-off-by: Daniel Gomez <daniel@qtec.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work.bbclass: use HOSTTOOLS 'rm' binary exclusivelyLuis2023-01-151-4/+11
| | | | | | | | | | | | | | | | | | | | The do_rm_work() task is using the first available 'rm' binary available in PATH to remove files and folders. However, depending on the PATH setup and RECIPE_SYSROOT_NATIVE contents, the function can be using the 'rm' binary available in RECIPE_SYSROOT_NATIVE, a folder that will get removed. This causes a sporadic race-condition when trying to access the 'rm' binary of a folder already deleted. Solve this by exclusively using the HOSTTOOLS 'rm' binary, as this folder will not get removed. (From OE-Core rev: 7ad7ba54916351f4fe2d0bd1542962539e5eb4bd) Signed-off-by: Luis Martins <luis.pinto.martins@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit edcd9ad333bc4e504594e8af83e8cb7007d2e35c) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: Fix way to check ccache pathChangqing Li2023-01-151-1/+1
| | | | | | | | | | | | | | | | | | | The previous code had 2 issues: 1. make hosttools/ccache always link to host's ccache (/usr/bin/ccache) even we have one buildtools 2. make hosttools/gcc etc, link to host's gcc event we have one buildtools when keyword ccache in buildtools's path, eg: /mnt/ccache/bin/buildtools This patch is for fix above issues. (From OE-Core rev: 19f6849b161115161c025a0b435229d5097abb9e) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 1b7c81414cf252a7203d95703810a770184d7e4d) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuboot.bbclass: make sure runqemu boots bundled initramfs kernel imageJagadeesh Krishnanjanappa2023-01-061-1/+2
| | | | | | | | | | | | | | | | | | | | The QB_DEFAULT_KERNEL is set to pick bundled initramfs kernel image if the Linux kernel image is generated with INITRAMFS_IMAGE_BUNDLE="1". This makes runqemu to automatically pick bundled initramfs kernel image instead of explicitly mentioning bundled initramfs kernel image in runqemu. [YOCTO #14748] (From OE-Core rev: ce673bc9f74aff1b6ba06e7b1d90da529894dce3) 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> (cherry picked from commit 52371624313184e1a825519160c3833e282df8b9) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: remove empty module directories to prevent QA issuesOvidiu Panait2023-01-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | Currently, allyesconfig test runs for x86_64 fail with: ERROR: linux-yocto-5.19.17+gitAUTOINC+0cba9aa404_aaf4490d18-r0 do_package: QA Issue: linux-yocto: Files/directories were installed but not shipped in any package: /lib/modules/5.19.17/kernel/drivers/nvdimm With CONFIG_NVDIMM_TEST_BUILD=m, an empty nvdimm directory is created during modules_install, which triggers the QA issue. Extend kernel_do_install() to also remove inner empty directories that might get created by modules_install. (From OE-Core rev: 2f2abcb6d2394cdfd3985499ed882f43a5d2a299) Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 7120b09a33af4c9a18063c0f2e51fb598697e39c) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/create-spdx: Add SPDX_PRETTY optionJoshua Watt2023-01-061-6/+16
| | | | | | | | | | | | | | Adds an option to make the SPDX more human-readable (at the expense of a larger files) (From OE-Core rev: e680a7402edec2803b03c56590c9d08d07497c73) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 4799594b26f77ed259dc661bf077519b338390c8) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* baremetal-image: Avoid overriding qemu variables from IMAGE_CLASSESAlejandro Hernandez Samaniego2023-01-061-0/+11
| | | | | | | | | | | | | | | | | | | Since qemuboot is part of IMAGE_CLASSES via qemu.inc it is being inherited before we set the QB_FOO variables. Since our variables have conditional definitions and at that point they've already been defined by qemuboot, we can no longer define them in our class. Move the IMAGE_CLASSES inherit to execute it after we set the QB_FOO variables to fix booting via runqemu. (From OE-Core rev: c588b05ed4bc6b46749e24e80300228df017c694) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 8ed78ec262b2502dc3b673b24a868a3eec616a20) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* externalsrc: fix lookup for .gitmodulesPeter Marko2022-12-231-1/+1
| | | | | | | | | | | | | | | | | | | | Commit 0533edac277080e1bd130c14df0cbac61ba01a0c broke bitbake parsing when bitbake is executed from directory with existing .gitmodules and the recipe in externalsrc does not have .gitmodules The check needs to search for .gitmodules in sources path, not cwd. iParsing recipes...ERROR: ExpansionError during parsing <path to recipe> ... bb.data_smart.ExpansionError: Failure expanding variable do_compile[file-checksums], expression was ${@srctree_hash_files(d)} which triggered exception CalledProcessError: Command '['git', 'config', '--file', '.gitmodules', '--get-regexp', 'path']' returned non-zero exit status 1. (From OE-Core rev: 1f3b39c4d6828940934a341e9f8b73214dc67fdf) Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 66ff3d1f65cd2e7f5319e98fa41f47a59b714c72) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work: adjust dependency to make do_rm_work_all depend on do_rm_workChen Qi2022-12-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For now, if we use rm_work and `bitbake core-image-minimal', some recipes' WORKDIRs are not cleaned up, e.g., makedevs-native. Adjust the dependency to make do_rm_work_all depend on do_rm_work to solve this problem. Below are the detailed explanation of why this would work. Without this patch, the dependency chain is like: [other deps] -> [do_rm_work] -+-> [do_build] | [do_rm_work_all] -------------+ With this patch, the depedency chain is like: [other deps] -> [do_rm_work] -> [do_rm_work_all] -> [do_build] Such dependency chain adjustment fixes the issue because do_rm_work_all now depends on [other deps] and thus the [depends] of these [other deps]. Take core-image-minimal as an example. Before this adjustment, do_rm_work_all does not have any relationship with do_rootfs, and we have do_rootfs[depends] += "makedevs-native:do_populate_sysroot ..." This essentially prevents 'recrdeptask' setting of do_rm_work_all extend to makedevs-native. With this patch, the do_rm_work_all now depends on do_rm_work which in turn depends on do_rootfs, and so do_rm_work_all's recrdeptask could have effect on makedevs-native. With this patch, all built recipes WORKDIR will be cleaned up with a few expected exceptions such as kernel and qemu-helper-native. (From OE-Core rev: 2565fe40514ac17d0c97e847bb9ff0ab90410e53) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit b25cc45c9b39f79ba0a03c4556cb2e2431677b4e) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: make TOOLCHAIN more permissive for kernelAlexey Smirnov2022-12-131-1/+1
| | | | | | | | | | | | | | Currently TOOLCHAIN is strictly set to gcc in kernel-arch.bbclass. And this prevents any TOOLCHAIN changes for any kernel recipe. This change makes TOOLCHAIN configurable as usual. (From OE-Core rev: 0fd2cd0b1f28e9c829efc105f70611a4eafd4f31) Signed-off-by: Alexey Smirnov <pyih.soft@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit be1634fc35dcc81f0301d942064a6eed584e0704) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mirrors.bbclass: update CPAN_MIRRORTim Orling2022-12-071-2/+1
| | | | | | | | | | | | | | Both of these redirect to https://cpan.metacpan.org/: http://cpan.metacpan.org/ http://search.cpan.org/CPAN/ (From OE-Core rev: c0f3da88a9646fc5e6d549b1a2327c0823c0e5a1) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit f1b74fc09f70d52d9ac629b04d81aa94fd97ff40) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: make KERNEL_DEBUG_TIMESTAMPS work at rebuildChen Qi2022-12-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the KERNEL_DEBUG_TIMESTAMPS is not working as expected at rebuild. That is, even if we set it to "1", the kernel build time is not changed. The problem could be reproduced by the following steps. 1. bitbake core-image-minimal; start image and check `uname -a` output. 2. set in local.conf: KERNEL_DEBUG_TIMESTAMPS = "1" 3. bitbake core-image-minimal; start image and check `uname -a` output. It's expected that after enabling KERNEL_DEBUG_TIMESTAMPS, the kernel build time will be set to current date. But it's not. This is because the compile.h was not re-generated when do_compile task was re-executed. In mkcompile_h, we have: """ # Only replace the real compile.h if the new one is different, # in order to preserve the timestamp and avoid unnecessary # recompilations. # We don't consider the file changed if only the date/time changed, # unless KBUILD_BUILD_TIMESTAMP was explicitly set (e.g. for # reproducible builds with that value referring to a commit timestamp). # A kernel config change will increase the generation number, thus # causing compile.h to be updated (including date/time) due to the # changed comment in the # first line. """ It has made it very clear that it will not be re-generated unless we have KBUILD_BUILD_TIMESTAMP set explicitly. So we set this variable explicitly in do_compile to fix this issue. (From OE-Core rev: 640ac18b2daed698adbf849a5aef55f5de9e5db5) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 1b68c2d2d385013a1c535ef81172494302a36d74) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* create-spdx: default share_src for shared sourcesKonrad Weihmann2022-12-011-2/+3
| | | | | | | | | | | | | | | | | | | | if a source is using work-shared but isn't a kernel, like for instance llvm-source from meta-clang, share_src was previously undefined leading to a crash of the python code. Default to WORKDIR and just override it in case the source being a kernel recipe. Additionally changes the variable names in the following, as they imply that it's only about the kernel, which is not the case in every case (From OE-Core rev: 34fa68a0b07328c4ed4eef81f8cde80137a91f18) (From OE-Core rev: 5b2ee67e3a5587b4c7d97d2a9bc00022d1eedae3) Signed-off-by: Konrad Weihmann <kweihmann@witekio.com> On-behalf-of: Avnet Embedded <AvnetEmbedded@avnet.eu> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: Drop data finalize callRichard Purdie2022-12-011-9/+2
| | | | | | | | | | | | | This call was effectively like update_data and no longer did anything in bitbake. Drop it as it is obsolete. (From OE-Core rev: 06e088ef6e961f05ca600612adcc71bff91f09be) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit d3eb4531aae28a07cb7e52ed5fe1102445d2effd) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Allow optimisation of do_deploy_archives task dependenciesJose Quaresma2022-12-011-1/+1
| | | | | | | | | | | | | do_deploy_archives tasks don't need their dependencies so we can optimistion this as we do for some other tasks. (From OE-Core rev: 1e32ad0849f06aee92fe844e8eaee73c5935bfb0) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 3dd9f6e398844380d3765c54d35afe0d2ccf82e7) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work: exclude the SSTATETASKS from the rm_work tasks sinatureJose Quaresma2022-12-011-0/+2
| | | | | | | | | | | | | | | | | | | | | We can exclude the SSTATETASKS from the rm_work task signature to avoid running the task when we remove some setscene tasks from the dependencie chain. The inject_rm_work handler on the rm_work bbclass triggers the rm_work task running for any signature change in the dependencie chain of the task do_build of each recipe. i.e INHERIT:remove = "create-spdx" will trigger the do_rm_work when we collect the sstate cache with INHERIT = "create-spdx" (From OE-Core rev: c06df50b0c7e6ecb138f37c51196c57295649437) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 77729bea5b17d65dafb604fd1665c612091b28c7) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gnomebase.bbclass: return the whole version for tarball directory if it is a ↵Alexander Kanavin2022-12-011-1/+1
| | | | | | | | | | | | | | number E.g. if version is '43' without any dots, existing code would return ''. (From OE-Core rev: f3dfc90b8d4e7735eedfeab99d0ebe2ba6e970a0) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> (cherry picked from commit 38c15322bdbb2423973939e861b5ad1ffb5c8b7f) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>