[oe] Understanding Bitbake Dependencies

Ash Charles ashcharles at gmail.com
Sun May 9 19:52:04 UTC 2010


On Fri, May 7, 2010 at 4:00 PM, Chris Larson <clarson at kergoth.com> wrote:
> 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.
Perfect--this makes sense.
>
> --- 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 :)
The version online (is there another version to be using?) has only
this information about the stamps directory I think:
"Nothing of interest to users in here. These time stamps are used by
bitbake to keep track of what tasks it has completed and what tasks it
still has outstanding. This is how it knows that certain actions have
been completed and it doesn't need to do them again."

Thanks for the info Chris.

-Ash




More information about the Openembedded-devel mailing list