Adrian Freihofer via lists.openembedded.org <adrian.freihofer= [email protected]> escreveu (domingo, 25/10/2026 à(s) 10:13):
> From: Adrian Freihofer <[email protected]> > > do_compile only reads the per-loadable flags of the FIT_LOADABLE_* > variables with d.getVarFlag('FIT_LOADABLE_*', loadable), never their > values. As the flag names are not literals, bitbake cannot track these > accesses, so the flags are not part of the do_compile signature. > Changing e.g. FIT_LOADABLE_LOADADDRESS[atf] did not trigger a rebuild > and a stale FIT image was reused. > > When FIT_LOADABLES is set, add the FIT_LOADABLE_* variables to > do_compile[vardeps] in the loop that already processes them. > Referencing a variable includes all its flags in the signature. > > While at it, fix the duplicated word in the comment. > > This is a fixup for commit 2535427d8de0 > "kernel-fit-image: support arbitrary loadables" > > Signed-off-by: Adrian Freihofer <[email protected]> > --- > meta/classes-recipe/kernel-fit-image.bbclass | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/meta/classes-recipe/kernel-fit-image.bbclass > b/meta/classes-recipe/kernel-fit-image.bbclass > index 7b2bcd4673..d6a41d4979 100644 > --- a/meta/classes-recipe/kernel-fit-image.bbclass > +++ b/meta/classes-recipe/kernel-fit-image.bbclass > @@ -32,8 +32,12 @@ python () { > # Parse loadables config > loadables = d.getVar('FIT_LOADABLES') > if loadables: > - # Check that the loadables configuration variables are not set > directly > - # directly, then assign them a synthetic value for testability > purposes > + # Check that the loadables configuration variables are not set > + # directly, then assign them a synthetic value for testability > purposes. > + # do_compile only reads the flags of these variables, never their > + # values, and as the flag names are not literals bitbake cannot > track > + # these accesses. Add the variables to the do_compile vardeps to > get > + # all their flags into the task signature. > I believe it's better to declare the below list in a new variable and add it to vardeps in a single step. Jose for v in ['FIT_LOADABLE_ARCH', 'FIT_LOADABLE_COMPRESSION', > 'FIT_LOADABLE_DESCRIPTION', 'FIT_LOADABLE_ENTRYPOINT', > 'FIT_LOADABLE_FILENAME', 'FIT_LOADABLE_LOADADDRESS', > @@ -43,6 +47,7 @@ python () { > > synt_value = " ? ".join([ d.getVarFlag(v, loadable) or "" for > loadable in loadables.split() ]) > d.setVar(v, synt_value) > + d.appendVarFlag('do_compile', 'vardeps', ' ' + v) > } > > do_configure[noexec] = "1" > -- > 2.56.0 > > > > > -- Best regards, José Quaresma
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#248605): https://lists.openembedded.org/g/openembedded-core/message/248605 Mute This Topic: https://lists.openembedded.org/mt/121925246/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
