summaryrefslogtreecommitdiffstats
path: root/meta
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:30:28 +0100
commitc8bc6f29a775ea25611d835ff0c2760de41abf80 (patch)
tree18d643fb63ad0742bb8dc685429d12137813068c /meta
parentf13ff77f4d8a3bd96d27152722f15edc3657d0c9 (diff)
downloadpoky-c8bc6f29a775ea25611d835ff0c2760de41abf80.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. (From OE-Core rev: 4933b686b0f75d6841630917a2d90832df41cac7) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-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() {
350 pass 350 pass
351 351
352 config_check_visibility = int(d.getVar("KCONF_AUDIT_LEVEL") or 0) 352 config_check_visibility = int(d.getVar("KCONF_AUDIT_LEVEL") or 0)
353 bsp_check_visibility = int(d.getVar("KCONF_BSP_AUDIT_LEVEL") or 0)
353 354
354 # if config check visibility is non-zero, report dropped configuration values 355 # if config check visibility is non-zero, report dropped configuration values
355 mismatch_file = d.expand("${S}/%s/cfg/mismatch.txt" % kmeta) 356 mismatch_file = d.expand("${S}/%s/cfg/mismatch.txt" % kmeta)
@@ -358,6 +359,27 @@ python do_kernel_configcheck() {
358 with open (mismatch_file, "r") as myfile: 359 with open (mismatch_file, "r") as myfile:
359 results = myfile.read() 360 results = myfile.read()
360 bb.warn( "[kernel config]: specified values did not make it into the kernel's final configuration:\n\n%s" % results) 361 bb.warn( "[kernel config]: specified values did not make it into the kernel's final configuration:\n\n%s" % results)
362
363 if bsp_check_visibility:
364 invalid_file = d.expand("${S}/%s/cfg/invalid.cfg" % kmeta)
365 if os.path.exists(invalid_file) and os.stat(invalid_file).st_size > 0:
366 with open (invalid_file, "r") as myfile:
367 results = myfile.read()
368 bb.warn( "[kernel config]: This BSP sets config options that are not offered anywhere within this kernel:\n\n%s" % results)
369 errors_file = d.expand("${S}/%s/cfg/fragment_errors.txt" % kmeta)
370 if os.path.exists(errors_file) and os.stat(errors_file).st_size > 0:
371 with open (errors_file, "r") as myfile:
372 results = myfile.read()
373 bb.warn( "[kernel config]: This BSP contains fragments with errors:\n\n%s" % results)
374
375 # if the audit level is greater than two, we report if a fragment has overriden
376 # a value from a base fragment. This is really only used for new kernel introduction
377 if bsp_check_visibility > 2:
378 redefinition_file = d.expand("${S}/%s/cfg/redefinition.txt" % kmeta)
379 if os.path.exists(redefinition_file) and os.stat(redefinition_file).st_size > 0:
380 with open (redefinition_file, "r") as myfile:
381 results = myfile.read()
382 bb.warn( "[kernel config]: This BSP has configuration options defined in more than one config, with differing values:\n\n%s" % results)
361} 383}
362 384
363# Ensure that the branches (BSP and meta) are on the locations specified by 385# Ensure that the branches (BSP and meta) are on the locations specified by