[oe] Use AUTOREV and have revision/commit number in package name?

Denys Dmytriyenko denis at denix.org
Thu Aug 20 03:28:02 UTC 2009


All,

I've been playing with AUTOREV for some time now and also asked this question 
before on the IRC, but so far there seems to be no easy solution to the 
problem in subject.

Usually, when a package is built from an SCM repository, SRCREV is set to a 
specific commit#/tag etc. And SRCREV is also usually referenced from PV (like 
PV = "X.Y.Z-scmr${SRCREV}") to have the revision/commit number in the package 
name, to easily track different builds.

Now, when SRCREV = "${AUTOREV}", AUTOREV gets resolved into a Python function, 
which does the magic of fetching the latest snapshot from a repository. But 
now if PV contains references to SRCREV, it breaks (undesrandably), since 
SRCREV gets resolved in do_fetch and PV needs to be resolved early on.

Are there any standard ways to work around this limitation?

I was thinking this maybe quite tricky, since the actual revision number used, 
is not known until do_fetch runs the actual checkout, at which time changing 
PV is too late, as temp/work is already created and so on. So, would it be 
possible to hack one of the do_package tasks to add the actual revision/commit 
number to a final package name, bypassing changing PV/PR?

Any thoughts? Feel free to throw ideas. Thanks.

-- 
Denys




More information about the Openembedded-devel mailing list