Using "latest git" versions of recipes

Joel A Cohen

Hi all,

What I've done for quite a while when creating recipes for code that is under heavy development is create 2 version of the recipe.

1) (a known-stable recipe)

2) (which contains something like:

The major problem I have with this, is that it defeats BB_NO_NETWORK, even if I'm not using the git version of the recipe (because bitbake wants to go check what the latest version is of the recipe during parsing).

I'm currently experimenting with a different approapch, which seems to have several advantages. I wanted to share it and get commentary.

1) Add a new class, "use-git.bbclass":
# This allows using the latest version of the source without requiring a separate
# "". To use:
# 1) Add: INHERIT += "use-git"
# 2) Add: GIT_PNS = "recipe1 recipe2 etc"

GIT_PNS ?= ""
GIT_PNS[type] = "list"

python () {
    pn = d.getVar('PN')
    git_pns = d.getVar('GIT_PNS', [])

    if pn in git_pns:
        d.setVar('SRCREV', d.getVar('AUTOREV'))
        srcpv = d.getVar('SRCPV')
        d.appendVar('PV', '+git' + srcpv)
        bb.note('Using latest git source code for %s, as recipe %s' % (pn, d.getVar('BP')))

2) In local.conf:
INHERIT += "use-git"
GIT_PNS = "recipe1 recipe2 etc"

This is nice, because I no longer have to create those recipes, and it's a central place to go configure a "use latest source code" setting.

Is this interesting to anyone else?


Join to automatically receive all group messages.