[OE-core] [PATCH] kernel-yocto: fix diffconfig/kernel_configme breakage
Christopher Larson
kergoth at gmail.com
Thu Mar 6 18:10:43 UTC 2014
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 <kergoth at gmail.com>
---
meta/classes/kernel-yocto.bbclass | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index fb8e04e..ef9b9d1 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)
+}
--
1.8.3.4
More information about the Openembedded-core
mailing list