Hmm, that is a very good suggestion that I hadn't thought of. I guess the
only disadvantage is that PV doesn't get changed so you end up having to
keep track of which "recipe_1.0.0.rpm" is the test one and which is the
good version, but even that you could probably do:
SRCREV_pn-recipe1 = "${AUTOREV}"
PV_pn-recipe1 = "1.0.1+git${SRCPV}" # I'm not sure if this would actually
work?
My bbclass thing is a little easier if you have to do a bunch of those, but
maybe not worthwhile then.
Thanks!
Aaron
On Tue, Feb 25, 2020 at 1:30 PM Denys Dmytriyenko <[email protected]> wrote:
> 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 (#48602): https://lists.yoctoproject.org/g/yocto/message/48602
Mute This Topic: https://lists.yoctoproject.org/mt/71538656/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-