summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Opdenacker <michael.opdenacker@bootlin.com>2023-04-05 11:01:36 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-04-13 11:59:58 +0100
commit00d9f298b0dc4c80c24435f7c41b3e93805dcd65 (patch)
treef3a950c60e125499d77414ec04a60f3015bb75ee
parent6406677e92fa341ff3c88f6cdcca56ad217500ba (diff)
downloadpoky-00d9f298b0dc4c80c24435f7c41b3e93805dcd65.tar.gz
migration-guides: update 4.2 migration and release notes
(From yocto-docs rev: 3aac9f8b57434f3852a78915c326074252177515) 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>
-rw-r--r--documentation/migration-guides/migration-4.2.rst85
-rw-r--r--documentation/migration-guides/release-notes-4.2.rst83
2 files changed, 156 insertions, 12 deletions
diff --git a/documentation/migration-guides/migration-4.2.rst b/documentation/migration-guides/migration-4.2.rst
index 1339411b3e..ccc3e8905e 100644
--- a/documentation/migration-guides/migration-4.2.rst
+++ b/documentation/migration-guides/migration-4.2.rst
@@ -18,10 +18,72 @@ BitBake and OpenEmbedded-Core are now relying on Python 3.8,
18making it a requirement to use a distribution providing at least this 18making it a requirement to use a distribution providing at least this
19version, or to use :term:`buildtools`. 19version, or to use :term:`buildtools`.
20 20
21.. _migration-4.2-qa-checks: 21.. _migration-4.2-gcc-8.0:
22 22
23QA check changes 23gcc 8.0 is now the minumum required GNU C compiler version
24~~~~~~~~~~~~~~~~ 24~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25
26This version, released in 2018, is a minimum requirement
27to build the ``mesa-native`` recipe.
28
29.. _migration-4.2-new-nvd-api:
30
31Fetching the NVD vulnerability database through the 2.0 API
32~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33
34This new version adds a new fetcher for the NVD database using the 2.0 API,
35as the 1.0 API will be retired in 2023.
36
37The implementation changes as little as possible, keeping the current
38database format (but using a different database file for the transition
39period), with a notable exception of not using the META table.
40
41Here are minor changes that you may notice:
42
43- The database starts in 1999 instead of 2002
44- The complete fetch is longer (30 minutes typically)
45
46.. _migration-4.2-rust-crate-checksums:
47
48Rust: mandatory checksums for crates
49~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
51This release now supports checksums for Rust crates and make
52them mandatory for each crate in a recipe. See :yocto_git:`python3_bcrypt recipe changes
53</poky/commit/?h=mickledore&id=0dcb5ab3462fdaaf1646b05a00c7150eea711a9a>`
54for example.
55
56The ``cargo-update-recipe-crates`` utility
57:yocto_git:`has been extended </poky/commit/?h=mickledore&id=eef7fbea2c5bf59369390be4d5efa915591b7b22>`
58to include such checksums. So, in case you need to add the list of checksums
59to a recipe just inheriting the :ref:`ref-classes-cargo` class so far, you can
60follow these steps:
61
62#. Make the recipe inherit :ref:`ref-classes-cargo-update-recipe-crates`
63#. Remove all ``crate://`` lines from the recipe
64#. Create an empty ``${BPN}-crates.inc`` file and make your recipe require it
65#. Execute ``bitbake -c update_crates your_recipe``
66#. Copy and paste the output of BitBake about the missing checksums into the
67 ``${BPN}-crates.inc`` file.
68
69.. _migration-4.2-supported-distributions:
70
71Supported distributions
72~~~~~~~~~~~~~~~~~~~~~~~
73
74This release supports running BitBake on new GNU/Linux distributions:
75
76- Fedora 36 and 37
77- AlmaLinux 8.7 and 9.1
78- OpenSuse 15.4
79
80On the other hand, some earlier distributions are no longer supported:
81
82- Debian 10.x
83- Fedora 34 and 35
84- AlmaLinux 8.5
85
86See :ref:`all supported distributions <system-requirements-supported-distros>`.
25 87
26.. _migration-4.2-misc-changes: 88.. _migration-4.2-misc-changes:
27 89
@@ -30,6 +92,7 @@ Miscellaneous changes
30 92
31- The ``OEBasic`` signature handler (see :term:`BB_SIGNATURE_HANDLER`) has been 93- The ``OEBasic`` signature handler (see :term:`BB_SIGNATURE_HANDLER`) has been
32 removed. 94 removed.
95
33 96
34.. _migration-4.2-removed-variables: 97.. _migration-4.2-removed-variables:
35 98
@@ -38,7 +101,7 @@ Removed variables
38 101
39The following variables have been removed: 102The following variables have been removed:
40 103
41- ``SERIAL_CONSOLE``, deprecated since version 2.6, replaced by :term:``SERIAL_CONSOLES``. 104- ``SERIAL_CONSOLE``, deprecated since version 2.6, replaced by :term:`SERIAL_CONSOLES`.
42 105
43.. _migration-4.2-removed-recipes: 106.. _migration-4.2-removed-recipes:
44 107
@@ -47,3 +110,17 @@ Removed recipes
47 110
48The following recipes have been removed in this release: 111The following recipes have been removed in this release:
49 112
113- ``python3-picobuild``: after switching to ``python3-build``
114- ``python3-strict-rfc3339``: unmaintained and not needed by anything in
115 :oe_git:`openembedded-core </openembedded-core>`
116 or :oe_git:`meta-openembedded </meta-openembedded>`.
117
118.. _migration-4.2-removed-classes:
119
120Removed classes
121~~~~~~~~~~~~~~~
122
123The following classes have been removed in this release:
124
125- ``rust-bin``: no longer used in Poky
126
diff --git a/documentation/migration-guides/release-notes-4.2.rst b/documentation/migration-guides/release-notes-4.2.rst
index edafe378b0..4cf1974d4f 100644
--- a/documentation/migration-guides/release-notes-4.2.rst
+++ b/documentation/migration-guides/release-notes-4.2.rst
@@ -6,23 +6,90 @@ Release notes for 4.2 (mickledore)
6New Features / Enhancements in 4.2 6New Features / Enhancements in 4.2
7~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8 8
9- Python 3.8 is the minimum Python version required on the build host. 9- Python 3.8 is the minimum Python version required on the build host.
10 For host distributions that do not provide it, this is included as part of the 10 For host distributions that do not provide it, this is included as part of the
11 :term:`buildtools` tarball. 11 :term:`buildtools` tarball.
12 12
13- This release now supports a new ``addpylib`` directive to enable 13- BitBake in this release now supports a new ``addpylib`` directive to enable
14 Python libraries within layers. 14 Python libraries within layers.
15 15
16 This directive should be added to your layer configuration, 16 This directive should be added to your layer configuration
17 as in the below example from ``meta/conf/layer.conf``:: 17 as in the below example from ``meta/conf/layer.conf``::
18 18
19 addpylib ${LAYERDIR}/lib oe 19 addpylib ${LAYERDIR}/lib oe
20
21- BitBake has seen multiple internal changes that may impact
22 memory and disk usage as well as parsing time, in particular:
23
24 - BitBake's Cooker server is now multithreaded.
25
26 - BitBake's cache has been extended to include more hash
27 debugging data, but has also been optimized to :yocto_git:`compress
28 cache data <https://git.yoctoproject.org/poky/commit/?h=mickledore&id=7d010055e2af3294e17db862f42664ca689a9356>`.
29
30 - BitBake's Cooker server :yocto_git:`can now be pinged
31 </poky/commit/?h=mickledore&id=26f255da09>`
32 from the UI.
20 33
21- Architecture-specific enhancements: 34- Architecture-specific enhancements:
22 35
36 - This release adds initial support for the
37 :wikipedia:`LoongArch <Loongson#LoongArch>`
38 (``loongarch64``) architecture, though there is no testing for it yet.
39
23- Kernel-related enhancements: 40- Kernel-related enhancements:
24 41
25- QEMU/runqemu enhancements: 42- QEMU/runqemu enhancements:
26 43
27- Image-related enhancements: 44- Image-related enhancements:
28 45
46- New variables:
47
48 - :term:`VOLATILE_TMP_DIR` allows to specify
49 whether ``/tmp`` should be on persistent storage
50 or in RAM.
51
52- Rust improvements:
53
54 - This release adds Cargo support on the target, and includes
55 automated QA tests for this functionality.
56
57 - It also supports checksums for Rust crates and makes
58 them mandatory for each crate in a recipe.
59
60- Testing:
61
62 - The ptest images have changed structure in this release. The
63 underlying ``core-image-ptest`` recipe now uses :term:`BBCLASSEXTEND` to
64 create a variant for each ptest enabled recipe in OE-Core.
65
66 For example, this means that ``core-image-ptest-bzip2``,
67 ``core-image-ptest-lttng-tools`` and many more image targets now exist
68 and can be built/tested individually.
69
70 The ``core-image-ptest-all`` and ``core-image-ptest-fast`` targets are now
71 wrappers that target groups of individual images and means that the tests
72 can be executed in parallel during our automated testing. This also means
73 the dependencies are more accurately tested.
74
75 - It is now possible to track regression changes between releases using
76 :oe_git:`yocto_testresults_query.py </openembedded-core/tree/scripts/yocto_testresults_query.py>`,
77 which is a thin wrapper over :oe_git:`resulttool
78 </openembedded-core/tree/scripts/resulttool>`. Here is an example
79 command, which allowed to spot and fix a regression in the
80 ``quilt`` ptest::
81
82 yocto_testresults_query.py regression-report 4.2_M1 4.2_M2
83
84 See this `blog post about regression detection
85 <https://bootlin.com/blog/continuous-integration-in-yocto-improving-the-regressions-detection/>`__.
86
87 - This release adds support for parallel ptest execution with a ptest per image.
88 This takes ptest execution time from 3.5 hours to around 45 minutes on the autobuilder.
89
90- Miscellaneous changes:
91
92 - Supporting 64 bit dates on 32 bit platforms: several packages have been
93 updated to pass Y2038 tests.
94
95 - Many packages were updated to add large file support.