Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Alex Kiernan <alex.kiernan@gmail.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-Core][PATCH 2/3] cargo: Move CARGO_MANIFEST_PATH/CARGO_SRC_DIR to cargo_common
Date: Fri, 08 Dec 2023 08:28:29 +0000	[thread overview]
Message-ID: <c0e97192f405d792551702597904a182292862ad.camel@linuxfoundation.org> (raw)
In-Reply-To: <CAO5Uq5T2OdiJS_HvZJBVGNqaS5gA7MxQUx2-5embGX9jMKs_gQ@mail.gmail.com>

On Fri, 2023-12-08 at 08:15 +0000, Alex Kiernan wrote:
> On Thu, Dec 7, 2023 at 10:40 PM Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > 
> > On Thu, 2023-12-07 at 13:39 +0000, Alex Kiernan wrote:
> > > cargo_common_do_configure uses CARGO_MANIFEST_PATH (which depends on
> > > CARGO_SRC_DIR), but their definition was in cargo.bbclass.
> > > 
> > > Match the other variables here and change to default values, rather
> > > than weak defaults.
> > 
> > FWIW "single value" class variables tend to work much better as ??=
> > (which I'd call default value) since than it doesn't matter if the
> > recipe setting comes before or after the inherit and the inherit
> > position in the recipe doesn't matter.
> > 
> 
> Ah, I guess that makes sense - for "single value" :append/:remove
> aren't really useful, so leaving the actual assignment as late as
> possible works?

??= means "fall back to this value if nothing else is ever set".

For a single value, append or += never makes sense so the fallback is
probably what we want from a class regardless of order.

If you use ?= it just adds some ordering constraints.

> TBH I've never really been very clear what the "right" thing to use is
> between ?= and ??=

For the above case it is one of the few "clearer" cases. As soon as you
have multiple values, it becomes fuzzy sadly. I'm not sure how we
improve things either.

Cheers,

Richard


  reply	other threads:[~2023-12-08  8:28 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-07 13:39 [OE-Core][PATCH 1/3] cargo: Rename MANIFEST_PATH -> CARGO_MANIFEST_PATH Alex Kiernan
2023-12-07 13:39 ` [OE-Core][PATCH 2/3] cargo: Move CARGO_MANIFEST_PATH/CARGO_SRC_DIR to cargo_common Alex Kiernan
2023-12-07 22:39   ` Richard Purdie
2023-12-08  8:15     ` Alex Kiernan
2023-12-08  8:28       ` Richard Purdie [this message]
     [not found]     ` <179ECD325A85AE45.16398@lists.openembedded.org>
2023-12-08  8:23       ` Alex Kiernan
2023-12-08  8:30         ` Richard Purdie
2023-12-07 13:39 ` [OE-Core][PATCH 3/3] cargo: Add CARGO_LOCK_PATH for path to Cargo.lock Alex Kiernan

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=c0e97192f405d792551702597904a182292862ad.camel@linuxfoundation.org \
    --to=richard.purdie@linuxfoundation.org \
    --cc=alex.kiernan@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox