[oe] SRCPV migration

Martin Jansa martin.jansa at gmail.com
Mon Nov 16 11:51:15 UTC 2009


On Mon, Nov 16, 2009 at 11:59:10AM +0100, Koen Kooi wrote:
> On 16-11-09 11:49, Richard Purdie wrote:
> >On Mon, 2009-11-16 at 11:37 +0100, Koen Kooi wrote:
> >>So basically every recipe that is using SRCPV in PV or PR is unsuitable
> >>to be put in online feeds. That should be enough to stop the SRCPV merge
> >>into .dev.
> >
> >How is this different to the current situation though?
> 
> In the current situation (actually, last weeks situation) SRCPV was
> never used.
> 
> >If SRCREV is locked down you will get 1 as the local build revision back
> >and it will not change and will be the same for everyone.
> 
> >If its not locked down, all bets are off but they always have been - no
> >change.
> 
> Ah, that was the bit of info I was missing. But if SRCREV is locked
> down (as it should!) what's the point of putting SRCPV in PV or PR?
> It seems to make things worse if you update a locked SRCREV, since
> SRCPV will remain '1'.
> 
> regards,
> 
> Koen

Hi,

I'm not sure if this is 100% right but it behaves like this here:

with AUTOREV used as SRCREV you get ${SRCREV} in format
gitrNNNN+hash
where NNNN is localcount incremented on buildhost every time you build
that recipe AND hash is changed

if you have fixed SRCREV then without SRCPV you get just gitrHash which 
can be < gitrNNNN+hash or > gitrNNNN+hash depending on actual hash value.
That's why you cannot switch between SRCREV and SRCPV without PE bump.

If there is SRCPV in PV and you're using fixed SRCREV than you don't
need to bump PR in cases like this 
./xorg-proto/calibrateproto_git.bb:PV = "0.0+${PR}+gitr${SRCPV}"
because +gitr${SRCPV} will create non-decreasing sequence as localcount
will be incremented every time you bump fixed SRCREV for that recipe AND
build it.

You're right that there can be inconsistency between builders if one ie
you're changing fixed srcrev every day and rebuild it on that buildhost
and othere buildhost is rebuilding that package once a month.

If all your builders are building all your targets every day and you're
not changing fixed SRCREV more then once a day, you need to sync
bb_persist_data.sqlite3 only for new builder or after some failures
(which I know is quite error-prone :().

This inconsistency can be fixed imho only by sharing 
tmpdir-dev-shr/cache/om-gta02/bb_persist_data.sqlite3 between hosts
(better using some online database access for getting localcounts)

sqlite3 ../tmpdir-dev-shr/cache/om-gta02/bb_persist_data.sqlite3 
"select * from BB_URI_LOCALCOUNT where key like '%kernel.git-linux-openmoko-shr-drm-devel_count';"
git:git.openmoko.org.git.kernel.git-linux-openmoko-shr-drm-devel_count|5

regards,

-- 
uin:136542059                jid:Martin.Jansa at gmail.com
Jansa Martin                 sip:jamasip at voip.wengo.fr 
JaMa                         




More information about the Openembedded-devel mailing list