[OE-core] [PATCH 2/4] kernel: copy defconfig to {B} vs {S}
Darren Hart
dvhart at linux.intel.com
Thu Jul 21 18:08:12 UTC 2011
On 07/21/2011 10:16 AM, Bruce Ashfield wrote:
> 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 <bruce.ashfield at windriver.com>
Acked-by: Darren Hart <dvhart at linux.intel.com>
> ---
> meta/classes/kernel-yocto.bbclass | 6 ------
> meta/classes/kernel.bbclass | 4 ++--
> 2 files changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
> index 98272fc..a374df1 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 2e36e86..9c492a3 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
>
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
More information about the Openembedded-core
mailing list