[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