distutils3-base.bbclass: Inherit python3targetconfig only for target recipes

Submitted by Khem Raj on Nov. 17, 2020, 6:55 a.m. | Patch ID: 177999

Details

Message ID 20201117065508.1575532-1-raj.khem@gmail.com
State New
Headers show

Commit Message

Khem Raj Nov. 17, 2020, 6:55 a.m.
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 inheriting this class only for target recipes.

Signed-off-by: Khem Raj <raj.khem@gmail.com>

Cc: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/classes/distutils3-base.bbclass | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

-- 
2.29.2
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#144680): https://lists.openembedded.org/g/openembedded-core/message/144680
Mute This Topic: https://lists.openembedded.org/mt/78311501/1003190
Group Owner: openembedded-core+owner@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [mhalstead@linuxfoundation.org]
-=-=-=-=-=-=-=-=-=-=-=-

Patch hide | download patch | download mbox

diff --git a/meta/classes/distutils3-base.bbclass b/meta/classes/distutils3-base.bbclass
index a277d1c7bc..882db9f605 100644
--- a/meta/classes/distutils3-base.bbclass
+++ b/meta/classes/distutils3-base.bbclass
@@ -1,5 +1,4 @@ 
 DEPENDS  += "${@["${PYTHON_PN}-native ${PYTHON_PN}", ""][(d.getVar('PACKAGES') == '')]}"
 RDEPENDS_${PN} += "${@['', '${PYTHON_PN}-core']['${CLASSOVERRIDE}' == 'class-target']}"
 
-inherit distutils-common-base python3native python3targetconfig
-
+inherit distutils-common-base python3native ${@['python3targetconfig', '']['${CLASSOVERRIDE}' == 'class-target']}

Comments

Alexander Kanavin Nov. 17, 2020, 8:59 a.m.
I think the correct fix here would be to fold python3-scons-native_bb into
the main recipe using BBCLASSEXTEND, so DEPENDS gets properly rewritten.

Alex

On Tue, 17 Nov 2020 at 09:53, Alexander Kanavin via lists.openembedded.org
<alex.kanavin=gmail.com@lists.openembedded.org> wrote:

> This explanation does not seem right. The class only sets

>

> inherit python3native

> DEPENDS_append = " python3"

>

> which should not drag in target python when it is inherited from -native

> recipes, only python3-native.

>

> Alex

>

> On Tue, 17 Nov 2020 at 07:55, Khem Raj <raj.khem@gmail.com> wrote:

>

>> 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 inheriting this class only for target recipes.

>>

>> Signed-off-by: Khem Raj <raj.khem@gmail.com>

>> Cc: Alexander Kanavin <alex.kanavin@gmail.com>

>> ---

>>  meta/classes/distutils3-base.bbclass | 3 +--

>>  1 file changed, 1 insertion(+), 2 deletions(-)

>>

>> diff --git a/meta/classes/distutils3-base.bbclass

>> b/meta/classes/distutils3-base.bbclass

>> index a277d1c7bc..882db9f605 100644

>> --- a/meta/classes/distutils3-base.bbclass

>> +++ b/meta/classes/distutils3-base.bbclass

>> @@ -1,5 +1,4 @@

>>  DEPENDS  += "${@["${PYTHON_PN}-native ${PYTHON_PN}",

>> ""][(d.getVar('PACKAGES') == '')]}"

>>  RDEPENDS_${PN} += "${@['', '${PYTHON_PN}-core']['${CLASSOVERRIDE}' ==

>> 'class-target']}"

>>

>> -inherit distutils-common-base python3native python3targetconfig

>> -

>> +inherit distutils-common-base python3native ${@['python3targetconfig',

>> '']['${CLASSOVERRIDE}' == 'class-target']}

>> --

>> 2.29.2

>>

>>

> 

>

>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#144686): https://lists.openembedded.org/g/openembedded-core/message/144686
Mute This Topic: https://lists.openembedded.org/mt/78311501/1003190
Group Owner: openembedded-core+owner@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [mhalstead@linuxfoundation.org]
-=-=-=-=-=-=-=-=-=-=-=-