mirror of
https://git.yoctoproject.org/poky
synced 2026-04-04 23:02:22 +02:00
classes/sstate: regenerate sstate when signing enabled
This change ensures that the task signatures changes, and therefore sstate tasks are rerun, when signing is enabled. This has the positive outcome that if signing is enabled new signed shared state objects will be produced, rather than just signing shared state objects for tasks where no work has been performed yet. The downside of this change is that enabling/disabling sstate object signing alters the taskhash and results in rebuilding the world. (From OE-Core rev: ef60c65e3856682b90b17ae06a1b675756fd4496) Signed-off-by: Joshua Lock <jlock@vmware.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
57d702ed5d
commit
75698648c0
@@ -659,8 +659,12 @@ def sstate_package(ss, d):
|
||||
if d.getVar('SSTATE_SKIP_CREATION') == '1':
|
||||
return
|
||||
|
||||
sstate_create_package = ['sstate_report_unihash', 'sstate_create_package']
|
||||
if d.getVar('SSTATE_SIG_KEY'):
|
||||
sstate_create_package.append('sstate_sign_package')
|
||||
|
||||
for f in (d.getVar('SSTATECREATEFUNCS') or '').split() + \
|
||||
['sstate_report_unihash', 'sstate_create_package', 'sstate_sign_package'] + \
|
||||
sstate_create_package + \
|
||||
(d.getVar('SSTATEPOSTCREATEFUNCS') or '').split():
|
||||
# All hooks should run in SSTATE_BUILDDIR.
|
||||
bb.build.exec_func(f, d, (sstatebuild,))
|
||||
@@ -776,13 +780,13 @@ sstate_create_package () {
|
||||
python sstate_sign_package () {
|
||||
from oe.gpg_sign import get_signer
|
||||
|
||||
if d.getVar('SSTATE_SIG_KEY'):
|
||||
signer = get_signer(d, 'local')
|
||||
sstate_pkg = d.getVar('SSTATE_PKG')
|
||||
if os.path.exists(sstate_pkg + '.sig'):
|
||||
os.unlink(sstate_pkg + '.sig')
|
||||
signer.detach_sign(sstate_pkg, d.getVar('SSTATE_SIG_KEY', False), None,
|
||||
d.getVar('SSTATE_SIG_PASSPHRASE'), armor=False)
|
||||
|
||||
signer = get_signer(d, 'local')
|
||||
sstate_pkg = d.getVar('SSTATE_PKG')
|
||||
if os.path.exists(sstate_pkg + '.sig'):
|
||||
os.unlink(sstate_pkg + '.sig')
|
||||
signer.detach_sign(sstate_pkg, d.getVar('SSTATE_SIG_KEY', False), None,
|
||||
d.getVar('SSTATE_SIG_PASSPHRASE'), armor=False)
|
||||
}
|
||||
|
||||
python sstate_report_unihash() {
|
||||
|
||||
Reference in New Issue
Block a user