On Tue, Feb 25, 2020 at 02:10:15PM -0500, Joel A Cohen wrote:
> 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}"

You can put these in .inc file so that other people can enable it for
the same group of recipes in one "require" line in local.conf.

> PV_pn-recipe1 = "1.0.1+git${SRCPV}"  # I'm not sure if this would actually
> work?

Yes, this is how SRCPV is supposed to be used, but you can have this in
the normal recipe without the override.

You can also use one of the bbclasses like:
meta-openembedded/meta-oe/classes/gitpkgv.bbclass
to have nicer versions, if the components have some usable git tags

> 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
> >

> 

Attachment: signature.asc
Description: PGP signature

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

View/Reply Online (#48603): https://lists.yoctoproject.org/g/yocto/message/48603
Mute This Topic: https://lists.yoctoproject.org/mt/71538656/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to