From 0e6881146d87f0d214d80bc92e54c113906db63a Mon Sep 17 00:00:00 2001 From: Christopher Larson Date: Thu, 6 Mar 2014 11:10:43 -0700 Subject: kernel-yocto: fix diffconfig/kernel_configme breakage The bbclass did the following: do_diffconfig[depends] += "virtual/kernel:do_kernel_configme" This clearly introduces a cross-kernel task dependency if the recipe inheriting this class isn't the preferred provider of virtual/kernel, which is obviously wrong, but further, will break the build if a kernel-yocto based kernel is parsed and not skipped, but virtual/kernel refers to a non-kernel-yocto recipe, which would not have the do_kernel_configme task. Work around this by adding the in-recipe task dep programmatically with bb.build.addtask when do_diffconfig exists. Signed-off-by: Christopher Larson Signed-off-by: Richard Purdie --- meta/classes/kernel-yocto.bbclass | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'meta/classes/kernel-yocto.bbclass') diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 7913dd8c00..707a219f65 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -263,6 +263,8 @@ do_kernel_configme() { echo "CONFIG_LOCALVERSION="\"${LINUX_VERSION_EXTENSION}\" >> ${B}/.config } +addtask kernel_configme after do_patch + python do_kernel_configcheck() { import re, string, sys @@ -407,4 +409,8 @@ OE_TERMINAL_EXPORTS += "GUILT_BASE KBUILD_OUTPUT" GUILT_BASE = "meta" KBUILD_OUTPUT = "${B}" -do_diffconfig[depends] += "virtual/kernel:do_kernel_configme" +python () { + # If diffconfig is available, ensure it runs after kernel_configme + if 'do_diffconfig' in d: + bb.build.addtask('do_diffconfig', None, 'do_kernel_configme', d) +} -- cgit v1.2.3