[oe] Understanding Bitbake Dependencies

Chris Larson clarson at kergoth.com
Fri May 7 23:00:15 UTC 2010


On Fri, May 7, 2010 at 3:39 PM, Ash Charles <ashcharles at gmail.com> wrote:

> Hi,
>
> When I change a recipe or configuration in OE, I often end up doing a
> 'bitbake <package-name> -c clean; bitbake <package-name>' to ensure
> whatever it is I'm doing it gets rebuilt.  I realize there must be a
> better way to do this in some cases---sometimes just a bitbake
> <package-name> -c rebuild is sufficient though not always---other
> times I can just get away with bitbake <package-name>.
>
> --- What types of changes causes bitbake to rebuild a recipe?
>

It never magically detects changes to recipes or configuration and rebuild.
 It goes by the stamp files, whose file names include the PN, PV, PR
variables. If you change a recipe or config and need something rebuilt, you
need to either bump its PR (revision) or do the -c clean then bitbake.

--- Why is '-c clean, then rebuild' different than '-c rebuild'?
>

It's an artifact of how bitbake's runqueue works.  Strongly advise against
using -c rebuild as it stands today.


> --- If I make changes to the kernel (e.g. enable a module), what else
> do I need to bitbake to get an updated root file system|image?
>

Image recipes rebuild the image from the packages every time you bitbake
them (their tasks are flagged with 'nostamp').  If your question is how to
rebuild the kernel packages that the image recipes can then install, as I
said above, clean and re-bitbake the kernel or bump the recipe revision if
it's a recipe change.

Sorry for the simple questions but the dependencies can seem a little
> magical at times. If anyone could point me to a reference or give me a
> brief explanation of this, that'd be wonderful!


I had thought the behavior of the stamps was documented in the bitbake
manual.. if not, it should be :)
-- 
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics



More information about the Openembedded-devel mailing list