[OE-core] Is BBCLASSEXTEND in .bbappend supposed to work?

Simon Busch morphis at gravedo.de
Wed May 18 19:47:16 UTC 2011


On 18.04.2011 14:17, Gary Thomas wrote:
> On 04/18/2011 05:34 AM, Koen Kooi wrote:
>>
>> Op 18 apr 2011, om 13:28 heeft Richard Purdie het volgende geschreven:
>>
>>> On Mon, 2011-04-18 at 12:55 +0200, Koen Kooi wrote:
>>>> Martin did some Xorg cleanup in meta-oe today and we're seeing some
>>>> strange behaviour.  The recipe in question:
>>>>
>>>> koen at dominion:/OE/tentacle/sources/meta-openembedded/meta-oe$ cat
>>>> recipes-graphics/xorg-lib/libxrender_0.9.6.bbappend
>>>> BBCLASSEXTEND = "native nativesdk"
>>>> koen at dominion:/OE/tentacle/sources/meta-openembedded/meta-oe$
>>>>
>>>> Bitbake-layers tells me:
>>>>
>>>> INFO: libxrender_0.9.6.bb:
>>>> INFO:  
>>>> /OE/tentacle/sources/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxrender_0.9.6.bbappend
>>>>
>>>>
>>>> So the append is getting picked up, but bitbake gives me:
>>>>
>>>> ERROR: Nothing PROVIDES 'libxrender-native'
>>>> NOTE: Runtime target 'libnss-mdns' is unbuildable, removing...
>>>> Missing or unbuildable dependency chain was: ['libnss-mdns',
>>>> 'avahi', 'gtk+', 'gtk+-native', 'libxrender-native']
>>>>
>>>> This is with HEAD of bitbake master.
>>>
>>> I did some experimentation here and this looks like bitbake-layers is
>>> seeing the file but bitbake is not. If I touch the libxrender .bb file
>>> and then run bitbake -DDD, I see the file mentioned in the logs:
>>>
>>> $ touch recipes-graphics/xorg-lib/libxrender_0.9.6.bb
>>> $ bitbake libxrender-native -DDD | grep append
>>> DEBUG: Appending .bbappend file
>>> /rphome/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.6.bbappend
>>> to /rphome/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.6.bb
>>> DEBUG: BB
>>> /rphome/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.6.bbappend: handle(data,
>>> include)
>>> DEBUG: LOAD
>>> /rphome/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.6.bbappend
>>>
>>> Can you confirm you're seeing that? Admittedly I just hacked a local
>>> checkout and I'm not using meta-oe.
>>
>> I get:
>>
>> koen at dominion:/OE/tentacle/build$ touch
>> ../sources/openembedded-core/meta/recipes-graphics/xorg-lib/libxrender_0.9.6.bb
>>
>> koen at dominion:/OE/tentacle/build$ bitbake libxrender-native -DDD |
>> grep append
>> DEBUG: Appending .bbappend file
>> /OE/tentacle/sources/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxrender_0.9.6.bbappend
>> to
>> /OE/tentacle/sources/openembedded-core/meta/recipes-graphics/xorg-lib/libxrender_0.9.6.bb
>>
>> DEBUG: BB
>> /OE/tentacle/sources/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxrender_0.9.6.bbappend:
>> handle(data, include)
>> DEBUG: LOAD
>> /OE/tentacle/sources/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxrender_0.9.6.bbappend
>>
>>
>> It then chokes on renderproto-native, which gets fixes by touching the
>> .bb. So it looks like bitbake has some caching issues.
> 
> I have seen exactly this behaviour.  Rebuilding the cache makes it
> work.  Is there an easy way
> to force the cache to rebuild?  (I just touch a .conf file...)
> 
>>>
>>> Do you need to add *.bbappend to BBFILES in layer.conf ?
>>
>> I have that already :)

I discoverd the same behaviour today. Is there already something fix to
get bitbake to evaluate the bbappend file after creation?

regards,
Simon





More information about the Openembedded-core mailing list