aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2018-08-24 10:59:51 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-08-28 10:27:15 +0100
commit4933b686b0f75d6841630917a2d90832df41cac7 (patch)
tree98acef5a194a7f58f9ba31d2247d12c6d395eb1c
parent21de5cc43cfedc703e5bc0515507a6dae36afb74 (diff)
downloadopenembedded-core-contrib-4933b686b0f75d6841630917a2d90832df41cac7.tar.gz
kernel-yocto: restore BSP audit visibility
During the re-working of kernel fragments and status output cleanup the visibility for BSP level errors was dropped/removed. The audit phase can detect errors, redefinition and invalid configuration fragments. We control the visibility of these reports via the existing KCONF_BSP_AUDIT_LEVEL variable. By default, errors and invalid configuration values will be displayed as a warning. If redefinition values are to be shown the audit level must be raised above the deafult value of '2'. We inhibit these by default, since there are many valid reasons why a BSP will change a default / base config .. and showing them offers no value to the BSP user. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/kernel-yocto.bbclass22
1 files changed, 22 insertions, 0 deletions
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 19d74a7875..2ecd060093 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -350,6 +350,7 @@ python do_kernel_configcheck() {
pass
config_check_visibility = int(d.getVar("KCONF_AUDIT_LEVEL") or 0)
+ bsp_check_visibility = int(d.getVar("KCONF_BSP_AUDIT_LEVEL") or 0)
# if config check visibility is non-zero, report dropped configuration values
mismatch_file = d.expand("${S}/%s/cfg/mismatch.txt" % kmeta)
@@ -358,6 +359,27 @@ python do_kernel_configcheck() {
with open (mismatch_file, "r") as myfile:
results = myfile.read()
bb.warn( "[kernel config]: specified values did not make it into the kernel's final configuration:\n\n%s" % results)
+
+ if bsp_check_visibility:
+ invalid_file = d.expand("${S}/%s/cfg/invalid.cfg" % kmeta)
+ if os.path.exists(invalid_file) and os.stat(invalid_file).st_size > 0:
+ with open (invalid_file, "r") as myfile:
+ results = myfile.read()
+ bb.warn( "[kernel config]: This BSP sets config options that are not offered anywhere within this kernel:\n\n%s" % results)
+ errors_file = d.expand("${S}/%s/cfg/fragment_errors.txt" % kmeta)
+ if os.path.exists(errors_file) and os.stat(errors_file).st_size > 0:
+ with open (errors_file, "r") as myfile:
+ results = myfile.read()
+ bb.warn( "[kernel config]: This BSP contains fragments with errors:\n\n%s" % results)
+
+ # if the audit level is greater than two, we report if a fragment has overriden
+ # a value from a base fragment. This is really only used for new kernel introduction
+ if bsp_check_visibility > 2:
+ redefinition_file = d.expand("${S}/%s/cfg/redefinition.txt" % kmeta)
+ if os.path.exists(redefinition_file) and os.stat(redefinition_file).st_size > 0:
+ with open (redefinition_file, "r") as myfile:
+ results = myfile.read()
+ bb.warn( "[kernel config]: This BSP has configuration options defined in more than one config, with differing values:\n\n%s" % results)
}
# Ensure that the branches (BSP and meta) are on the locations specified by