summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2016-09-15 00:08:01 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-15 22:56:37 +0100
commit5ba1a7505b904a4aa2118fa9614d76df97597af8 (patch)
tree9453fc9e655c217548b6505e7cd3ebd9cf7c46a8
parentcdae3e76232110903d124195b036e4e70fb28aa4 (diff)
downloadopenembedded-core-contrib-5ba1a7505b904a4aa2118fa9614d76df97597af8.tar.gz
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.bbclass14
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):