mirror of
https://git.yoctoproject.org/poky
synced 2026-04-18 12:32:12 +02:00
migration-guides: update 4.2 migration and release notes
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> CC: Frederic Martinsons <frederic.martinsons@gmail.com> CC: Marta Rybczynska <rybczynska@gmail.com> CC: Paul Eggleton <paul.eggleton@linux.microsoft.com> CC: Alex Kiernan <alex.kiernan@gmail.com> CC: Alexis Lothoré <alexis.lothore@bootlin.com Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
64111246ce
commit
42a6d47754
@@ -18,10 +18,72 @@ BitBake and OpenEmbedded-Core are now relying on Python 3.8,
|
||||
making it a requirement to use a distribution providing at least this
|
||||
version, or to use :term:`buildtools`.
|
||||
|
||||
.. _migration-4.2-qa-checks:
|
||||
.. _migration-4.2-gcc-8.0:
|
||||
|
||||
QA check changes
|
||||
~~~~~~~~~~~~~~~~
|
||||
gcc 8.0 is now the minumum required GNU C compiler version
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This version, released in 2018, is a minimum requirement
|
||||
to build the ``mesa-native`` recipe.
|
||||
|
||||
.. _migration-4.2-new-nvd-api:
|
||||
|
||||
Fetching the NVD vulnerability database through the 2.0 API
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This new version adds a new fetcher for the NVD database using the 2.0 API,
|
||||
as the 1.0 API will be retired in 2023.
|
||||
|
||||
The implementation changes as little as possible, keeping the current
|
||||
database format (but using a different database file for the transition
|
||||
period), with a notable exception of not using the META table.
|
||||
|
||||
Here are minor changes that you may notice:
|
||||
|
||||
- The database starts in 1999 instead of 2002
|
||||
- The complete fetch is longer (30 minutes typically)
|
||||
|
||||
.. _migration-4.2-rust-crate-checksums:
|
||||
|
||||
Rust: mandatory checksums for crates
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This release now supports checksums for Rust crates and make
|
||||
them mandatory for each crate in a recipe. See :yocto_git:`python3_bcrypt recipe changes
|
||||
</poky/commit/?h=mickledore&id=0dcb5ab3462fdaaf1646b05a00c7150eea711a9a>`
|
||||
for example.
|
||||
|
||||
The ``cargo-update-recipe-crates`` utility
|
||||
:yocto_git:`has been extended </poky/commit/?h=mickledore&id=eef7fbea2c5bf59369390be4d5efa915591b7b22>`
|
||||
to include such checksums. So, in case you need to add the list of checksums
|
||||
to a recipe just inheriting the :ref:`ref-classes-cargo` class so far, you can
|
||||
follow these steps:
|
||||
|
||||
#. Make the recipe inherit :ref:`ref-classes-cargo-update-recipe-crates`
|
||||
#. Remove all ``crate://`` lines from the recipe
|
||||
#. Create an empty ``${BPN}-crates.inc`` file and make your recipe require it
|
||||
#. Execute ``bitbake -c update_crates your_recipe``
|
||||
#. Copy and paste the output of BitBake about the missing checksums into the
|
||||
``${BPN}-crates.inc`` file.
|
||||
|
||||
.. _migration-4.2-supported-distributions:
|
||||
|
||||
Supported distributions
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This release supports running BitBake on new GNU/Linux distributions:
|
||||
|
||||
- Fedora 36 and 37
|
||||
- AlmaLinux 8.7 and 9.1
|
||||
- OpenSuse 15.4
|
||||
|
||||
On the other hand, some earlier distributions are no longer supported:
|
||||
|
||||
- Debian 10.x
|
||||
- Fedora 34 and 35
|
||||
- AlmaLinux 8.5
|
||||
|
||||
See :ref:`all supported distributions <system-requirements-supported-distros>`.
|
||||
|
||||
.. _migration-4.2-misc-changes:
|
||||
|
||||
@@ -30,6 +92,7 @@ Miscellaneous changes
|
||||
|
||||
- The ``OEBasic`` signature handler (see :term:`BB_SIGNATURE_HANDLER`) has been
|
||||
removed.
|
||||
|
||||
|
||||
.. _migration-4.2-removed-variables:
|
||||
|
||||
@@ -38,7 +101,7 @@ Removed variables
|
||||
|
||||
The following variables have been removed:
|
||||
|
||||
- ``SERIAL_CONSOLE``, deprecated since version 2.6, replaced by :term:``SERIAL_CONSOLES``.
|
||||
- ``SERIAL_CONSOLE``, deprecated since version 2.6, replaced by :term:`SERIAL_CONSOLES`.
|
||||
|
||||
.. _migration-4.2-removed-recipes:
|
||||
|
||||
@@ -47,3 +110,17 @@ Removed recipes
|
||||
|
||||
The following recipes have been removed in this release:
|
||||
|
||||
- ``python3-picobuild``: after switching to ``python3-build``
|
||||
- ``python3-strict-rfc3339``: unmaintained and not needed by anything in
|
||||
:oe_git:`openembedded-core </openembedded-core>`
|
||||
or :oe_git:`meta-openembedded </meta-openembedded>`.
|
||||
|
||||
.. _migration-4.2-removed-classes:
|
||||
|
||||
Removed classes
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
The following classes have been removed in this release:
|
||||
|
||||
- ``rust-bin``: no longer used in Poky
|
||||
|
||||
|
||||
@@ -6,23 +6,90 @@ Release notes for 4.2 (mickledore)
|
||||
New Features / Enhancements in 4.2
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- Python 3.8 is the minimum Python version required on the build host.
|
||||
For host distributions that do not provide it, this is included as part of the
|
||||
:term:`buildtools` tarball.
|
||||
- Python 3.8 is the minimum Python version required on the build host.
|
||||
For host distributions that do not provide it, this is included as part of the
|
||||
:term:`buildtools` tarball.
|
||||
|
||||
- This release now supports a new ``addpylib`` directive to enable
|
||||
Python libraries within layers.
|
||||
- BitBake in this release now supports a new ``addpylib`` directive to enable
|
||||
Python libraries within layers.
|
||||
|
||||
This directive should be added to your layer configuration,
|
||||
as in the below example from ``meta/conf/layer.conf``::
|
||||
This directive should be added to your layer configuration
|
||||
as in the below example from ``meta/conf/layer.conf``::
|
||||
|
||||
addpylib ${LAYERDIR}/lib oe
|
||||
addpylib ${LAYERDIR}/lib oe
|
||||
|
||||
- BitBake has seen multiple internal changes that may impact
|
||||
memory and disk usage as well as parsing time, in particular:
|
||||
|
||||
- BitBake's Cooker server is now multithreaded.
|
||||
|
||||
- BitBake's cache has been extended to include more hash
|
||||
debugging data, but has also been optimized to :yocto_git:`compress
|
||||
cache data <https://git.yoctoproject.org/poky/commit/?h=mickledore&id=7d010055e2af3294e17db862f42664ca689a9356>`.
|
||||
|
||||
- BitBake's Cooker server :yocto_git:`can now be pinged
|
||||
</poky/commit/?h=mickledore&id=26f255da09>`
|
||||
from the UI.
|
||||
|
||||
- Architecture-specific enhancements:
|
||||
|
||||
- This release adds initial support for the
|
||||
:wikipedia:`LoongArch <Loongson#LoongArch>`
|
||||
(``loongarch64``) architecture, though there is no testing for it yet.
|
||||
|
||||
- Kernel-related enhancements:
|
||||
|
||||
- QEMU/runqemu enhancements:
|
||||
|
||||
- Image-related enhancements:
|
||||
|
||||
- New variables:
|
||||
|
||||
- :term:`VOLATILE_TMP_DIR` allows to specify
|
||||
whether ``/tmp`` should be on persistent storage
|
||||
or in RAM.
|
||||
|
||||
- Rust improvements:
|
||||
|
||||
- This release adds Cargo support on the target, and includes
|
||||
automated QA tests for this functionality.
|
||||
|
||||
- It also supports checksums for Rust crates and makes
|
||||
them mandatory for each crate in a recipe.
|
||||
|
||||
- Testing:
|
||||
|
||||
- The ptest images have changed structure in this release. The
|
||||
underlying ``core-image-ptest`` recipe now uses :term:`BBCLASSEXTEND` to
|
||||
create a variant for each ptest enabled recipe in OE-Core.
|
||||
|
||||
For example, this means that ``core-image-ptest-bzip2``,
|
||||
``core-image-ptest-lttng-tools`` and many more image targets now exist
|
||||
and can be built/tested individually.
|
||||
|
||||
The ``core-image-ptest-all`` and ``core-image-ptest-fast`` targets are now
|
||||
wrappers that target groups of individual images and means that the tests
|
||||
can be executed in parallel during our automated testing. This also means
|
||||
the dependencies are more accurately tested.
|
||||
|
||||
- It is now possible to track regression changes between releases using
|
||||
:oe_git:`yocto_testresults_query.py </openembedded-core/tree/scripts/yocto_testresults_query.py>`,
|
||||
which is a thin wrapper over :oe_git:`resulttool
|
||||
</openembedded-core/tree/scripts/resulttool>`. Here is an example
|
||||
command, which allowed to spot and fix a regression in the
|
||||
``quilt`` ptest::
|
||||
|
||||
yocto_testresults_query.py regression-report 4.2_M1 4.2_M2
|
||||
|
||||
See this `blog post about regression detection
|
||||
<https://bootlin.com/blog/continuous-integration-in-yocto-improving-the-regressions-detection/>`__.
|
||||
|
||||
- This release adds support for parallel ptest execution with a ptest per image.
|
||||
This takes ptest execution time from 3.5 hours to around 45 minutes on the autobuilder.
|
||||
|
||||
- Miscellaneous changes:
|
||||
|
||||
- Supporting 64 bit dates on 32 bit platforms: several packages have been
|
||||
updated to pass Y2038 tests.
|
||||
|
||||
- Many packages were updated to add large file support.
|
||||
|
||||
Reference in New Issue
Block a user