[OE-core] [oe][meta-oe][PATCH] kernel.bbclass: kernel_do_install fails with 2.6 kernel recipes

Darren Hart dvhart at linux.intel.com
Mon Jan 7 17:19:52 UTC 2013



On 01/07/2013 09:10 AM, Marco wrote:
> Il 07/01/2013 17:11, Darren Hart ha scritto:
>> Hi Marco,
>>
>> On 01/07/2013 05:39 AM, Marco Cavallini wrote:
>>>   * old 2.6.x kernels don't have $kerneldir/tools directory
>>>   * so we got this error:
>>>   * sed: can't read ...SNIP...linux/2.6.30-r0/image/usr/src/kernel/tools/perf/Makefile: No such file or directory
>>>   * ERROR: Function failed: do_install
>>>
>>> Signed-off-by: Marco Cavallini <m.cavallini at koansoftware.com>
>>> ---
>>>   meta/classes/kernel.bbclass | 6 ++++--
>>>   1 file changed, 4 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
>>> index aee8a77..06b23e0 100644
>>> --- a/meta/classes/kernel.bbclass
>>> +++ b/meta/classes/kernel.bbclass
>>> @@ -204,8 +204,10 @@ kernel_do_install() {
>>>   		rm -f $kerneldir/$entry
>>>   	done
>>>
>>> -	# Fix SLANG_INC for slang.h
>>> -	sed -i 's#-I/usr/include/slang#-I=/usr/include/slang#g' $kerneldir/tools/perf/Makefile
>>
>> Please include a comment here describing why this was needed. Something
>> like:
>>
>> 	# Linux 2.6.x kernels don't have a tools directory
>>
>> (Replace .x with the appropriate version of course)
>>
>> Otherwise, looks good to me. Thanks!
>>
>>> +	if [ -f $kerneldir/tools/perf/Makefile ]; then
>>> +		# Fix SLANG_INC for slang.h
>>> +		sed -i 's#-I/usr/include/slang#-I=/usr/include/slang#g' $kerneldir/tools/perf/Makefile
>>> +	fi
>>>   }
>>>
>>>   sysroot_stage_all_append() {
>>>
>>
> 
> 
> Hi Darren,
> the comment describing why this was needed was in the patch header, is 
> in these four lines:
> 
>   * old 2.6.x kernels don't have $kerneldir/tools directory
>   * so we got this error:
>   * sed: can't read 
> ...SNIP...linux/2.6.30-r0/image/usr/src/kernel/tools/perf/Makefile: No 
> such file or directory
>   * ERROR: Function failed: do_install
> 

Yes :-) The point being that it should be in the code itself so someone
reading the code can understand why the test is there without having to
use git blame and git log to discover it.

--
Darren

> I haven't specified the 2.6 version because I thought that all 2.6 
> version don't have a 'tools' directory.
> BTW I patched it because with 2.6.28 and 2.6.30 it failed.
> 
> 
> Cordiali Saluti / Kindest Regards / Mit freundlichen Grüßen
> 

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




More information about the Openembedded-core mailing list