On 2016-04-29 07:08, Paul Eggleton wrote:
Hi Gary,

On Fri, 29 Apr 2016 06:24:55 Gary Thomas wrote:
I used to be able to use something like this:
    VARIABLE = "xyz"
and maybe in a .bbappend use
    VARIABLE_mymachine = "xyzzy"
where 'mymachine' is in OVERRIDES, which resulted in
    VARIABLE = "xyzzy"

This doesn't seem to work the same today, what I get is
    VARIABLE = "xyz"
    VARIABLE_mymachine = "xyzzy"

Has this changed (recently)?  Why?  How to I make use of overrides?

Note: I'm using the latest Poky master (a9b503b26) updated 2016-04-28

When you say this is what you're seeing, how are you checking this? bitbake -e
? Which part of that output are you looking at?

You *will* now see VARIABLE_mymachine in bitbake -e output even if "mymachine"
is in OVERRIDES - that's because the overridden values stay in the datastore
instead of a "finalisation" step eliminating them, in order to allow OVERRIDES
to be changed dynamically (possibly multiple times) and still get the
datastore contents you expect. That change was made in the 2.0 release
(jethro). However That should not affect the final value of VARIABLE if
"mymachine" is in OVERRIDES however. Are you sure you are seeing what you
think you're seeing? If so, is the bbappend in fact being applied? Because if
what you describe was really happening then pretty much the entire system
would be broken. I just checked a similar case here and I see the expected
results.

Yes, I am using 'bitbake -e <recipe> | grep ^VARIABLE' to look at this.

In my main recipe, I have this:
  SOME_OTHER_VARIABLE ?= "${MACHINE}"
and my .bbappend for that recipe has these lines:
  SOME_OTHER_VARIABLE_my-target-A = "something-else1"
  SOME_OTHER_VARIABLE_my-target-B = "something-else2"
and local.conf has
  MACHINE="my-target-B"

With Yocto 2.0 (Poky ceeb52a2544) I get this:
  SOME_OTHER_VARIABLE = "something-else2"
  SOME_OTHER_VARIABLE_my-target-A = "something-else1"
  SOME_OTHER_VARIABLE_my-target-B = "something-else2"

With today's (Poky a9b503b26) I get this:
  SOME_OTHER_VARIABLE = "my-target-B"
  SOME_OTHER_VARIABLE_my-target-A = "something-else1"
  SOME_OTHER_VARIABLE_my-target-B = "something-else2"

I also use this mechanism to set COMPATIBLE_MACHINE a lot and
that doesn't seem to be working the same either.

Am I doing something incorrectly (and just got away with it for years)?

n.b. If you're interested, I can share the .bb/.bbappend files
with you privately (I can't put them on the public list)

--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------
--
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to