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

Gary Thomas gary at mlbassoc.com
Wed May 18 22:11:10 UTC 2011


On 05/18/2011 01:47 PM, Simon Busch wrote:
> 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?

As far as I know, no.  If you add a .bbappend file _after_ the
main recipe has been parsed, it does not seem to be processed
at all.  Forcing the cache to be rebuilt is what fixed it for me.

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------




More information about the Openembedded-core mailing list