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 | |
| parent | b1cd1c692d7b13e6865353c9bb2f7cf331c9f774 (diff) | |
| download | openembedded-core-852dead71387c66ec0cba7c71e3814a74e409560.tar.gz openembedded-core-852dead71387c66ec0cba7c71e3814a74e409560.tar.bz2 openembedded-core-852dead71387c66ec0cba7c71e3814a74e409560.zip | |
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')
| -rw-r--r-- | meta/classes/insane.bbclass | 6 | ||||
| -rw-r--r-- | meta/classes/package.bbclass | 5 | 
2 files changed, 8 insertions, 3 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")  } diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 02a1460624..f72c0e23b4 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -42,6 +42,9 @@ inherit packagedata  inherit prserv  inherit chrpath +# Need the package_qa_handle_error() in insane.bbclass +inherit insane +  PKGD    = "${WORKDIR}/package"  PKGDEST = "${WORKDIR}/packages-split" @@ -1813,7 +1816,7 @@ PACKAGESPLITFUNCS ?= " \                  package_do_split_locales \                  populate_packages"  # Functions which process metadata based on split packages -PACKAGEFUNCS ?= " \ +PACKAGEFUNCS += " \                  package_fixsymlinks \                  package_name_hook \                  package_do_filedeps \ | 
