Re: [RFC PATCH 14/14] layer.conf: Extend recipes not to install without explict dependencies


Richard Purdie
 

On Mon, 2021-09-20 at 13:46 +0100, Richard Purdie via lists.openembedded.org
wrote:
There are several dependencies which recipes have which are not needed
at runtime, only at build time. Extend the list of these from bison to
include quilt, patch, meson, autoconf, automake and ninja which should
reduce the amount of data being included in native sysroots.

This speeds up and reduces the sstate needed for image builds for example.

If this change breaks recipes, it probably means they're missing an explicit
DEPENDS on something in this list which is a bug in the recipe.

Signed-off-by: Richard Purdie <richard.purdie@...>
---
meta/conf/layer.conf | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf
index 307ad7e2237..b3cc8a249e9 100644
--- a/meta/conf/layer.conf
+++ b/meta/conf/layer.conf
@@ -48,6 +48,7 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += " \
"

SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
+ *->patch-native \
*->quilt-native \
*->subversion-native \
*->git-native \
@@ -90,7 +91,16 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
# (e.g. X -> Y -> binutils-cross -> bison-native) no longer meet the
# dependency incidentally. This improves determinism and avoids build
# failures when people switch to external toolchains.
-SSTATE_EXCLUDEDEPS_SYSROOT += ".*->bison-native"
+SSTATE_EXCLUDEDEPS_SYSROOT += "\
+ .*->autoconf-native \
+ .*->automake-native \
+ .*->bison-native \
+ .*->meson-native \
+ .*->ninja-native \
+ .*->patch-native \
+ .*->pkgconfig-native \
+ .*->quilt-native \
+"
I've marked this one as an RFC since it caused a fair bit of pain even in OE-
core due to recipes having pkgconfig class inherits missing.

We do really want to do this and correctly mark up the recipe dependencies, the
question is whether it is too late for 3.4 or not. We could go for a smaller
list for now too but I wanted to hear opinions.

Cheers,

Richard

Join openembedded-core@lists.openembedded.org to automatically receive all group messages.