diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2013-05-12 06:46:10 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-06-07 16:41:02 +0100 |
commit | 852dead71387c66ec0cba7c71e3814a74e409560 (patch) | |
tree | 041759af90bfb904b97575b4738ae6a357314f08 /meta/classes/insane.bbclass | |
parent | b1cd1c692d7b13e6865353c9bb2f7cf331c9f774 (diff) | |
download | openembedded-core-contrib-852dead71387c66ec0cba7c71e3814a74e409560.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]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/classes/insane.bbclass')
-rw-r--r-- | meta/classes/insane.bbclass | 6 |
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 @@ # files under exec_prefix -inherit package PACKAGE_DEPENDS += "${QADEPENDS}" PACKAGEFUNCS += " do_package_qa " @@ -26,6 +25,7 @@ PACKAGEFUNCS += " do_package_qa " QADEPENDS = "prelink-native" QADEPENDS_class-native = "" QADEPENDS_class-nativesdk = "" +QA_SANE = "True" # # dictionary for elf headers @@ -133,6 +133,7 @@ def package_qa_handle_error(error_class, error_msg, d): package_qa_write_error(error_msg, d) if error_class in (d.getVar("ERROR_QA", True) or "").split(): bb.error("QA Issue: %s" % error_msg) + d.setVar("QA_SANE", False) return False else: bb.warn("QA Issue: %s" % error_msg) @@ -820,7 +821,8 @@ python do_package_qa () { if 'libdir' in d.getVar("ALL_QA", True).split(): package_qa_check_libdir(d) - if not walk_sane or not rdepends_sane or not deps_sane: + qa_sane = d.getVar("QA_SANE", True) + if not walk_sane or not rdepends_sane or not deps_sane or not qa_sane: bb.fatal("QA run found fatal errors. Please consider fixing them.") bb.note("DONE with PACKAGE QA") } |