Hi Richard, On Tue, May 26, 2020 at 10:57:21PM +0100, Richard Purdie wrote: > There are issues with multilib due to the ordering of events where some > functions see the remapped multilib dependencies and some do not. A > significant > problem is that the multilib class needs to make some changes before key > expansion > and some afterwards but by using existing event handlers, some code sees > things > in a partially translated state, leading to bugs. > > This patch changes things to use a new event handler from bitbake which makes > the > ordering of the changes explcit. > > The challenge in doing this is that it breaks some existing anonymous python > and > dyanmic assignments. In some cases these used to be translated and no longer > are, > meaning MLPREFIX has to be added. In some cases these are now translated and > the > MLPREFIX can be removed. > > This change does now make it very clear when MLPREFIX is required and when it > is > not, its just the migration path which is harder. The patch changes the small > number > of cases where fixes are needed. > > In particular, where a variable like RDEPENDS is conditionally extended (e.g. > with an override), MLPREFIX is now required. > > This patch also reverts: > base: Revert 'base.bbclass: considering multilib when setting > LICENSE_EXCLUSION' > > This reverts 6597130256a1609c3e05ec5891aceaf549c37985 as the changes > to multilib datastore handling mean its no longer necessary. >
Is it possible to link the bugzilla entry in the commit log? https://bugzilla.yoctoproject.org/show_bug.cgi?id=13865 Otherwise, the main question is: do builds actually show warnings or fail if MLPREFIX is forgotten in some places? I'm thinking about other layers needing similar changes. In either case, maybe a proper "note" in the migration steps for the impacted release would be a good addition I think? Some nitpicking/cosmetic review: [...] > - self.d.setVar(varname, bb.utils.join_deps(newdeps, > False).replace("EXTENDPKGV", "${EXTENDPKGV}")) > + if not varname.endswith("_NONML"): > + #if varname == "DEPENDS": Is it an actual comment or is it a leftover of some debugging session? [...] > diff --git a/meta/recipes-graphics/mesa/mesa.inc > b/meta/recipes-graphics/mesa/mesa.inc > index fede691d6ff..bb43a9a8b65 100644 > --- a/meta/recipes-graphics/mesa/mesa.inc > +++ b/meta/recipes-graphics/mesa/mesa.inc > @@ -212,18 +212,20 @@ python __anonymous() { > ("gles", "libgles3",)): > if not p[0] in pkgconfig: > continue > - fullp = p[1] + "-mesa" > - pkgs = " ".join(p[1:]) > + mlprefix = d.getVar("MLPREFIX") > + fullp = mlprefix + p[1] + "-mesa" > + mlprefix = d.getVar("MLPREFIX") Duplicate mlprefix = d.getVar("MLPREFIX"). Any reason for that? [...] Thanks a bunch for the patches, I know it was painful. Quentin
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#138789): https://lists.openembedded.org/g/openembedded-core/message/138789 Mute This Topic: https://lists.openembedded.org/mt/74488041/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
