[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