diff options
Diffstat (limited to 'documentation/migration-guides')
-rw-r--r-- | documentation/migration-guides/migration-4.2.rst | 85 | ||||
-rw-r--r-- | documentation/migration-guides/release-notes-4.2.rst | 83 |
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, | |||
18 | making it a requirement to use a distribution providing at least this | 18 | making it a requirement to use a distribution providing at least this |
19 | version, or to use :term:`buildtools`. | 19 | version, or to use :term:`buildtools`. |
20 | 20 | ||
21 | .. _migration-4.2-qa-checks: | 21 | .. _migration-4.2-gcc-8.0: |
22 | 22 | ||
23 | QA check changes | 23 | gcc 8.0 is now the minumum required GNU C compiler version |
24 | ~~~~~~~~~~~~~~~~ | 24 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
25 | |||
26 | This version, released in 2018, is a minimum requirement | ||
27 | to build the ``mesa-native`` recipe. | ||
28 | |||
29 | .. _migration-4.2-new-nvd-api: | ||
30 | |||
31 | Fetching the NVD vulnerability database through the 2.0 API | ||
32 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
33 | |||
34 | This new version adds a new fetcher for the NVD database using the 2.0 API, | ||
35 | as the 1.0 API will be retired in 2023. | ||
36 | |||
37 | The implementation changes as little as possible, keeping the current | ||
38 | database format (but using a different database file for the transition | ||
39 | period), with a notable exception of not using the META table. | ||
40 | |||
41 | Here 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 | |||
48 | Rust: mandatory checksums for crates | ||
49 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
50 | |||
51 | This release now supports checksums for Rust crates and make | ||
52 | them mandatory for each crate in a recipe. See :yocto_git:`python3_bcrypt recipe changes | ||
53 | </poky/commit/?h=mickledore&id=0dcb5ab3462fdaaf1646b05a00c7150eea711a9a>` | ||
54 | for example. | ||
55 | |||
56 | The ``cargo-update-recipe-crates`` utility | ||
57 | :yocto_git:`has been extended </poky/commit/?h=mickledore&id=eef7fbea2c5bf59369390be4d5efa915591b7b22>` | ||
58 | to include such checksums. So, in case you need to add the list of checksums | ||
59 | to a recipe just inheriting the :ref:`ref-classes-cargo` class so far, you can | ||
60 | follow 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 | |||
71 | Supported distributions | ||
72 | ~~~~~~~~~~~~~~~~~~~~~~~ | ||
73 | |||
74 | This 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 | |||
80 | On 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 | |||
86 | See :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 | ||
39 | The following variables have been removed: | 102 | The 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 | ||
48 | The following recipes have been removed in this release: | 111 | The 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 | |||
120 | Removed classes | ||
121 | ~~~~~~~~~~~~~~~ | ||
122 | |||
123 | The 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) | |||
6 | New Features / Enhancements in 4.2 | 6 | New 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. | ||