diff options
author | Christopher Larson <kergoth@gmail.com> | 2014-03-06 11:10:43 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-03-07 14:45:22 +0000 |
commit | c859853f3206c77332ca5bf972dcd70e7d625cf6 (patch) | |
tree | aae5b02f9628a04b6f864d6f8b219eaa010cb186 /meta | |
parent | e8c99b37b27e6f7dd6fb685343398280de750c9c (diff) | |
download | poky-c859853f3206c77332ca5bf972dcd70e7d625cf6.tar.gz |
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.
(From OE-Core rev: 0e6881146d87f0d214d80bc92e54c113906db63a)
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/kernel-yocto.bbclass | 8 |
1 files changed, 7 insertions, 1 deletions
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() { | |||
263 | echo "CONFIG_LOCALVERSION="\"${LINUX_VERSION_EXTENSION}\" >> ${B}/.config | 263 | echo "CONFIG_LOCALVERSION="\"${LINUX_VERSION_EXTENSION}\" >> ${B}/.config |
264 | } | 264 | } |
265 | 265 | ||
266 | addtask kernel_configme after do_patch | ||
267 | |||
266 | python do_kernel_configcheck() { | 268 | python do_kernel_configcheck() { |
267 | import re, string, sys | 269 | import re, string, sys |
268 | 270 | ||
@@ -407,4 +409,8 @@ OE_TERMINAL_EXPORTS += "GUILT_BASE KBUILD_OUTPUT" | |||
407 | GUILT_BASE = "meta" | 409 | GUILT_BASE = "meta" |
408 | KBUILD_OUTPUT = "${B}" | 410 | KBUILD_OUTPUT = "${B}" |
409 | 411 | ||
410 | do_diffconfig[depends] += "virtual/kernel:do_kernel_configme" | 412 | python () { |
413 | # If diffconfig is available, ensure it runs after kernel_configme | ||
414 | if 'do_diffconfig' in d: | ||
415 | bb.build.addtask('do_diffconfig', None, 'do_kernel_configme', d) | ||
416 | } | ||