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) recipe_1.0.0.bb (a known-stable recipe)

2) recipe_git.bb (which contains something like:
SRCREV="${AUTOREV}"
SRCPV="1.0.1+git${SRCPV}"
DEFAULT_PREFERENCE = "-1"


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
# "recipe_git.bb". 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 recipe_git.bb
recipes, and it's a central place to go configure a "use latest source
code" setting.

Is this interesting to anyone else?

--Aaron
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#48599): https://lists.yoctoproject.org/g/yocto/message/48599
Mute This Topic: https://lists.yoctoproject.org/mt/71538656/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to