[poky] RFC/RFT Checksums as part of stamp files

Koen Kooi koen at dominion.thruhere.net
Fri Jan 7 00:37:45 PST 2011


Op 6 jan 2011, om 23:56 heeft Richard Purdie het volgende geschreven:

> We've been working on checksums and sstate for a while, one of the
> pieces we've not put in place so far is using the checksums in the stamp
> files.
> 
> What this would mean in English is the end of PR bumps since when you
> change the recipe, the checksums of the appropriate tasks change and
> everything automatically rebuilds that changed.
> 
> It also means if you change something in the core packaging, everything
> should repackage and so on.
> 
> The final key to enabling this is this commit:
> 
> http://git.pokylinux.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/bitbake-wip&id=b82259b901cae11b0e5715a92a580c9432af52cc
> 
> This hasn't been merged to master yet but we should discuss when this
> change could/should be merged and under what criteria.
> 
> I've only just started testing full builds with the change myself so
> keep that in mind. I'd appreciate testing but the change is still very
> new and likely has bugs to iron out.
> 
> I'm also aware that this idea isn't going to be universally liked,
> particularly I can guess that Koen is going to have concerns about this
> and Angstrom since the lack of PR bumps means package feeds could start
> to suffer.

You saved me from writing a lengthy email about that :) 

> My proposal for dealing with this will be to start having the packaging
> backend take ownership of PE and PR fields. These should be auto
> incremented when the build changes. That in itself is easy enough if you
> have one build area, the tricky bit is where you have multiple build
> sources feeding into a common packages repo like Angstrom.
> 
> For this we're going to need some kind of network service that takes a
> version and provides the PE/PR values back, incrementing them each time
> it sees a new version/checksum.

As a simpler short term solution, can the build "master" write the info to disk (e.g. sqlite) so we can put it in a layer and build "slaves" would just read that back? That we we only need a variable to either read (slaves) or write (master) to that file. It also involves as little as possible network access, since it sits in the metadata git.

regards,

Koen


More information about the poky mailing list