summaryrefslogtreecommitdiffstats
path: root/meta/classes/insane.bbclass
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2013-05-12 06:46:10 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-06-07 16:48:26 +0100
commit43713b9e17707992569d807cdd61aaaf969ec6fc (patch)
treecb9bb614ac90762280db1560c3ad21eff4069f16 /meta/classes/insane.bbclass
parent7a5a7551eb3ea1d4485e697f60e94cab4ed40946 (diff)
downloadpoky-43713b9e17707992569d807cdd61aaaf969ec6fc.tar.gz
insane/package: let package.bbclass inherit insane.bbclass
RP's comment: "What we're trying to do is move everything to use a standard mechanism for reporting issues of this type (do_package). With insane.bbclass, you can elect whether a given type of error is a warning or error and fails the task." * The package.bbclass had used package_qa_handle_error() which is from insane.bbclass, and we will use it for handling other warnings and errors, so let package.bbclass inherit insane.bbclass, this change will make the insane as a requirement (always included). * Change the "PACKAGEFUNCS ?=" to "+=", otherwise there would be an error like: Exception: variable SUMMARY references itself! This is because we let package.bbclass inherit insane.bbclass, and PACKAGEFUNCS has been set in insane.bbclass, so the "PACKAGEFUNCS ?=" will set nothing, then the "emit_pkgdata" doesn't run which will cause this error. * Add a QA_SANE variable in insane.bbclass, once the error type is ERROR_QA, it will fail the task and stop the build. [YOCTO #3190] [YOCTO #4396] (From OE-Core rev: 852dead71387c66ec0cba7c71e3814a74e409560) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/insane.bbclass')
-rw-r--r--meta/classes/insane.bbclass6
1 files changed, 4 insertions, 2 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 3ed5581949..ee57721634 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -17,7 +17,6 @@
17# files under exec_prefix 17# files under exec_prefix
18 18
19 19
20inherit package
21PACKAGE_DEPENDS += "${QADEPENDS}" 20PACKAGE_DEPENDS += "${QADEPENDS}"
22PACKAGEFUNCS += " do_package_qa " 21PACKAGEFUNCS += " do_package_qa "
23 22
@@ -26,6 +25,7 @@ PACKAGEFUNCS += " do_package_qa "
26QADEPENDS = "prelink-native" 25QADEPENDS = "prelink-native"
27QADEPENDS_class-native = "" 26QADEPENDS_class-native = ""
28QADEPENDS_class-nativesdk = "" 27QADEPENDS_class-nativesdk = ""
28QA_SANE = "True"
29 29
30# 30#
31# dictionary for elf headers 31# dictionary for elf headers
@@ -133,6 +133,7 @@ def package_qa_handle_error(error_class, error_msg, d):
133 package_qa_write_error(error_msg, d) 133 package_qa_write_error(error_msg, d)
134 if error_class in (d.getVar("ERROR_QA", True) or "").split(): 134 if error_class in (d.getVar("ERROR_QA", True) or "").split():
135 bb.error("QA Issue: %s" % error_msg) 135 bb.error("QA Issue: %s" % error_msg)
136 d.setVar("QA_SANE", False)
136 return False 137 return False
137 else: 138 else:
138 bb.warn("QA Issue: %s" % error_msg) 139 bb.warn("QA Issue: %s" % error_msg)
@@ -820,7 +821,8 @@ python do_package_qa () {
820 if 'libdir' in d.getVar("ALL_QA", True).split(): 821 if 'libdir' in d.getVar("ALL_QA", True).split():
821 package_qa_check_libdir(d) 822 package_qa_check_libdir(d)
822 823
823 if not walk_sane or not rdepends_sane or not deps_sane: 824 qa_sane = d.getVar("QA_SANE", True)
825 if not walk_sane or not rdepends_sane or not deps_sane or not qa_sane:
824 bb.fatal("QA run found fatal errors. Please consider fixing them.") 826 bb.fatal("QA run found fatal errors. Please consider fixing them.")
825 bb.note("DONE with PACKAGE QA") 827 bb.note("DONE with PACKAGE QA")
826} 828}