[oe] [Bitbake-dev] A new bitbake extension: .bbappend files

Khem Raj raj.khem at gmail.com
Wed Aug 4 04:09:49 UTC 2010


On (03/08/10 14:26), Richard Purdie wrote:
> On Fri, 2010-07-16 at 15:25 +0100, Richard Purdie wrote:
> > Whilst our layers mechanism, is great it does have a drawback which has
> > bugged me for a while. If you have a recipe like pointercal which has
> > machine specific information in it and you have your new machine code in
> > a layer, how do you add a pointercal file for your machine?
> > 
> > Answer is you copy the whole pointercal recipe and files into your
> > layer, then add the single file for your machine. To me this is ugly,
> > ugly, ugly. We hate code duplication and as soon as you create two
> > copies of the same information, we've failed.
> > 
> > So how could we do this better? Somehow we need to say that a given
> > directory X has some information which should be merged with the
> > original recipe. I've thought through several different ways of doing
> > this and the best solution I found was "bbappend".
> > 
> > The idea is that if bitbake finds any X.bbappend files, when it loads
> > X.bb, it will also include these files after it parses the base .bb file
> > (but before finalise and the anonymous methods run). This means that
> > the .bbappend file can poke around and do whatever it might want to the
> > recipe to customise it.
> > 
> > I went ahead and tried it out as its quite simple to code this in
> > bitbake. I liked the result enough I've already merged this into Poky:
> > 
> > http://git.pokylinux.org/cgit.cgi/poky/commit/?id=63e6ba85677b8aa9f4cf9942a1fccbb8a8c72660
> > 
> > I'm proposing to push it to bitbake master if there are no serious
> > objections.
> 
> Whilst I think there were some initial concerns the consensus seemed to
> be that this was a good thing to have in bitbake, its something that has
> been on the feature wishlist since day one so I've merged the patch into
> bitbake master.

Now this fails.

$ bitbake -c clean -b virtual:native:/home/kraj/work/oe/openembedded/recipes/zlib/zlib_1.2.3.bb
Command execution failed: Traceback (most recent call last):
  File "/home/kraj/work/oe/bitbake/lib/bb/command.py", line 88, in
runAsyncCommand
    commandmethod(self.cmds_async, self, options)
  File "/home/kraj/work/oe/bitbake/lib/bb/command.py", line 174, in
buildFile
    command.cooker.buildFile(bfile, task)
  File "/home/kraj/work/oe/bitbake/lib/bb/cooker.py", line 640, in
buildFile
    the_data = self.bb_cache.loadDataFull(fn, self.get_file_appends(fn),
self.configuration.data)
  File "/home/kraj/work/oe/bitbake/lib/bb/cooker.py", line 897, in
get_file_appends
    if f in self.appendlist:
AttributeError: BBCooker instance has no attribute 'appendlist'


> 
> Cheers,
> 
> Richard
> 
> _______________________________________________
> Bitbake-dev mailing list
> Bitbake-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/bitbake-dev




More information about the Openembedded-devel mailing list