[OE-core] [PATCH 1/1] kernel: restore scripts in the sysroot

Bruce Ashfield bruce.ashfield at windriver.com
Fri Oct 4 00:59:47 UTC 2013


On 13-10-03 8:58 PM, Khem Raj wrote:
>
> On Oct 3, 2013, at 5:02 PM, Bruce Ashfield <bruce.ashfield at windriver.com> wrote:
>
>> When building against the sysroot, out of tree modules can require modpost
>> and other utilities normally found in the kernel's scripts directory. For
>> the kernel source in the staging dir, these scripts have been removed to
>> avoid mixing archiectures when packaging kernel-dev (among other things).
>>
>> Rather than further complicate the kernel's install rule, or its packaging,
>> we can jump into the sysroot and restore the scripts by building them, hence
>> making them available to packages that need them.
>>
>> Signed-off-by: Bruce Ashfield <bruce.ashfield at windriver.com>
>> ---
>> meta/classes/kernel.bbclass | 8 ++++++++
>> 1 file changed, 8 insertions(+)
>>
>> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
>> index 4acfb7e..d856e31 100644
>> --- a/meta/classes/kernel.bbclass
>> +++ b/meta/classes/kernel.bbclass
>> @@ -294,6 +294,14 @@ do_install[prefuncs] += "package_get_auto_pr"
>>
>> sysroot_stage_all_append() {
>> 	sysroot_stage_dir ${D}${KERNEL_SRC_PATH} ${SYSROOT_DESTDIR}${KERNEL_SRC_PATH}
>> +
>> +	# Restore kernel scripts in the sysroot, since they had to be removed during
>> +	# packaging to avoid mismatched arch QA errors, but are required/useful when
>> +	# packages like out of tree kernel modules are built. Rather than playing QA
>> +	# games, it is easier to just do this work in the sysroot.
>> +	( cd ${SYSROOT_DESTDIR}${KERNEL_SRC_PATH};
>
> This was cd ${SYSROOT_DESTDIR}${KERNEL_SRC_PATH}/scripts in my patch but I will test out this one too.
> but this is ok since

Thanks. I went with habit and did it right from the top level. I see
modpost in my sysroot, but I definitely want to get your confirmation
that it works for you as well.

Bruce

>
> ifeq ($(KBUILD_EXTMOD),)
> # Additional helpers built in scripts/
> # Carefully list dependencies so we do not try to build scripts twice
> # in parallel
> PHONY += scripts
> scripts: scripts_basic include/config/auto.conf include/config/tristate.conf \
>           asm-generic
>          $(Q)$(MAKE) $(build)=$(@)
>
>
>> +	  oe_runmake scripts
>> +	)
>> }
>>
>> kernel_do_configure() {
>> --
>> 1.8.1.2
>>
>




More information about the Openembedded-core mailing list