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-
core@...>
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@...>
wrote:

On Tue, 30 Nov 2021 at 19:32, Andre McCurdy <armccurdy@...>
wrote:
This isn't equivalent - it will cause a change in behaviour for
anyone
using PACKAGECONFIG += "foo" from a .bbappend.
Correct, but this is likely the only recipe in the greater
ecosystem
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
new
users.

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.

Cheers,

Richard
//Peter

Join openembedded-core@lists.openembedded.org to automatically receive all group messages.