On Fri, Dec 3, 2021 at 5:59 AM Peter Kjellerstedt <peter.kjellerstedt@...> wrote:
-----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 "?=".
Using = would certainly be OK and an improvement over the current mess. The reason I'd still argue that ?= is better is that it gives a clear hint that PACKAGECONFIG values in recipes are something a user may want to review and consider changing.