summaryrefslogtreecommitdiffstats
path: root/meta/classes-global/insane.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* insane: Remove dependency on TCLIBC from QA testRichard Purdie2024-09-051-0/+1
| | | | | | | | | | The TCLIBC value is already encoded into build paths through the triplet so no need to encode it here where it can cause problems for allarch output that span multiple libcs. (From OE-Core rev: ea8c7a457a79589c35ca80b2f265799164855674) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Remove redundant returnsOla x Nilsson2024-09-011-3/+0
| | | | | | | | | | Some redundant return statements were left over from insane: Drop oe.qa.add_message usage (From OE-Core rev: 1e49635f802b04acad14115640ce9fcd63cc32a7) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Allow ERROR_QA to use 'contains' hash optimisations for do_package_qaRichard Purdie2024-08-291-34/+36
| | | | | | | | | | | | | | | | | | | We want ERROR_QA to operate using the "contains" optimizations which means accessing the variable only using the contains function. To do this, remove usage of ALL_QA, open coding the few references to check both WARN_QA and ERROR_QA. Move the function table generation to a separate function where we can exclude the ERROR_QA and WARN_QA variables since they are handled by the handle_error() function calls. Ensure all the chain of functions to the handle_error calls is correctly recognised in the variable dependencies. (From OE-Core rev: 384e9a6b2e7943b6a3ade1215ed79351c78a0b0d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Further simplify codeRichard Purdie2024-08-291-27/+14
| | | | | | | | | Now handle_error is used, we can further simplify the QA test execution as we don't need seperate function lists for warnings and errors. (From OE-Core rev: 6896c9fcfc57f007c0ce15f7804e79b6b88f5ded) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Add missing vardepsexcludeRichard Purdie2024-08-291-0/+2
| | | | | | | | | | | | If we improve the function dependency visibility in insane.bbclass, it exposes some dependencies which were previously not seen causing variances in the do_package_qa task checksums. Update vardepsexclude in a couple of test cases to ensure the sstate hash selftests pass and the taskhashes don't vary when we don't expect them too. (From OE-Core rev: 9b6dae2771ed86bd2946548004f4da58e8c0b44c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Drop oe.qa.add_message usageRichard Purdie2024-08-291-138/+87
| | | | | | | | | | | | | | | Drop the oe.qa.add_message() usage in favour of oe.qa.handle_error() which has code allowing it to be optimised with contains usage. The patch also drops unused return values which we stopped using a while ago and drops the now unneeded function parameters, generally leading to cleaner code. The code should be functionally equivalent. (From OE-Core rev: 9b2eea9fd4eab4f5e12e955738db22091b91f698) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Optimise ERROR_QA/WARN_QA references in do_populate_sysrootRichard Purdie2024-08-291-3/+2
| | | | | | | | | | The new contains code can't inspect variable references in handle_error() calls. Expand what is effectively a hardcoded reference anyway so the code can optimise it. (From OE-Core rev: 51f767d92efb3daeb4aa3b91d72e6d2993cb0f46) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license_image.bbclass: Rename license-incompatible to license-exceptionPeter Kjellerstedt2024-08-211-1/+1
| | | | | | | | | | | | | | | | There is currently both an incompatible-license and a license-incompatible QA message. This is very confusing. However, license-incompatible is only used to output a message when a package is included in an image despite it having a license that is normally incompatible (by using the INCOMPATIBLE_LICENSE_EXCEPTIONS variable). To better match how it is used and to distinguish it from incompatible-license, rename it to license-exception. (From OE-Core rev: d309eed66f5a4a4bce082536e51207fe65725fab) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: remove obsolete QA errorsMichal Sieron2024-07-301-4/+4
| | | | | | | | | | | | Those were removed quite some time ago: - perms: 5da7ad1a483d0840a9a2e3b95fa62a1901be73f2 - split-strip: bcc03ea19e103f6aa93bada2f49fcc5cc7bc0790 - (compile|install)-host-path: a67e9ebfd5b8002fd4a7d8d27ff0d997817f76e1 (From OE-Core rev: 068d3821430734132c3eb70fd95461e0917fd1e8) Signed-off-by: Michal Sieron <michalwsieron@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: add pep517-backend to WARN_QARoss Burton2024-07-261-1/+1
| | | | | | | | | | Enable the new pep517-backend warning from setuptools3, initially as a warning so as not to break builds straight away. (From OE-Core rev: 27597d986ad7b3a6c2d36150a163951be7c640f1) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: skip unimplemented-ptest checks if disabledYoann Congal2024-07-161-1/+1
| | | | | | | | | | | This avoids searching through ${S} multiple times if unimplemented-ptest QA check is disabled (the default case). (From OE-Core rev: 8ee42430a91d13de2b7a53c2ae04aa54bd76fad0) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "insane: skip unimplemented-ptest on S=WORKDIR recipes"Yoann Congal2024-07-161-2/+0
| | | | | | | | | | | | S=WORKDIR is not supported anymore, so the check is now redundant. This reverts commit 9a2d2f7c2b7236667a6d80355f73db4c27e6582e (in OE-Core). (From OE-Core rev: 71c4bba0235b4cd45dc88844263e7b3f8ad9f079) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Promote long standing warnings to errorsRichard Purdie2024-07-141-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of these warnings have been around and enabled for a long time. In particular, buildpaths has been like this for two years. I'm aware some layers still have not been able to resolve all the warnings but I believe that regardless, it is still time to raise the bar. If the warnings don't get fixed, it is probably a sign that nobody cares about the recipe and it should be dropped. For anyone coming here to find out what changed and how to disable it, if you are going to remove from ERROR_QA and add back to WARN_QA (or just ignore the warnings), please do it with a layer specific override rather than making it global. We have fixed these issues in core and intend to keep them all fixed. If you globally disable the errors, it just means we get patches which end up regressing things. You can do things like: ERROR_QA:remove:layer-mylayername = "buildpaths" not that I'd recommend it. Also note that the next version of Yocto Project Compatible will only be available to layers which are not disabling some set of these errors. (From OE-Core rev: b79b191cc43a45dde2adb61ea349b426cb2461d1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: add patch-status to default ERROR_QAMartin Jansa2024-06-121-2/+1
| | | | | | | | | | | | | | | | * it's enabled for patches in oe-core for very long time and I was using it for many other layers as well, so most layers should be in good shape * it's also possible to disable it for individual layer as shown by oe-core in: https://git.openembedded.org/openembedded-core/commit/meta/classes-global/insane.bbclass?h=scarthgap&id=61a881fdbe8b5a21c6276b8a5d06cc30486b1eb3 (From OE-Core rev: b7fb91c797ab37a029b8dd1eb7277a7468bc97ed) Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: show cleaned build paths in more testsRoss Burton2024-06-071-5/+5
| | | | | | | | | | A few tests were still manually cleaning their build paths, change them to use package_qa_clean_path(). (From OE-Core rev: f6550c3ee1bc076015d85db36b3d281e6a7ace9d) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: error out on UNPACKDIR = WORKDIRKonrad Weihmann2024-06-041-0/+3
| | | | | | | | | | as this will clear WORKDIR and create race conditions across various handling tasks (From OE-Core rev: 1cf99ce3f79b2c96bdef5aa9b69c2b3ead7e46f1) Signed-off-by: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools/libtool: Drop libtool sysroot patch as not neededRichard Purdie2024-06-041-1/+1
| | | | | | | | | | | | | libtool auto detects the sysroot from gcc's parameters or configuration so we don't need to pass in this configuration separately to libtool. Whilst the option names do conflict with gcc/binutils, that is an issue for those projects to resolve, not us. Upstream libtool did reject the patch. We can drop this patch and simplify our code. (From OE-Core rev: 7c8553f81bccc3e8c2bb1116ee1e89f5f8af4c9e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: remove leftover variables and commentEmil Kronborg2024-06-031-4/+0
| | | | | | | | | | | | | | | The code that used these variable and the comment was introduced in commit b44d32ef41ef ("insane.bbclass: Portions of code were not running, fix this and sync with OE.dev. Also add tests for bad sysroot rpaths in binaries"). Later, in commit 17dae13fabe2 ("insane.bbclass: Fix ELF bitsize comparison"), some of that code was removed again, but not the variables and the comment. (From OE-Core rev: 730d00b0d1d1d617b62900be12fa034bb41fc48b) Signed-off-by: Emil Kronborg <emil.kronborg@protonmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: fix HOST_ variable namesEmil Kronborg2024-06-031-6/+6
| | | | | | | | | | | | | Commit cd25e5544ca3 ("insane: use HOST_ variables, not TARGET_ to determine the cross system") updated the variables themselves, but not their names. To prevent confusion, match the Python variable name to the BitBake variable name. (From OE-Core rev: f5bebc96580ec74d10bc96b4265357ebc9bcd6ad) Signed-off-by: Emil Kronborg <emil.kronborg@protonmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: remove skipping of cross-compiled packagesEmil Kronborg2024-06-031-5/+0
| | | | | | | | | | | | | After commit cd25e5544ca3 ("insane: use HOST_ variables, not TARGET_ to determine the cross system"), this check is no longer necessary. The introduction of HOST_ variables ensures architecture compatibility is correctly checked. (From OE-Core rev: 6e1ddeb05dcd5ff77e0f5526a6e56a484daa4864) Signed-off-by: Emil Kronborg <emil.kronborg@protonmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base/insane: Move S/B checks to more logical place in insane classRichard Purdie2024-05-231-0/+4
| | | | | | (From OE-Core rev: f8f3315d58f9ec7824961d1f6f96d39c449b9578) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Add error for B = WORKDIRRichard Purdie2024-05-231-0/+3
| | | | | | | | | This was never a good idea and would have mostly happened from S = WORKDIR however explictly disallow it and error if anyone tries. (From OE-Core rev: e3c2c1fac904bb518d85e10a2ac0177c81cbf7e8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Error for S == WORKDIRRichard Purdie2024-05-221-0/+5
| | | | | | | | | Where a recipe uses WORKDIR as S, exit with a fatal error since the code is no longer safe for this layout. (From OE-Core rev: 32cba1cc916ad530c5e6630a927e74ca6f06289b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Fix case where S doesn't existRichard Purdie2024-05-131-1/+1
| | | | | | | | | If S doesn't exist, do_qa_patch would fail. Fix the code to not fail in this situation. (From OE-Core rev: 4041d91b63ff2315657499e22c74ec90adbf9e19) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: handle dangling symlinks in the libdir QA checkRoss Burton2024-05-021-2/+2
| | | | | | | | | | | | | | | The "libdir" QA check tries to open every file it finds as an ELF. If it finds a dangling symlink that looks like a library by the filename it will try to open it and fail with FileNotFoundError error. As this dangling symlink probably points to a real file, silently absorb the error. [ YOCTO #13949 ] (From OE-Core rev: f044290f98ea66f2cecfbffd7d392dbc3d986da9) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: Allow the warning about virtual/ to be disabledPeter Kjellerstedt2024-02-201-6/+7
| | | | | | | | | | | Commit f673d3d239799fb1ab50f4aa5d44187666aa0cd7 introduced a warning for virtual/ being used in RPROVIDES and RDEPENDS. Make it possible to disable the warning by removing "virtual-slash from WARN_QA. (From OE-Core rev: 968ffdb9fee5017eecce36ce878ea604c869ce95) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Clarify runtime/ warningRichard Purdie2024-02-131-1/+1
| | | | | | | | | | We should be pointing people at VIRTUAL-RUNTIME, not virtual so tweak the warning. Try and make it clear the difference between the build dependencies and the runtime ones. (From OE-Core rev: 01d815aa2c0bea113fb79b51bf67c0ff90d57dd2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes-global/insane: Add check for "virtual/" in RPROVIDES and RDEPENDSSimone Weiß2024-01-191-0/+6
| | | | | | | | | | | | | Fixes [YOCTO #14538] Recipes shouldn't use "virtual/" in RPROVIDES and RDEPENDS. This was addressed already in recipes in meta-oe and oe-core. Add a test for this in insane.bbclass to ensure no regressions occur. (From OE-Core rev: f673d3d239799fb1ab50f4aa5d44187666aa0cd7) Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: Python code cleanup in check_32bit_symbolsOla x Nilsson2024-01-151-3/+3
| | | | | | | | (From OE-Core rev: 67b06035326048323f972107f66eb50cf74def0b) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: Check for adjtime in check_32_bit_symbolsOla x Nilsson2024-01-151-0/+1
| | | | | | | | | | adjtime was overlooked in the original commit. (From OE-Core rev: 07faecd87e77716cfedffeadc52e0982edfd6c7e) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes-global/insane: Look up all runtime providers for file-rdepsJoshua Watt2023-12-241-18/+12
| | | | | | | | | | | | Uses the new foreach_runtime_provider_pkgdata() API to look up all possible runtime providers of a given dependency when resolving file-rdeps. This allows the check to correctly handle RPROVIDES for non-virtual dependencies (From OE-Core rev: 018fa1b7cb5e6a362ebb45b93e52b0909a782ac9) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: ensure more paths have the workdir removedRoss Burton2023-12-091-10/+10
| | | | | | | | | | | When showing paths to the user we don't want to include the whole build directory. Passing the package name to package_qa_clean_path strips this completely. (From OE-Core rev: 7f1a862d2a432f216e37bf63648bef787422a43d) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Move unpack tests to do_recipe_qaRichard Purdie2023-11-081-24/+22
| | | | | | | | | The SRC_URI tests are a better fit for the new do_recipe_qa task, move them there. (From OE-Core rev: 5afde8e24e74c7b73c1da312cca65b3277a6c355) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_qa_check_rdepends: Allow /usr/bin/sh if usrmergeJörg Sommer2023-10-231-0/+4
| | | | | | | | | | | | If the distro feature usrmerge is set, all files from /bin are moved to /usr/bin, i.e. /usr/bin/sh is the same as /bin/sh and should be allowed be ignored, because it's always present. (From OE-Core rev: 330dc61053afae8a1812bda6f9e01e2f09d1f08f) Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: unimplemented-ptest: ignore source file errorsYoann Congal2023-10-171-10/+16
| | | | | | | | | | | | | | | In some cases, pathlib.Path.glob() might throw FileNotFoundError when file/directory disappear while it is iterating over them. This "warning" is not important enough to crash build in this case so just take a bb.note of the problem and move on. (From OE-Core rev: 85ddbb67f0f6f823cac0966db78e5b74c5a54c4c) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Reported-by: Mark Hatle <mark.hatle@amd.com> Closes: https://lists.openembedded.org/g/openembedded-core/message/189254 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: skip unimplemented-ptest on S=WORKDIR recipesYoann Congal2023-10-171-0/+2
| | | | | | | | | | | | On S=WORKDIR recipes, the unimplemented-ptest check will scan the whole WORKDIR and "see" disappearing file and directory. (From OE-Core rev: 9a2d2f7c2b7236667a6d80355f73db4c27e6582e) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Reported-by: Mark Hatle <mark.hatle@amd.com> Closes: https://lists.openembedded.org/g/openembedded-core/message/189254 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Add a naive heuristic to detect test subdirectoriesJérémy Rosen2023-10-151-0/+4
| | | | | | | | | | | | | | | | | if there is a "test" or "tests" subdirectory at toplevel, this usually means we have some unit tests available. This test is very good at detecting handcrafted tests and I was not able to find any false positive. False positive can be dealt with the usual INSANE_SKIP mechanism (From OE-Core rev: 0c91ad29f7ea313bc25481be9d40f216c0770b98) Signed-off-by: Jérémy Rosen <jeremy.rosen@smile.fr> Reviewed-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Detect build-system test harnessesJérémy Rosen2023-10-151-0/+12
| | | | | | | | | | | | | | | | | | | most build-systems have a way to implement a "make check" or equivalent command that will run tests in the source directory. This heuristic will detect the keywords in the build-system configuration that activates tests. Note that in the case of autotools, we use Makefile.in as our source instead of Makefile.am to easily follow includes. Filenaming conventions for autotools files are not reliable enough to do naive matching. (From OE-Core rev: bc9013295256443e877f29b7e00605ffa5177efa) Signed-off-by: Jérémy Rosen <jeremy.rosen@smile.fr> Reviewed-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Detect python and perl based testsJérémy Rosen2023-10-151-0/+22
| | | | | | | | | | | | | | | | | | | | match_line_in_files will look for a regex in all files matching a glob. we use iglob to avoid a complete, recursive scan of all source. iglob is based on python iterators and will scan as we walk through the directories pytest are detected by looking for "import pytest" or "from pytest" in any python file. perl Test:: is detetected by looking for any t/*.t in the toplevel source directory. (From OE-Core rev: 00d64ac38ae4af6193fae3b02375a16b1821f29e) Signed-off-by: Jérémy Rosen <jeremy.rosen@smile.fr> Reviewed-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Add unimplemented-ptest infrastructureJérémy Rosen2023-10-151-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | This infrastructure will use heuristics to detect when package sources seem to have unit tests implemented but no ptest have been implemented in the recipe. No heuristics have been implemented at this point, only the infrastructure to skip the test when ptest are implemented. This is part of python_do_qa_patch since we need the sources in their final state but do not need any configuration done A missing-ptest QA test already existed but it was used for a different purpose and overridden by ptest.bbclass. Thus, a new QA keyword was added Note: The QA test is not enabled by default and may be enabled to hunt down potential ptests with: WARN_QA += "unimplemented-ptest" (From OE-Core rev: 282ae38543e22cbdcbf69c64eace551997927ce3) Signed-off-by: Jérémy Rosen <jeremy.rosen@smile.fr> Reviewed-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: Count raw bytes in shebang-sizeJan Garcia2023-09-221-2/+1
| | | | | | | | | | Operating systems limit the shebang to a maximum number of bytes. This patch makes the shebang-size check count raw bytes instead of UTF-8 characters. (From OE-Core rev: d4ac66c5cdaf971fb717cc5c5bf9aa51a787d412) Signed-off-by: Jan Garcia <j@n-garcia.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: Remove an unused variablePeter Kjellerstedt2023-08-241-1/+0
| | | | | | | | | | | The use of coremeta_path was removed with commit 61a881fdbe (insane: Improve patch-status layer filtering) when the patch-status QA test was generalized. (From OE-Core rev: 71a2c7b2608640dfa45d065692541d537149052e) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: add a RECIPE_MAINTAINER check (oe-core recipes only)Alexander Kanavin2023-07-301-1/+10
| | | | | | | | | | | | | | Absent maintainer entries are as well a frequent source of friction, as they are checked only in selftest, and so aren't revealed until autobuilder runs. The selftest is retained as it also checks for obsolete entries in maintainers.inc (not possible to do in insane class). (From OE-Core rev: 675dff0e37666c1cffa10a83f6f1f67d5fadd204) 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>
* insane.bbclass: add a SUMMARY/HOMEPAGE check (oe-core recipes only)Alexander Kanavin2023-07-301-0/+16
| | | | | | | | | | | | | | | | | This was done in a selftest, but that is too late and creates friction in integration as errors are not seen until autobuilder fails. Bonus fix: SUMMARY check wasn't even working, as in the absence of one set in the recipe there is a default value set from bitbake.conf. I left DESCRIPTION check out for now, as many recipes don't actually have it, and it's set from SUMMARY (plus a dot) if absent. (From OE-Core rev: 4144c2f43da39336b03cfd612cbe1694cbf8c7bd) 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>
* insane.bbclass: add do_recipe_qa taskAlexander Kanavin2023-07-301-0/+14
| | | | | | | | | | | | | | | | | There is a need to run QA checks that can operate entirely from recipe metadata and do not need any of the build artefacts or source code. After some deliberation it was concluded that such checks are best collected in their own task that runs as early as possible, and so this commit adds the task. Like package_qa, the task is sstate enabled, but doesn't (yet) register the qa results into sstate. (From OE-Core rev: e0c71367ab59021fc430ef215bbfc3b525036ba4) 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>
* insane.bbclass: enable 32 bit time API check (as a warning) on affected ↵Alexander Kanavin2023-06-271-0/+6
| | | | | | | | | | architectures (From OE-Core rev: ae9936ab37d34196891570b2f91a299808c95d25) 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>
* insane: Improve patch-status layer filteringRichard Purdie2023-06-201-13/+3
| | | | | | | | | | Now that we have layer overrides, we can easily enable patch-status in ERROR_QA without the hardcoded code making it easier for other layers to opt into the checks. (From OE-Core rev: 61a881fdbe8b5a21c6276b8a5d06cc30486b1eb3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: simplify exceptions for 32 bit time API checkAlexander Kanavin2023-05-051-11/+3
| | | | | | | | | | | | | | | | Existing implementation required to list both specific problematic apis, and files that use them: neither is necessary as both are seen in package_qa error messages, and can cause excessive amount of exception lines, if there are too many files, or they are installed in arch-specific locations. Also, the value of INSANE_SKIP should be the test that needs to be skipped, and in this case it wasn't. Also, all problematic recipes are now correctly listed. (From OE-Core rev: e6ebd0c556dfc576a59f5755d97089a2a241f698) 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>
* insane.bbclass: move Upstream-Status logic to oe.qaMartin Jansa2023-02-191-16/+3
| | | | | | | | | | * to be used by standalone script scripts/contrib/patchreview.py as well (From OE-Core rev: c326efeec8f576200728a44c694becdeab4fe2db) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: use 4 spaces for indentationMartin Jansa2023-02-191-25/+25
| | | | | | | | | | * this block was using just 3 (From OE-Core rev: 4578f2237cb694473eb54ff85af342ee94c9f19d) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>