* create-spdx and sstate
@ 2023-01-05 20:32 Paul Eggleton
2023-01-06 18:16 ` Joshua Watt
0 siblings, 1 reply; 2+ messages in thread
From: Paul Eggleton @ 2023-01-05 20:32 UTC (permalink / raw)
To: openembedded-core, Joshua Watt
Hi Joshua / all
We've been having an issue with the create-spdx class if we share sstate
between two configurations - one where gcc-cross-<arch> has a dependency and
one where it doesn't (specifically, one where the abicheck class in meta-
binaryaudit is inherited and the other where it isn't; that influences
DEPENDS). The result is that if you build the configuration with the dependency
then the one where it doesn't (in separate build dirs with the same sstate
cache), image_combine_spdx fails because it can't find the SPDX data file for
the dependency as it was not built in the second configuration.
It seems that create-spdx looks at BB_TASKDEPDATA to get dependencies and then
adds BB_TASKDEPDATA to vardepsexclude, thus the dependencies changing does not
cause the task to be re-executed. However, I assume a variable dependency on
BB_TASKDEPDATA might be impractical, thus why it was excluded in the first
place. Do we instead add an explicit dependency on DEPENDS? I'm happy to come
up with a patch if we can determine what the correct fix is.
(FWIW we're still using dunfell, but I don't see any changes in master that
alter this particular behaviour.)
Thanks
Paul
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: create-spdx and sstate
2023-01-05 20:32 create-spdx and sstate Paul Eggleton
@ 2023-01-06 18:16 ` Joshua Watt
0 siblings, 0 replies; 2+ messages in thread
From: Joshua Watt @ 2023-01-06 18:16 UTC (permalink / raw)
To: Paul Eggleton; +Cc: openembedded-core
On Thu, Jan 5, 2023 at 2:32 PM Paul Eggleton
<bluelightning@bluelightning.org> wrote:
>
> Hi Joshua / all
>
> We've been having an issue with the create-spdx class if we share sstate
> between two configurations - one where gcc-cross-<arch> has a dependency and
> one where it doesn't (specifically, one where the abicheck class in meta-
> binaryaudit is inherited and the other where it isn't; that influences
> DEPENDS). The result is that if you build the configuration with the dependency
> then the one where it doesn't (in separate build dirs with the same sstate
> cache), image_combine_spdx fails because it can't find the SPDX data file for
> the dependency as it was not built in the second configuration.
>
> It seems that create-spdx looks at BB_TASKDEPDATA to get dependencies and then
> adds BB_TASKDEPDATA to vardepsexclude, thus the dependencies changing does not
> cause the task to be re-executed. However, I assume a variable dependency on
> BB_TASKDEPDATA might be impractical, thus why it was excluded in the first
> place. Do we instead add an explicit dependency on DEPENDS? I'm happy to come
> up with a patch if we can determine what the correct fix is.
I think that sounds correct. The class does do_create_spdx[deptask] =
"do_create_spdx" to ensure it picks up all the dependencies from
DEPENDS, it would make sense that it should also have DEPENDS as a
dependent variable so it reruns.
It is a little weird that none of the tasks upstream of do_create_spdx
changing from that class are causing do_create_spdx to be invalidated
and re-run.... but maybe that class is doing something a little less
normal
>
> (FWIW we're still using dunfell, but I don't see any changes in master that
> alter this particular behaviour.)
>
> Thanks
> Paul
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-01-06 18:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-05 20:32 create-spdx and sstate Paul Eggleton
2023-01-06 18:16 ` Joshua Watt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox