All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: openembedded-core@lists.openembedded.org
Cc: Joshua Watt <JPEWhacker@gmail.com>
Subject: Re: [OE-core] [PATCH 2/2] base: Add virtual/cross-XXX recipe specific provider control handling
Date: Thu, 16 Jan 2025 16:56:08 +0000	[thread overview]
Message-ID: <209dd128aad0eb29fa451e0decf2d74ba2b80d72.camel@linuxfoundation.org> (raw)
In-Reply-To: <181AF8C1771E649F.1614@lists.openembedded.org>

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.

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"

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















  parent reply	other threads:[~2025-01-16 16:56 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-15 20:48 [PATCH 1/2] classes/recipes: Switch virtual/XXX-gcc to virtual/cross-cc (and c++/binutils) Richard Purdie
2025-01-15 20:48 ` [PATCH 2/2] base: Add virtual/cross-XXX recipe specific provider control handling Richard Purdie
     [not found] ` <181AF8C1771E649F.1614@lists.openembedded.org>
2025-01-16 16:56   ` Richard Purdie [this message]
2025-01-17 10:13     ` [OE-core] " ChenQi
     [not found]     ` <181B733DD5B975A0.1562@lists.openembedded.org>
2025-01-17 10:29       ` ChenQi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=209dd128aad0eb29fa451e0decf2d74ba2b80d72.camel@linuxfoundation.org \
    --to=richard.purdie@linuxfoundation.org \
    --cc=JPEWhacker@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.