This avoids adding flex-native or bison-native to the sysroot without a specific dependency in the recipe and means indirect dependencies (e.g. X -> Y -> binutils-cross -> flex-native) no longer met the dependency incidentally. This improves determinism and avoid build failures when people switch to external toolchains.
Signed-off-by: Richard Purdie <[email protected]> --- meta/classes/sstate.bbclass | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index 6808942..7509561 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass @@ -921,6 +921,13 @@ def setscene_depvalid(task, taskdependees, notneeded, d, log=None): if taskdependees[task][1] == "do_stash_locale" or taskdependees[task][1] == "do_gcc_stash_builddir": return True + # Don't pull in flex-native or bison-native without a specific dependency in the recipe + # This improves determinism in the metadata and avoids the dependency being met incidentally, + # e.g. from binutils-cross which doesn't happen in the external toolchain case + if taskdependees[task][1] == 'do_populate_sysroot': + if taskdependees[task][0] == "flex-native" or taskdependees[task][0] == "bison-native": + return True + # We only need to trigger packagedata through direct dependencies # but need to preserve packagedata on packagedata links if taskdependees[task][1] == "do_packagedata": -- 2.7.4 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
