summaryrefslogtreecommitdiff
path: root/meta/classes/kernel-yocto.bbclass
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2012-09-13 08:59:08 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-09-14 09:49:55 +0100
commit4d1b7dae063ee4c35c426306d0e22f11ce112c72 (patch)
tree3d78f373ca685c04768c20d4a046be20c7a75cfe /meta/classes/kernel-yocto.bbclass
parent056eddc4299d10ddafe0da3dc768bd80d0c1b96b (diff)
downloadopenembedded-core-4d1b7dae063ee4c35c426306d0e22f11ce112c72.tar.gz
openembedded-core-4d1b7dae063ee4c35c426306d0e22f11ce112c72.tar.bz2
openembedded-core-4d1b7dae063ee4c35c426306d0e22f11ce112c72.zip
kernel-yocto: fix kernel configuration audit for custom yocto kernels
It was reported that the kernel configuration checks for custom yocto kernels had the following output: NOTE: validating kernel configuration grep: /meta-series: No such file or directory grep: /meta-series: No such file or directory WARNING: Can't find any BSP hardware or required configuration fragments. WARNING: Looked at //cfg///hdw_frags.txt and //cfg///required_frags.txt in directory: //cfg// NOTE: Tasks Summary: Attempted 375 tasks of which 367 didn't need to be rerun and all succeeded. which is not inspire confidence in the output of the process. Completely inhibiting the check is one option to remove the messages, but that removes the ability see output, which can help move users to a better or more fully configured linux-yocto based kernel. To fix this, we have to ensure that the path to the meta-series is always valid, and that the tools can deal with not all files existing in the audit directory. Since custom yocto kernels do not set KMETA (they don't have a meta branch), we ensure that a default of 'meta' is passed to the audit ('meta' is always valid), and that kconf_check itself can deal with an incomplete set of input audit files. The net result is output like this (using a defconfig with invalid options for the kernel being built): NOTE: validating kernel configuration This BSP sets 19 invalid/obsolete kernel options. These config options are not offered anywhere within this kernel. The full list can be found in your kernel src dir at: meta/cfg/standard/qemux86/invalid.cfg There were 1 instances of config fragment errors. The full list can be found in your kernel src dir at: meta/cfg/standard/qemux86/fragment_errors.txt The full list can be found in your kernel src dir at: meta/cfg/standard/qemux86/missing_required.cfg Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/classes/kernel-yocto.bbclass')
-rw-r--r--meta/classes/kernel-yocto.bbclass7
1 files changed, 6 insertions, 1 deletions
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 724e5cd475..f78d63b349 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -212,8 +212,13 @@ python do_kernel_configcheck() {
bb.plain("NOTE: validating kernel configuration")
+ # if KMETA isn't set globally by a recipe using this routine, we need to
+ # set the default to 'meta'. Otherwise, kconf_check is not passed a valid
+ # meta-series for processing
+ kmeta = d.getVar( "KMETA", True ) or "meta"
+
pathprefix = "export PATH=%s:%s; " % (d.getVar('PATH', True), "${S}/scripts/util/")
- cmd = d.expand("cd ${S}; kconf_check -config- ${KMETA}/meta-series ${S} ${B}")
+ cmd = d.expand("cd ${S}; kconf_check -config- %s/meta-series ${S} ${B}" % kmeta)
ret, result = commands.getstatusoutput("%s%s" % (pathprefix, cmd))
bb.plain( "%s" % result )