"yocto-compat-layer.py --machines" showed that shared packages like gcc-cross-powerpc64 have a sstate signature that depends on TUNEFLAGS. As a result, there are unnecessary rebuilds and potential conflicts in a multiconfig.
That's due to the way how TARGET_ARCH is set. Richard Purdie suggested setting TARGET_ARCH[vardepvalue] as fix, which works. It would be shorter to do that in cross.inc instead of repeating the relevant line in different recipes, but Richard was concerned about potential side-effects in other usages of cross.inc. TARGET_GOARM as used in go.inc is still causing signature differences for go-cross-powerpc64 and machines b4420qds-64b and p5020ds-64b. This needs further investigation. Signed-off-by: Patrick Ohly <patrick.o...@intel.com> --- meta/recipes-devtools/binutils/binutils-cross.inc | 3 +++ meta/recipes-devtools/gcc/gcc-cross.inc | 3 +++ meta/recipes-devtools/gdb/gdb-cross.inc | 3 +++ meta/recipes-devtools/go/go-cross.inc | 3 +++ 4 files changed, 12 insertions(+) diff --git a/meta/recipes-devtools/binutils/binutils-cross.inc b/meta/recipes-devtools/binutils/binutils-cross.inc index 5e6f468..02ec891 100644 --- a/meta/recipes-devtools/binutils/binutils-cross.inc +++ b/meta/recipes-devtools/binutils/binutils-cross.inc @@ -4,6 +4,9 @@ PROVIDES = "virtual/${TARGET_PREFIX}binutils" PN = "binutils-cross-${TARGET_ARCH}" BPN = "binutils" +# Ignore how TARGET_ARCH is computed. +TARGET_ARCH[vardepvalue] = "${TARGET_ARCH}" + INHIBIT_DEFAULT_DEPS = "1" INHIBIT_AUTOTOOLS_DEPS = "1" diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc index bb5f7a0..c5c1645 100644 --- a/meta/recipes-devtools/gcc/gcc-cross.inc +++ b/meta/recipes-devtools/gcc/gcc-cross.inc @@ -11,6 +11,9 @@ python () { PN = "gcc-cross-${TARGET_ARCH}" +# Ignore how TARGET_ARCH is computed. +TARGET_ARCH[vardepvalue] = "${TARGET_ARCH}" + require gcc-configure-common.inc # While we want the 'gnu' hash style, we explicitly set it to sysv here to diff --git a/meta/recipes-devtools/gdb/gdb-cross.inc b/meta/recipes-devtools/gdb/gdb-cross.inc index d92f31f..ebe329f 100644 --- a/meta/recipes-devtools/gdb/gdb-cross.inc +++ b/meta/recipes-devtools/gdb/gdb-cross.inc @@ -21,6 +21,9 @@ GDBPROPREFIX = "" PN = "gdb-cross-${TARGET_ARCH}" BPN = "gdb" +# Ignore how TARGET_ARCH is computed. +TARGET_ARCH[vardepvalue] = "${TARGET_ARCH}" + inherit cross inherit gettext diff --git a/meta/recipes-devtools/go/go-cross.inc b/meta/recipes-devtools/go/go-cross.inc index 9b49738..8fa09b7 100644 --- a/meta/recipes-devtools/go/go-cross.inc +++ b/meta/recipes-devtools/go/go-cross.inc @@ -4,6 +4,9 @@ DEPENDS += "gcc-cross-${TARGET_ARCH}" PN = "go-cross-${TARGET_ARCH}" +# Ignore how TARGET_ARCH is computed. +TARGET_ARCH[vardepvalue] = "${TARGET_ARCH}" + # go-cross is built once per target architecture, and thus must not # depend on the tune-specific libgcc. DEPENDS_remove = "libgcc" -- git-series 0.9.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core