Re: [PATCH v2 2/2] vim: set PACKAGECONFIG idiomatically

Peter Kjellerstedt

-----Original Message-----
From: openembedded-core@... <openembedded-
core@...> On Behalf Of Richard Purdie
Sent: den 3 december 2021 11:07
To: Andre McCurdy <armccurdy@...>
Cc: Ross Burton <ross@...>; OE Core mailing list <openembedded-
Subject: Re: [OE-core] [PATCH v2 2/2] vim: set PACKAGECONFIG idiomatically

On Fri, 2021-12-03 at 01:39 -0800, Andre McCurdy wrote:
On Wed, Dec 1, 2021 at 2:33 PM Richard Purdie
<richard.purdie@...> wrote:

On Tue, 2021-11-30 at 13:45 -0800, Andre McCurdy wrote:
On Tue, Nov 30, 2021 at 1:20 PM Ross Burton <ross@...>

On Tue, 30 Nov 2021 at 19:32, Andre McCurdy <armccurdy@...>
This isn't equivalent - it will cause a change in behaviour for
using PACKAGECONFIG += "foo" from a .bbappend.
Correct, but this is likely the only recipe in the greater
which has this behaviour, so I'm not that bothered to be honest.

The only recipe? There are many recipes which set a default
PACKAGECONFIG with ?= and many which set it with ??=. Your change is
effectively switching the vim recipe from one approach to the other.
The fact that adding PACKAGECONFIG options from a .bbappend with +=
sometimes works OK and sometimes not is a source of confusion for

You are right that no one seems to care though...
Some of us very much do care, it is actually bothering me a lot and
I've posted
several times on the architecture list about this kind of issue.

We haven't worked out what we can agree to do about it though :(.
As a first, very easy, step, make a statement here on the mailing list
that all PACKAGECONFIG defaults should be assigned with ?= instead of
??= and fix the recipes in oe-core accordingly.
The question is whether we all agree on that and I'm not sure we all do.
I definitely agree that using "??=" in the recipe for PACKAGECONFIG is
a bad idea. In all our own recipes we use "=" so that is what I would
prefer, but "?=" is ok and it would alleviate the need to use
PACKAGECONFIG:append in bbappends instead of "PACKAGECONFIG +=".

The reason I think "=" is better than "?=" is that if you want to
override the PACKAGECONFIG in a bbappend, using "=" a second time will
work fine, and if you want to do the override in a configuration file
like local.conf, you would use PACKAGECONFIG:pn-foo, which also would
override whatever the recipe set using "=". So unless I am missing a
use case, there really isn't a need to use "?=".

As a second step, the parser could generate a warning (or even an
error) if any variable is assigned to with only ??= and += (the end
result of that combination is not what any user would expect and I
doubt if any legitimate use case relies on it).
Would be interesting to see if there is valid use so it is probably worth
some tests/analysis. The ??= operator never did what I'd hoped it would in
reality sadly.



Join to automatically receive all group messages.