[OE-core] [PATCH] kernel.bbclass: Don't include source files for "other" architectures in the sysroot

Darren Hart dvhart at linux.intel.com
Wed May 1 19:08:07 UTC 2013



On 04/29/2013 07:02 AM, Phil Blundell wrote:
> Since the sysroot is per-machine, we can be fairly confident that any
> out-of-tree modules which look at our sources will be building for the
> same architecture that we are.  This being the case there's no need to
> ship the sources for any other architectures, which saves disk space and
> time (about 30 seconds in do_package, in a somewhat unscientific test
> with ARCH=mips).
> 
> Of course, an even better fix would be to not install these files in the
> first place, but deleting them is easier.

No objection, and reducing kernel related build/package time is a good
thing.

You've stated that this successfully removes code on mips, have you also
tested that basic module building still works? For example, does
hello-mod still build?

Have you confirmed this on any other architectures? I'd like to see a
test at least on the core emulated BSPs (or maybe at least 2 of them)
before we pull this in as we have spent quite a bit of effort getting
modules building to date, I'd hate to break that due to a lack of testing.

> 
> Signed-off-by: Phil Blundell <philb at gnu.org>
> ---
>  meta/classes/kernel.bbclass |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index 00e27ef..ffb0b11 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -167,6 +167,7 @@ kernel_do_install() {
>  	oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean
>  	make -C $kerneldir _mrproper_scripts
>  	find $kerneldir -path $kerneldir/lib -prune -o -path $kerneldir/tools -prune -o -path $kerneldir/scripts -prune -o -name "*.[csS]" -exec rm '{}' \;
> +	rm -rf $(find $kerneldir/arch -maxdepth 1 -not -path $kerneldir/arch/$ARCH -not -path $kerneldir/arch/Kconfig -not -path $kerneldir/arch/. -not -path $kerneldir/arch)

Any particular reason for not using "-exec rm" like the other code
removal commands here?

>  	find $kerneldir/Documentation -name "*.txt" -exec rm '{}' \;
>  
>  	# As of Linux kernel version 3.0.1, the clean target removes
> 

Thanks,

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Technical Lead - Linux Kernel




More information about the Openembedded-core mailing list