diff options
author | Ross Burton <ross.burton@intel.com> | 2016-09-15 00:08:01 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-09-15 22:56:37 +0100 |
commit | 5ba1a7505b904a4aa2118fa9614d76df97597af8 (patch) | |
tree | 9453fc9e655c217548b6505e7cd3ebd9cf7c46a8 | |
parent | cdae3e76232110903d124195b036e4e70fb28aa4 (diff) | |
download | openembedded-core-5ba1a7505b904a4aa2118fa9614d76df97597af8.tar.gz openembedded-core-5ba1a7505b904a4aa2118fa9614d76df97597af8.tar.bz2 openembedded-core-5ba1a7505b904a4aa2118fa9614d76df97597af8.zip |
sanity: make license QA failures fatal again
Previous work to clean up the license QA code (oe-core fbdf977) had the side
effect that failing the license sanity check (bad or missing LIC_FILES_CHKSUM)
would emit an error message but wouldn't actually abort the build.
Solve this by changing populate_lic_qa_checksum() so that it tracks if the
message class was in ERROR_QA and if so, aborts the function.
[ YOCTO #10280 ]
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/insane.bbclass | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 67729445a9..2f3f768d58 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -690,7 +690,7 @@ def package_qa_check_symlink_to_sysroot(path, name, d, elf, messages): do_populate_lic[postfuncs] += "populate_lic_qa_checksum" python populate_lic_qa_checksum() { """ - Check for changes in the license files + Check for changes in the license files. """ import tempfile sane = True @@ -703,8 +703,7 @@ python populate_lic_qa_checksum() { return if not lic_files and d.getVar('SRC_URI', True): - package_qa_handle_error("license-checksum", pn + ": Recipe file fetches files and does not have license file information (LIC_FILES_CHKSUM)", d) - return + sane = package_qa_handle_error("license-checksum", pn + ": Recipe file fetches files and does not have license file information (LIC_FILES_CHKSUM)", d) srcdir = d.getVar('S', True) @@ -712,7 +711,7 @@ python populate_lic_qa_checksum() { try: (type, host, path, user, pswd, parm) = bb.fetch.decodeurl(url) except bb.fetch.MalformedUrl: - package_qa_handle_error("license-checksum", pn + ": LIC_FILES_CHKSUM contains an invalid URL: " + url, d) + sane = package_qa_handle_error("license-checksum", pn + ": LIC_FILES_CHKSUM contains an invalid URL: " + url, d) continue srclicfile = os.path.join(srcdir, path) if not os.path.isfile(srclicfile): @@ -736,7 +735,7 @@ python populate_lic_qa_checksum() { linesout = 0 for line in fi: lineno += 1 - if (lineno >= beginline): + if (lineno >= beginline): if ((lineno <= endline) or not endline): fo.write(line) linesout += 1 @@ -768,7 +767,10 @@ python populate_lic_qa_checksum() { else: msg = pn + ": LIC_FILES_CHKSUM is not specified for " + url msg = msg + "\n" + pn + ": The md5 checksum is " + md5chksum - package_qa_handle_error("license-checksum", msg, d) + sane = package_qa_handle_error("license-checksum", msg, d) + + if not sane: + bb.fatal("Fatal QA errors found, failing task.") } def package_qa_check_staged(path,d): |