diff options
authorRichard Purdie <>2022-01-19 17:50:33 +0000
committerRichard Purdie <>2022-01-19 23:03:43 +0000
commit77f08932f4bc927b506130aa2dde4936a379ff1f (patch)
parent911cdf86197d5dcecffe6b3ee0fd7b34e5786c74 (diff)
sstate: Improve failure to obtain archive message/handling
The bb.fatal() case where sstate failed to find/use an archive in setcene tasks is suboptimal. Bitbakes handling of setscene tasks will be to warn but the fatal will turn this into an error, despite the real task being rerun. In these failure cases other messages would usually have been printed so turn this into a warning and raise a handled exception status so that bitbake knows to fail the task but not print more messages. (From OE-Core rev: 7875baeca7a3ed216b2442fb8771e51efbfa5a4f) Signed-off-by: Richard Purdie <>
1 files changed, 3 insertions, 1 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 49d54bc94a..b45da4fb23 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -795,7 +795,9 @@ def sstate_setscene(d):
shared_state = sstate_state_fromvars(d)
accelerate = sstate_installpkg(shared_state, d)
if not accelerate:
- bb.fatal("No suitable staging package found")
+ msg = "No sstate archive obtainable, will run full task instead."
+ bb.warn(msg)
+ raise bb.BBHandledException(msg)
python sstate_task_prefunc () {
shared_state = sstate_state_fromvars(d)