Then you will need space in: EXTRA_PYTHON_DEPENDS_append_class-target = " python3" as well. I don't expect EXTRA_PYTHON_DEPENDS to be often (if at all) outside the bbclass, but IMHO it's good convention to just use leading space wherever you append to space separated list (less surprises for people who might eventually set something like EXTRA_PYTHON_DEPENDS in their recipes - even from wrong reasons). On Tue, Nov 17, 2020 at 9:18 PM Jose Quaresma wrote: > Martin, > > you're right. if EXTRA_PYTHON_DEPENDS is set outside of the bbclass it > break the DEPENDS. > > Sorry Khem for my suggestion, your initial was right. > > +EXTRA_PYTHON_DEPENDS_class-target = "python3" > +DEPENDS_append = " ${EXTRA_PYTHON_DEPENDS}" > > But in this case (when EXTRA_PYTHON_DEPENDS is set outside of the bbclass) > it will don't have any effect for the overwrite class-target because > EXTRA_PYTHON_DEPENDS_class-target="python3" always will set > EXTRA_PYTHON_DEPENDS="python3" > > I think I have see another problem now and something like this is better: > > +EXTRA_PYTHON_DEPENDS_append_class-target = "python3" > +DEPENDS_append = " ${EXTRA_PYTHON_DEPENDS}" > > Martin Jansa escreveu no dia terça, > 17/11/2020 à(s) 19:56: > > > > 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 > wrote: > >> > >> Khem Raj 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 > >> > Cc: Alexander Kanavin > >> > Cc: Martin Jansa > >> > --- > >> > 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 > > > > -- > best regards, > José Quaresma >