On Fri, Dec 8, 2023 at 8:15 AM Alex Kiernan via lists.openembedded.org
<alex.kiernan=gmail....@lists.openembedded.org> wrote:
>
> On Thu, Dec 7, 2023 at 10:40 PM Richard Purdie
> <richard.pur...@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?
>

And I've just read the bitbake docs and I clearly still don't really
understand... its += / -= rather than append/remove which are the
things which are important here.

> TBH I've never really been very clear what the "right" thing to use is
> between ?= and ??=
>
> > I'd call ?= a weak assignment or weak default.
> >
> > Thanks for working on cleaning some of these things up. I got so far
> > with it originally and then ran out of time (and too frustrated with
> > the long build/test cycles!).
> >
>
> I'll go back and do the opposite cleanup and send a v2.
>
> > Cheers,
> >
> > Richard
> >
> > >
> > > Signed-off-by: Alex Kiernan <alex.kier...@gmail.com>
> > > ---
> > >
> > >  meta/classes-recipe/cargo.bbclass        | 7 -------
> > >  meta/classes-recipe/cargo_common.bbclass | 7 +++++++
> > >  2 files changed, 7 insertions(+), 7 deletions(-)
> > >
> > > diff --git a/meta/classes-recipe/cargo.bbclass 
> > > b/meta/classes-recipe/cargo.bbclass
> > > index 96a74e2ef1ec..0829a58dd90f 100644
> > > --- a/meta/classes-recipe/cargo.bbclass
> > > +++ b/meta/classes-recipe/cargo.bbclass
> > > @@ -30,13 +30,6 @@ B = "${WORKDIR}/build"
> > >  # where the issue occured
> > >  export RUST_BACKTRACE = "1"
> > >
> > > -# The directory of the Cargo.toml relative to the root directory, per 
> > > default
> > > -# assume there's a Cargo.toml directly in the root directory
> > > -CARGO_SRC_DIR ??= ""
> > > -
> > > -# The actual path to the Cargo.toml
> > > -CARGO_MANIFEST_PATH ??= "${S}/${CARGO_SRC_DIR}/Cargo.toml"
> > > -
> > >  RUSTFLAGS ??= ""
> > >  BUILD_MODE = "${@['--release', ''][d.getVar('DEBUG_BUILD') == '1']}"
> > >  # --frozen flag will prevent network access (which is required since only
> > > diff --git a/meta/classes-recipe/cargo_common.bbclass 
> > > b/meta/classes-recipe/cargo_common.bbclass
> > > index bf298e96c745..c330c122a9d3 100644
> > > --- a/meta/classes-recipe/cargo_common.bbclass
> > > +++ b/meta/classes-recipe/cargo_common.bbclass
> > > @@ -33,6 +33,13 @@ CARGO_DISABLE_BITBAKE_VENDORING ?= "0"
> > >  # Used by libstd-rs to point to the vendor dir included in rustc src
> > >  CARGO_VENDORING_DIRECTORY ?= "${CARGO_HOME}/bitbake"
> > >
> > > +# The directory of the Cargo.toml relative to the root directory, per 
> > > default
> > > +# assume there's a Cargo.toml directly in the root directory
> > > +CARGO_SRC_DIR ?= ""
> > > +
> > > +# The actual path to the Cargo.toml
> > > +CARGO_MANIFEST_PATH ?= "${S}/${CARGO_SRC_DIR}/Cargo.toml"
> > > +
> > >  CARGO_RUST_TARGET_CCLD ?= "${RUST_TARGET_CCLD}"
> > >  cargo_common_do_configure () {
> > >       mkdir -p ${CARGO_HOME}/bitbake
> > >
> > >
> >
>
>
> --
> Alex Kiernan
>
> 
>


-- 
Alex Kiernan
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192016): 
https://lists.openembedded.org/g/openembedded-core/message/192016
Mute This Topic: https://lists.openembedded.org/mt/103034028/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to