diff options
author | Tom Rini <tom_rini@mentor.com> | 2011-02-19 03:26:27 +0000 |
---|---|---|
committer | Steffen Sledz <sledz@dresearch.de> | 2011-02-25 08:48:46 +0100 |
commit | dd635fdd38619f69b470cb2c648248180b91404b (patch) | |
tree | b2933bdc92aa10032d3817b66ab474e56199fc8a /classes | |
parent | b74df01cf77f2b5a74219e8a9991a9b79afc8d43 (diff) | |
download | openembedded-dd635fdd38619f69b470cb2c648248180b91404b.tar.gz |
insane.bbclass: Make RPATH a non-fatal error
In order to make the user experience better we now use bb.warn
on non-fatal QA errors and bb.error on fatal errors. Also note
that the RPATH problem is a security issue. (not part of the acks,
but suggested on the ML).
Signed-off-by: Tom Rini <tom_rini@mentor.com>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Eric Benard <eric@eukrea.com>
Diffstat (limited to 'classes')
-rw-r--r-- | classes/insane.bbclass | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/classes/insane.bbclass b/classes/insane.bbclass index 529fe0c67d..7364fb1178 100644 --- a/classes/insane.bbclass +++ b/classes/insane.bbclass @@ -116,7 +116,7 @@ def package_qa_make_fatal_error(error_class, name, path,d): TODO: Load a whitelist of known errors """ - return not error_class in [0, 5, 7] + return not error_class in [0, 1, 5, 7] def package_qa_write_error(error_class, name, path, d): """ @@ -128,7 +128,7 @@ def package_qa_write_error(error_class, name, path, d): ERROR_NAMES =[ "non dev contains .so", - "package contains RPATH", + "package contains RPATH (security issue!)", "package depends on debug package", "non dbg contains .debug", "wrong architecture", @@ -145,10 +145,16 @@ def package_qa_write_error(error_class, name, path, d): (ERROR_NAMES[error_class], name, package_qa_clean_path(path,d)) f.close() +# Returns False is there was a fatal problem and True if we did not hit a fatal +# error def package_qa_handle_error(error_class, error_msg, name, path, d): - bb.error("QA Issue with %s: %s" % (name, error_msg)) + fatal = package_qa_make_fatal_error(error_class, name, path, d) package_qa_write_error(error_class, name, path, d) - return not package_qa_make_fatal_error(error_class, name, path, d) + if fatal: + bb.error("QA Issue with %s: %s" % (name, error_msg)) + else: + bb.warn("QA Issue with %s: %s" % (name, error_msg)) + return not fatal def package_qa_check_rpath(file,name,d, elf): """ @@ -173,7 +179,7 @@ def package_qa_check_rpath(file,name,d, elf): for line in txt: for dir in bad_dirs: if dir in line: - error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file) + error_msg = "package %s contains bad RPATH %s in file %s, this is a security issue" % (name, line, file) sane = package_qa_handle_error(1, error_msg, name, file, d) return sane |