I don't mind this change, but why do you think space in the variable is better in this case (where we don't mind extra space being added for native/nativesdk case?)

If someone sets EXTRA_PYTHON_DEPENDS = "foo" for whatever reason in some recipe, then the space will be missing.

On Tue, Nov 17, 2020 at 7:36 PM Jose Quaresma <quaresma.jose@gmail.com> wrote:
Khem Raj <raj.khem@gmail.com> escreveu no dia terça, 17/11/2020 à(s) 18:04:
>
> python3targetconfig append target python3 to dependencies
> unconditionally, and here its inherited unconditionally too but
> distutils3-base is inherited in BBCLASSEXTEND'ed recipes and other not-target
> recipes as well. Hence the change added via 9c8f666097802cb594a759989edcf01603a22df3
> is now bridging the native dependencies with target python3 and thats
> resulting all sorts of rebuilds for multimachine builds e.g.
>
> MACHINE=qemuarm bitbake python3-scons-native
> MACHINE=qemumips bitbake python3-scons-native
>
> results in rebuilds for python3-scons-native
>
> bitbake-diffsigs shows
>
> Hash for dependent task python/python3-scons-native_3.1.2.bb:do_populate_sysroot changed from 1cdb93193b416477df6faa137e83a967b433c7aa29033146b405153f73f36933 to 3cea1e7cbedd121ecb768fbc291cc4e4d7d3b5c0442897
> 0e3b97bd058d162065
>     Hash for dependent task python/python3-scons-native_3.1.2.bb:do_install changed from 8d6018fd03ffc6060a04532dc39a5b7ccca1be026a69d069cb4fb11aef86dd89 to c5f1d173596a8e910f45a2b6e0b4dab96cd0102be4d62bd3156
> 229cb0f5ebb11
>         Hash for dependent task python/python3-scons-native_3.1.2.bb:do_compile changed from e3ee4b52a15267e6ae7853ec19a666b2fb62608a597608793336382d1c45f8a0 to 1e582043dfe6b3e00aaa532f363ce6afb37652abe837dac
> 7cc9769194c43eae1
>             Hash for dependent task python/python3-scons-native_3.1.2.bb:do_configure changed from 770a4d5a77a96ebd9e1e7368f710bca3f88e3b1266dffa3b2d0360b1e3a81e27 to a366982778b03eee5165c3117ee778f848acdfaa2
> b346650fbdf114ac70ab57b
>                 Hash for dependent task python/python3-scons-native_3.1.2.bb:do_prepare_recipe_sysroot changed from 958910037856ff5d5eb2b5162b3cdd02a3a710fc543b933cfeba771ee095cb72 to 474333fb565f908992fd3716
> 4935aaecf31a79e867826fe634cde4f44171d8e7
>                     Hash for dependent task python/python3_3.9.0.bb:do_populate_sysroot changed from 7ac1c4fcbb2eacf98d2c32d991751bd2f3c7d55e2e32f2c9e485e7f5975fecf8 to 25dcfe74a95af19cce8df7c29311cc5edbbf6ad
> 08777e46a6fa6e417c0445018
>
> ...
>
> Therefore limit effects of this class only for target recipes.
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> Cc: Alexander Kanavin <alex.kanavin@gmail.com>
> Cc: Martin Jansa <Martin.Jansa@gmail.com>
> ---
> v2: Mark depends conditional instead
> v3: Export _PYTHON_SYSCONFIGDATA_NAME only for target
>     and mark tasks with target override
>
>  meta/classes/python3targetconfig.bbclass | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/meta/classes/python3targetconfig.bbclass b/meta/classes/python3targetconfig.bbclass
> index 640d0c97b6..fc1025c207 100644
> --- a/meta/classes/python3targetconfig.bbclass
> +++ b/meta/classes/python3targetconfig.bbclass
> @@ -1,15 +1,17 @@
>  inherit python3native
>
> -DEPENDS_append = " python3"
> +EXTRA_PYTHON_DEPENDS ?= ""
> +EXTRA_PYTHON_DEPENDS_class-target = "python3"
> +DEPENDS_append = " ${EXTRA_PYTHON_DEPENDS}"

-EXTRA_PYTHON_DEPENDS_class-target = "python3"
-DEPENDS_append = " ${EXTRA_PYTHON_DEPENDS}"
+EXTRA_PYTHON_DEPENDS_class-target = " python3"
+DEPENDS_append = "${EXTRA_PYTHON_DEPENDS}"

add a space before python3 is better than always add it to DEPENDS

>
> -do_configure_prepend() {
> +do_configure_prepend_class-target() {
>          export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
>  }
>
> -do_compile_prepend() {
> +do_compile_prepend_class-target() {
>          export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
>  }
>
> -do_install_prepend() {
> +do_install_prepend_class-target() {
>          export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
>  }
> --
> 2.29.2
>
>
>


--
best regards,
José Quaresma