bitbake of individual repositories

Andrew Geissler geissonator at
Fri Jan 3 08:57:05 AEDT 2020

> On Dec 18, 2019, at 12:02 PM, Patrick Williams <patrick at> wrote:
> On Tue, Dec 17, 2019 at 04:02:12PM -0600, Andrew Geissler wrote:
>> Other ideas out there?
> I've mentioned repo before as it can assist with this.  Bitbake has a
> feature where you can set "SRCREV=${AUTOREV}" and it will automatically
> pick up what is in the git repo.  What I've done on another project is
> this:

Does this mean all recipes will need to change to do this? I think we’ve
discussed this in the past and stated we like to have more control over
when code is picked up in the meta-* layers.

>   1. Use `repo` to pull down all the source repositories in a consistent
>      tree (and ensure it is in the Docker build image, such as in
>      /workdir).

I’m not familiar with repo. Will this require any changes to our upstream
repositories or is this just a tool we can use from within our CI scripts?

>   2. Run a small script to fetch the GERRIT_REFSPEC and/or GERRIT_TOPIC
>      on top of the checked out `repo` location.
>   3. Add a small .bbclass that replaces "SRCREV=${AUTOREV}" when an
>      environment variable is set and update the recipes to inherit
>      this class.
>   4. Set the environment variable prior to running `bitbake` and add a
>      source mirror to point at the /workdir location instead of Gerrit
>      directly (eg. 1 line in local.conf).

Your option seems even more complicated then the one’s I had above :)
It does come with the added feature of the TOPIC support but our general
statement has been to just avoid requisites.

As with anything though, if you’re willing to put the work in to help make
this happen, and assuming it requires minimal changes to existing
repository layouts and recipes, I’d be interested.

> Now when bitbake runs you're getting the full bitbake to run against the
> commit (or commits in the case of a GERRIT_TOPIC) that you've extracted.
> -- 
> Patrick Williams

More information about the openbmc mailing list