Message ID | 20250129-migration-5-2-updates-v1-1-98416a476828@bootlin.com |
---|---|
State | Superseded |
Headers | show |
Series | [yocto-docs] migration-5.2: Add entries for virtual provider and multiconfig changes | expand |
Hi Antonin, On 1/29/25 11:25 AM, Antonin Godard via lists.yoctoproject.org wrote: > Add some information to the migration guide about two important potentially > breaking changes in 5.2. > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> > Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> > --- > Notes: > * original patch by Richard Purdie: > https://lore.kernel.org/r/20250126111850.2609298-1-richard.purdie@linuxfoundation.org > This patch is just reformatting/typo fixes. > * The BB_CURRENT_MC should ideally be documented, but that will come at > a later point with > https://bugzilla.yoctoproject.org/show_bug.cgi?id=15709. > --- > documentation/migration-guides/migration-5.2.rst | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/documentation/migration-guides/migration-5.2.rst b/documentation/migration-guides/migration-5.2.rst > index e9de6910e..245c22f28 100644 > --- a/documentation/migration-guides/migration-5.2.rst > +++ b/documentation/migration-guides/migration-5.2.rst > @@ -94,6 +94,29 @@ systemd changes > not for socket files). > Now all service files must be explicitly added to :term:`FILES`. > > +Multiconfig changes > +~~~~~~~~~~~~~~~~~~~ > + > +- The value of ``BB_CURRENT_MC`` was changed from ``default`` to an empty string > + for the default multiconfig configuration to avoid needing to map the values > + within BitBake. This was already not happening in some cases so this fixes > + some obscure bugs. > + > +Virtual toolchain provider changes > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > + > +- Support was added for virtual providers on a per-recipe basis for specific > + key toolchain providers listed in ``BB_VIRTUAL_RECIPE_PROVIDERS``. As part of > + that support, the ``cross`` providers were simplified to remove the triplet > + prefix and generalise the naming, so for example:: > + > + virtual/${TARGET_PREFIX}-binutils -> virtual/cross-bintuils > + virtual/${TARGET_PREFIX}-gcc -> virtual/cross-cc > + virtual/${TARGET_PREFIX}-g++ -> virtual/cross-c++ > + virtual/${TARGET_PREFIX}-compilerlibs -> virtual/compilerlibs > + virtual/${SDK_PREFIX}-binutils -> virtual/nativesdk-cross-binutils > + virtual/${SDK_PREFIX}-gcc -> virtual/nativesdk-cross-cc > + This is in the migration manual so we need to explicit what the user needs to do. What needs to be done wrt BB_CURRENT_MC change? For the removal of TARGET_PREFIX/SDK_PREFIX, I assume a simple tree-wide: sed 's;virtual/\${TARGET_PREFIX}binutils;virtual/cross-bintuils;' should do the trick? Also, all of the above didn't have a dash after ${SDK_PREFIX} or ${TARGET_PREFIX}. Cheers, Quentin
Hi Quentin, On Thu Jan 30, 2025 at 5:05 PM CET, Quentin Schulz wrote: > Hi Antonin, > > On 1/29/25 11:25 AM, Antonin Godard via lists.yoctoproject.org wrote: >> Add some information to the migration guide about two important potentially >> breaking changes in 5.2. >> >> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> >> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> >> --- >> Notes: >> * original patch by Richard Purdie: >> https://lore.kernel.org/r/20250126111850.2609298-1-richard.purdie@linuxfoundation.org >> This patch is just reformatting/typo fixes. >> * The BB_CURRENT_MC should ideally be documented, but that will come at >> a later point with >> https://bugzilla.yoctoproject.org/show_bug.cgi?id=15709. >> --- >> documentation/migration-guides/migration-5.2.rst | 23 +++++++++++++++++++++++ >> 1 file changed, 23 insertions(+) >> >> diff --git a/documentation/migration-guides/migration-5.2.rst b/documentation/migration-guides/migration-5.2.rst >> index e9de6910e..245c22f28 100644 >> --- a/documentation/migration-guides/migration-5.2.rst >> +++ b/documentation/migration-guides/migration-5.2.rst >> @@ -94,6 +94,29 @@ systemd changes >> not for socket files). >> Now all service files must be explicitly added to :term:`FILES`. >> >> +Multiconfig changes >> +~~~~~~~~~~~~~~~~~~~ >> + >> +- The value of ``BB_CURRENT_MC`` was changed from ``default`` to an empty string >> + for the default multiconfig configuration to avoid needing to map the values >> + within BitBake. This was already not happening in some cases so this fixes >> + some obscure bugs. >> + >> +Virtual toolchain provider changes >> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> + >> +- Support was added for virtual providers on a per-recipe basis for specific >> + key toolchain providers listed in ``BB_VIRTUAL_RECIPE_PROVIDERS``. As part of >> + that support, the ``cross`` providers were simplified to remove the triplet >> + prefix and generalise the naming, so for example:: >> + >> + virtual/${TARGET_PREFIX}-binutils -> virtual/cross-bintuils >> + virtual/${TARGET_PREFIX}-gcc -> virtual/cross-cc >> + virtual/${TARGET_PREFIX}-g++ -> virtual/cross-c++ >> + virtual/${TARGET_PREFIX}-compilerlibs -> virtual/compilerlibs >> + virtual/${SDK_PREFIX}-binutils -> virtual/nativesdk-cross-binutils >> + virtual/${SDK_PREFIX}-gcc -> virtual/nativesdk-cross-cc >> + > > This is in the migration manual so we need to explicit what the user > needs to do. I don't know if there is a definite rule, but I will try to add more examples here so hopefully it gives a clear overview of what should be replaced. > What needs to be done wrt BB_CURRENT_MC change? I would assume that any logic based on BB_CURRENT_MC == "default" should be changed, like what's done in ff469ab2e865 ("bitbake.conf: Handle empty BB_CURRENT_MC") on OE-Core. I will suggest to do that in the v2. > For the removal of TARGET_PREFIX/SDK_PREFIX, I assume a simple tree-wide: > > sed 's;virtual/\${TARGET_PREFIX}binutils;virtual/cross-bintuils;' > > should do the trick? In the docs, we don't have any reference to virtual/XXX<something> where XXX is HOST_PREFIX, SDK_PREFIX, or TARGET_PREFIX. So no changes to be done here at least. > Also, all of the above didn't have a dash after ${SDK_PREFIX} or > ${TARGET_PREFIX}. Indeed, good catch, will fix in v2. Thanks, Antonin
diff --git a/documentation/migration-guides/migration-5.2.rst b/documentation/migration-guides/migration-5.2.rst index e9de6910e..245c22f28 100644 --- a/documentation/migration-guides/migration-5.2.rst +++ b/documentation/migration-guides/migration-5.2.rst @@ -94,6 +94,29 @@ systemd changes not for socket files). Now all service files must be explicitly added to :term:`FILES`. +Multiconfig changes +~~~~~~~~~~~~~~~~~~~ + +- The value of ``BB_CURRENT_MC`` was changed from ``default`` to an empty string + for the default multiconfig configuration to avoid needing to map the values + within BitBake. This was already not happening in some cases so this fixes + some obscure bugs. + +Virtual toolchain provider changes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Support was added for virtual providers on a per-recipe basis for specific + key toolchain providers listed in ``BB_VIRTUAL_RECIPE_PROVIDERS``. As part of + that support, the ``cross`` providers were simplified to remove the triplet + prefix and generalise the naming, so for example:: + + virtual/${TARGET_PREFIX}-binutils -> virtual/cross-bintuils + virtual/${TARGET_PREFIX}-gcc -> virtual/cross-cc + virtual/${TARGET_PREFIX}-g++ -> virtual/cross-c++ + virtual/${TARGET_PREFIX}-compilerlibs -> virtual/compilerlibs + virtual/${SDK_PREFIX}-binutils -> virtual/nativesdk-cross-binutils + virtual/${SDK_PREFIX}-gcc -> virtual/nativesdk-cross-cc + Recipe changes ~~~~~~~~~~~~~~