On Tue, Feb 25, 2020 at 01:21:53PM -0500, Joel A Cohen wrote:
> 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
You know that you can poke SRCREV and other vars from a config file,
such as local.conf?
SRCREV_pn-recipe1 = "${AUTOREV}"
SRCREV_pn-recipe2 = "${AUTOREV}"
--
Denys
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#48600): https://lists.yoctoproject.org/g/yocto/message/48600
Mute This Topic: https://lists.yoctoproject.org/mt/71538656/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-