aboutsummaryrefslogtreecommitdiffstats
path: root/classes
diff options
context:
space:
mode:
authorTom Rini <tom_rini@mentor.com>2011-02-19 03:26:27 +0000
committerSteffen Sledz <sledz@dresearch.de>2011-02-25 08:48:46 +0100
commitdd635fdd38619f69b470cb2c648248180b91404b (patch)
treeb2933bdc92aa10032d3817b66ab474e56199fc8a /classes
parentb74df01cf77f2b5a74219e8a9991a9b79afc8d43 (diff)
downloadopenembedded-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.bbclass16
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