From 4f03d922ce32f602a5a407cf422d82a0d036e4a0 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Wed, 20 Jul 2011 16:22:31 -0400 Subject: kernel: copy defconfig to {B} vs {S} For kernel's that use a split source/object build the copy of defconfig to {S} in the base kernel class is problematic. The previous solution for this was to override the do_configure of the base kernel class in a subclass. While this is still a viable/valid option, it does mean that changes to the base do_configure will be missed. The solution to this is to copy a defconfig to {B} which is typically the same as {S}, so most kernel recipes won't see or care about this change. With this change in place, linux-yocto.bbclass can drop its override of do_configure. Tested with linux-yocto and oe linux recipes. Signed-off-by: Bruce Ashfield --- meta/classes/kernel-yocto.bbclass | 6 ------ meta/classes/kernel.bbclass | 4 ++-- 2 files changed, 2 insertions(+), 8 deletions(-) (limited to 'meta/classes') diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 98272fcc3..a374df13b 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -118,12 +118,6 @@ python do_kernel_configcheck() { bb.plain( "%s" % result ) } -# overrides the base kernel_do_configure, since we don't want all the -# defconfig processing in there -kernel_do_configure() { - yes '' | oe_runmake oldconfig -} - # Ensure that the branches (BSP and meta) are on the locatios specified by # their SRCREV values. If they are NOT on the right commits, the branches diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 2e36e86eb..9c492a3ec 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -181,8 +181,8 @@ sysroot_stage_all_append() { kernel_do_configure() { # Copy defconfig to .config if .config does not exist. This allows # recipes to manage the .config themselves in do_configure_prepend(). - if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${S}/.config" ]; then - cp "${WORKDIR}/defconfig" "${S}/.config" + if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then + cp "${WORKDIR}/defconfig" "${B}/.config" fi yes '' | oe_runmake oldconfig -- cgit v1.2.3