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

Richard Purdie richard.purdie at linuxfoundation.org
Thu May 19 22:53:37 UTC 2011


On Wed, 2011-05-18 at 21:47 +0200, 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?

Someone should file a bug about this so we don't forget about it. I
think bbappend files currently sometimes fall outside the cache logic
but they obviously shouldn't and we've found a corner case...

Cheers,

Richard





More information about the Openembedded-core mailing list