Re: SRCPV description

Martin Jansa

On Mon, Jan 14, 2013 at 10:10:58AM -0500, Jerrod Peach wrote:
On Mon, Jan 14, 2013 at 9:52 AM, Rifenbark, Scott M <
scott.m.rifenbark@...> wrote:


I need a description of the SRCPV variable for the YP reference glossary.
I have been told that it is generated and not assigned and that it is used
to define PV values that include the source revisions from an RCS. By
default it is set to the following in the conf/bitbake.conf file:

SRCPV = "${@bb.fetch2.get_srcrev(d)}"

Can anyone provide more information on this variable?


Scott Rifenbark
Intel Corporation
Yocto Project Documentation
503.341.0418 (cell)

yocto mailing list

Off the top of my head, I know SRCPV is a combination of the VCS type and
revision used in the actual build. Most interestingly, SRCPV will always
contain the real revision used in the build, even if ${AUTOREV} is
specified as the SRCREV for a given package. Note that if a package does
not include SRCPV somewhere within its recipe, I believe setting SRCREV to
${AUTOREV} will have no effect, as ${AUTOREV} by itself simply resolves to
the string "AUTOINC", which does not permute the hash of the recipe.

Note that I'm not really a Yocto expert nor am I sitting with the code in
front of me right now, so someone can jump in if I missed something or got
a detail incorrect. I don't remember the exact format of the string, but I
want to say its a combination of the VCS name, a Yocto-internal VCS
identification number (just like 1 or 2, not some huge int), and the
revision (be it a hash it git or an integer in SVN or whatever else is used
by a supported VCS).
There isn't VCS type in SRCPV (that's why there is always prefix like
1.0+git${SRCPV}, 1.0+svn${SRCPV}). Some recipes even in oe-core are
using wrong prefix like -git or ~git:
meta/recipes-connectivity/ofono/ = "0.12-git${SRCPV}"
meta/recipes-extended/libzypp/ = "0.0-git${SRCPV}"
meta/recipes-extended/sat-solver/ = "0.0-git${SRCPV}"
meta/recipes-extended/zypper/ = "1.5.3-git${SRCPV}"
meta/recipes-graphics/mesa/ = "9.1~git${SRCPV}"

And +git/+gitr, +svn/+svnr prefixes are inconsistently used.

AUTOINC is used instead of LOCALCOUNT only after

And AUTOREV should expand to latest revision in SRCREV even without
SRCPV in recipe (SRCPV is already used in bitbake.conf
meta/conf/bitbake.conf:SRCPV = "${@bb.fetch2.get_srcrev(d)}").


Martin 'JaMa' Jansa jabber: Martin.Jansa@...

Join to automatically receive all group messages.