Skip to contentSkip to conversation

Heads up: basichash being enabled for poky by default

DISCUSSION Richard Purdie 2 participants 3 messages Feb 21, 2012

lore
Share & tools
lore
#0 lore raw

This is just to warn people that I'm going to push a change making basichash the default for DISTRO=poky as of tomorrow. This change has been brewing for a while and has seen plenty of discussion. Its time to throw the switch:

http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?id=f65bbb41d6fe9763acbd80df5885b3526259ce80

I haven't yet decided what should happen when in OE-Core and am open to opinions on that.

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.

Cheers,

Richard

#1 lore raw
Quoted 14 lines · Richard Purdie

This is just to warn people that I'm going to push a change making basichash the default for DISTRO=poky as of tomorrow. This change has been brewing for a while and has seen plenty of discussion. Its time to throw the switch:

http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?id=f65bbb41d6fe9763acbd80df5885b3526259ce80

I haven't yet decided what should happen when in OE-Core and am open to opinions on that.

If you're not ready for the change, you can still set:

BB_SIGNATURE_HANDLER = 'OEbasic'

Quoted 7 lines

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?

Signature · 4 lines
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------
#2 lore raw
Quoted 9 lines · Gary Thomas
Quoted 8 lines · Richard Purdie

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.

Quoted 6 lines
Quoted 3 lines

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 though.

Does that make things clearer?

Cheers,

Richard