[OE-core] Heads up: basichash being enabled for poky by default
richard.purdie at linuxfoundation.org
Tue Feb 21 23:56:09 CET 2012
On Tue, 2012-02-21 at 15:34 -0700, Gary Thomas wrote:
> On 2012-02-21 15:03, Richard Purdie wrote:
> > If you're not ready for the change, you can still set:
> > BB_SIGNATURE_HANDLER = 'OEBasic'
> > to get the existing behaviour either at a local or distro level. The
> > difference is one will include the sstate hash in the files in
> > tmp/stamps/*. This means if the hash changes, it gets rebuilt.
> > As a result of this commit your tree will rebuild. I'll bump the TMPDIR
> > ABI version number at the same time so people more easily spot the
> > change and can either revert or continue at their choice.
> For those of us not using DISTRO=poky, what are the pros & cons
> of the various signature handler settings?
In gory details terms, there are five options:
unset, "basic", "basichash", "OEBasic", "OEBasicHash"
Which reminds me that the patch I linked to is wrong and we'll be
switching to OEBasicHash. See below for the difference.
I'd suggest people only care about OEBasic (the current default
everywhere) and OEBasicHash.
We need some kind of hash generator for sstate. Since sstate is now
mandatory, having a siggen is also mandatory so the unset option isn't
useful for OE-Core but was there for compatibility with OE-classic.
The difference between the OE and plain variants is that the OE versions
live in meta/lib/oe/sstatesig.py instead of bitbake. You can see they
inherit the basic versions and make some specific tweaks to the
dependency tree (like ignoring changes in quilt-native so do_patch
doesn't get rerun when quilt-native changes). This also shows how you
could plug in a completely different custom signature generator.
The difference between basic and basichash is that basic hash injects
the signatures into the files in tmp/stamps/. This means things will
rebuild when any hash changes, removing the manual PR bump process and
making things much more deterministic and consistent with the sstate
packages. It likely will rebuild more than you want it to in some cases
Does that make things clearer?
More information about the Openembedded-core