diff options
| author | Michael Opdenacker <michael.opdenacker@bootlin.com> | 2023-04-05 11:01:36 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-04-22 10:58:05 +0100 |
| commit | 42a6d47754e5780ab2ea3d50bd8d3700f1a15979 (patch) | |
| tree | 7544d8a90ac54a7b751d9c7595c21c6fda5384dd | |
| parent | 64111246ce7f9f6fe2a78ef0bc12b62fbc6e1207 (diff) | |
| download | poky-42a6d47754e5780ab2ea3d50bd8d3700f1a15979.tar.gz | |
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>
| -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. | ||
