Hi Richard,

I adjusted your second patch a little bit and things seem to work well. I've sent out the patch.
https://lists.openembedded.org/g/openembedded-core/message/209982

The testing matrix include:
1) bitbake core-image-minimal
2) enable multilib; IMAGE_INSTALL:append = " lib32-sysstat"; bitbake core-image-minimal; start qemu
3) bitbake core-image-minimal -c populate_sdk
4) bitbake -n world

Regards,
Qi

On 1/17/25 18:13, Chen Qi via lists.openembedded.org wrote:
On 1/17/25 00:56, Richard Purdie via lists.openembedded.org wrote:
I should perhaps talk about the issues this patch series highlights.

My first observation is a conflcit between my choice of "virtual/cross-
sdk-cc" and our renaming wanting it to become "virtual/nativesdk-cross-
sdk-cc" due to MLPREFIX being needed/added for multilibs. I'm torn on
going through another iteration trying to see if "virtual/nativesdk-
cross-cc" works better, I suspect it will.
I just tried. Yes. It works better.

My second set of concerns are around the usability. The patch
implements DEPENDS remapping but not task[depend] handling so you end
up with changes like:

-POPULATESYSROOTDEPS:class-target = "virtual/cross-binutils:do_populate_sysroot" +POPULATESYSROOTDEPS:class-target = "${PREFERRED_PROVIDER_virtual/cross-binutils}:do_populate_sysroot"

I think if we put the remapping in the bb.event.RecipeTaskPreProcess event handler, we can avoid doing changes like above. The allarch hack is also not needed.

I'm testing a patch locally, no error so far. I'll send out the patch if things work, or just add some more info here if things fail.

Regards,

Qi


for the 4 cases I found where this is done in core. Not the end of the
world but will catch someone out in future (probably me).

The need to hack around the problem with allarch due to ordering issues
is a bad sign too.

I'd note that if we accepted the syntax above more widely, we could do
that everywhere and not need the remapping. It is really ugly and
unreadable though so I'm thinking that would be the wrong move.

One alternative to the second patch's approach could be "filter"
implementation for variables (Joshua once had a prototype of it) which
would help DEPENDS but not task flags.

Another would be to drop this "in metadata" approach and move the
remapping to bitbake and make it API. This was going to be my original
approach until I realised something was possible in the metadata.

Thanks for Joshua for talking through this for a minute, it has
encouraged me to write down the issues/questions.

There is unfortunately a little bit of deadline pressure too since M2
is due on Monday and I'd ideally prefer to get a change like this into
M2.

Cheers,

Richard





















-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#209983): 
https://lists.openembedded.org/g/openembedded-core/message/209983
Mute This Topic: https://lists.openembedded.org/mt/110650523/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to