kernel: copy defconfig to {B} vs {S}
authorBruce Ashfield <bruce.ashfield@windriver.com>
Fri, 5 Aug 2011 17:49:00 +0000 (19:49 +0200)
committerPatrick Ohly <patrick.ohly@intel.com>
Fri, 9 Jan 2015 16:14:20 +0000 (08:14 -0800)
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.

(From meta-openembedded rev: 3d96cb8778d347d070d32c390f113cb36e4587c9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
meta-openembedded/meta-oe/classes/kernel.bbclass

index edf455d..8629133 100644 (file)
@@ -186,8 +186,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