diff options
| author | Antonin Godard <antonin.godard@bootlin.com> | 2025-07-29 11:56:53 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-08-08 23:41:11 +0100 |
| commit | 6217bbbe7e030fed93c302fd9826e7bb73a217ce (patch) | |
| tree | e5122d6caa6eeb21b5096ae1bf420b56be706029 /documentation/migration-guides | |
| parent | 89fd9dd17a6450a1a9250e3f8ba212e9c3afd3f2 (diff) | |
| download | poky-6217bbbe7e030fed93c302fd9826e7bb73a217ce.tar.gz | |
migration-guides/release-notes-5.3: updates
Update the release notes and migration manual for 5.3.
This covers commits from c4a5e590b53b ("rust-llvm: Compile llvm to use
dynamic libraries") to 2a832e6af1b6 ("orc: set CVE_PRODUCT") in Poky.
(From yocto-docs rev: c8d852ad63219d067e497a77d489a4011b0d0a26)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/migration-guides')
| -rw-r--r-- | documentation/migration-guides/migration-5.3.rst | 89 | ||||
| -rw-r--r-- | documentation/migration-guides/release-notes-5.3.rst | 564 |
2 files changed, 648 insertions, 5 deletions
diff --git a/documentation/migration-guides/migration-5.3.rst b/documentation/migration-guides/migration-5.3.rst index 4d2e1763ce..97e41605f4 100644 --- a/documentation/migration-guides/migration-5.3.rst +++ b/documentation/migration-guides/migration-5.3.rst | |||
| @@ -64,6 +64,60 @@ The first change can introduce a lot of consecutive empty lines, so those can be | |||
| 64 | 64 | ||
| 65 | sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc` | 65 | sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc` |
| 66 | 66 | ||
| 67 | |||
| 68 | BitBake Git fetcher ``tag`` parameter | ||
| 69 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 70 | |||
| 71 | The ``tag=`` parameter of the Git fetcher (``git://``) was updated. The tag | ||
| 72 | commit SHA will be compared against the value supplied by the :term:`SRCREV` | ||
| 73 | variable or the ``rev=`` parameter in the URI in :term:`SRC_URI`. This is | ||
| 74 | strongly recommended to add to the URIs when using the Git fetcher for | ||
| 75 | repositories using tag releases. | ||
| 76 | |||
| 77 | Space around equal assignment | ||
| 78 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 79 | |||
| 80 | A new warning is now printed when there are no whitespaces around an ``=`` | ||
| 81 | assignment in recipes:: | ||
| 82 | |||
| 83 | <filename>:<line number> has a lack of whitespace around the assignment: '<assignment>' | ||
| 84 | |||
| 85 | For example, the following assignments would print a warning:: | ||
| 86 | |||
| 87 | FOO="bar" | ||
| 88 | FOO= "bar" | ||
| 89 | FOO ="bar" | ||
| 90 | |||
| 91 | These should be replaced by:: | ||
| 92 | |||
| 93 | FOO = "bar" | ||
| 94 | |||
| 95 | Wic plugins containing dashes should be renamed | ||
| 96 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 97 | |||
| 98 | After a Python upgrade, :ref:`Wic <dev-manual/wic:creating partitioned images | ||
| 99 | using wic>` plugins containing dashes (``-``) for their filenames are **no | ||
| 100 | longer supported**. One must rename the plugin file and convert the dashes to | ||
| 101 | underscores (``_``). | ||
| 102 | |||
| 103 | It is also recommended to update any WKS file to convert dashes to underscores. | ||
| 104 | For example, the ``bootimg-partition.py`` plugin was renamed to | ||
| 105 | ``bootimg_partition.py``. This means that any WKS file using this plugin must | ||
| 106 | change each ``--source bootimg-partition`` to ``--source bootimg_partition``. | ||
| 107 | |||
| 108 | However, the current WIC code automatically converts dashes to underscore for | ||
| 109 | any ``--source`` call, so existing WKS files will not break if they use upstream | ||
| 110 | plugins from :term:`OpenEmbedded-Core (OE-Core)`. | ||
| 111 | |||
| 112 | ``fitImage`` no longer supporter for :term:`KERNEL_IMAGETYPE` | ||
| 113 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 114 | |||
| 115 | The ``fitImage`` type for :term:`KERNEL_IMAGETYPE` is no longer supported. The | ||
| 116 | logic for creating a FIT image was moved out of the :ref:`ref-classes-kernel` | ||
| 117 | class. Instead, one should create a new recipe to build this FIT image, as | ||
| 118 | described in the :ref:`Removed Classes <migration-guides/migration-5.3:Removed | ||
| 119 | Classes>` section of the Migration notes for |yocto-ver| (|yocto-codename|). | ||
| 120 | |||
| 67 | Supported kernel versions | 121 | Supported kernel versions |
| 68 | ~~~~~~~~~~~~~~~~~~~~~~~~~ | 122 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 69 | 123 | ||
| @@ -99,11 +153,38 @@ Removed variables | |||
| 99 | 153 | ||
| 100 | The following variables have been removed: | 154 | The following variables have been removed: |
| 101 | 155 | ||
| 156 | - ``BUILDHISTORY_RESET``: Setting this to non-empty used to remove the old | ||
| 157 | content of the :ref:`ref-classes-buildhistory` as part of the current | ||
| 158 | :term:`BitBake` invocation and replace it with information about what was | ||
| 159 | built during the build. This was partly broken and hard to maintain. | ||
| 160 | |||
| 102 | Removed recipes | 161 | Removed recipes |
| 103 | ~~~~~~~~~~~~~~~ | 162 | ~~~~~~~~~~~~~~~ |
| 104 | 163 | ||
| 105 | The following recipes have been removed in this release: | 164 | The following recipes have been removed in this release: |
| 106 | 165 | ||
| 166 | - ``libsoup``: The last user in :term:`OpenEmbedded-Core (OE-Core)` was | ||
| 167 | ``gst-examples``, which has been upgraded with its ``libsoup`` dependency | ||
| 168 | dropped. | ||
| 169 | |||
| 170 | - ``glibc-y2038-tests``: removed as the recipe only provides tests which are | ||
| 171 | now provided by ``glibc-testsuite``. | ||
| 172 | |||
| 173 | - ``python3-ndg-httpsclient``: The last dependency in core on this recipe was | ||
| 174 | removed in May 2024 with dfa482f1998 ("python3-requests: cleanup RDEPENDS"), | ||
| 175 | and there is no other user of this variable. | ||
| 176 | |||
| 177 | Removed :term:`PACKAGECONFIG` entries | ||
| 178 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 179 | |||
| 180 | - ``dropbear``: ``enable-x11-forwarding`` (renamed to ``x11``) | ||
| 181 | |||
| 182 | - ``libxml2``: ``ipv6`` | ||
| 183 | |||
| 184 | - ``squashfs-tools``: ``reproducible`` | ||
| 185 | |||
| 186 | - ``mesa``: ``kmsro``, ``osmesa``, ``xa`` | ||
| 187 | |||
| 107 | Removed classes | 188 | Removed classes |
| 108 | ~~~~~~~~~~~~~~~ | 189 | ~~~~~~~~~~~~~~~ |
| 109 | 190 | ||
| @@ -151,6 +232,11 @@ The following classes have been removed in this release: | |||
| 151 | 232 | ||
| 152 | See the :ref:`ref-classes-kernel-fit-image` section for more information. | 233 | See the :ref:`ref-classes-kernel-fit-image` section for more information. |
| 153 | 234 | ||
| 235 | - ``icecc.bbclass``: Reports show that this class has been broken since Yocto | ||
| 236 | Mickledore which suggests there are limited numbers of users. It doesn't have | ||
| 237 | any automated testing and it would be hard to setup and maintain a testing | ||
| 238 | environment for it. The original users/maintainers aren't using it now. | ||
| 239 | |||
| 154 | Removed features | 240 | Removed features |
| 155 | ~~~~~~~~~~~~~~~~ | 241 | ~~~~~~~~~~~~~~~~ |
| 156 | 242 | ||
| @@ -158,3 +244,6 @@ The following features have been removed in this release: | |||
| 158 | 244 | ||
| 159 | Miscellaneous changes | 245 | Miscellaneous changes |
| 160 | ~~~~~~~~~~~~~~~~~~~~~ | 246 | ~~~~~~~~~~~~~~~~~~~~~ |
| 247 | |||
| 248 | - ``xserver-xorg``: remove sub-package ``${PN}-xwayland``, as ``xwayland`` is | ||
| 249 | now its own recipe. | ||
diff --git a/documentation/migration-guides/release-notes-5.3.rst b/documentation/migration-guides/release-notes-5.3.rst index 181f1a401d..f32c6162da 100644 --- a/documentation/migration-guides/release-notes-5.3.rst +++ b/documentation/migration-guides/release-notes-5.3.rst | |||
| @@ -11,63 +11,617 @@ Release notes for |yocto-ver| (|yocto-codename|) | |||
| 11 | New Features / Enhancements in |yocto-ver| | 11 | New Features / Enhancements in |yocto-ver| |
| 12 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 12 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 13 | 13 | ||
| 14 | - Linux kernel XXX, gcc XXX, glibc XXX, LLVM XXX, and over XXX other | 14 | - Linux kernel XXX, gcc 15, glibc XXX, LLVM XXX, and over XXX other |
| 15 | recipe upgrades. | 15 | recipe upgrades. |
| 16 | 16 | ||
| 17 | - Minimum Python version required on the host: XXX. | 17 | - Minimum Python version required on the host: XXX. |
| 18 | 18 | ||
| 19 | - BitBake changes: | ||
| 20 | |||
| 21 | - ``codeparser``: Add function decorators for ``vardeps`` | ||
| 22 | |||
| 23 | Adds ``bb.parse.vardeps`` and ``bb.parse.excludevardeps`` function | ||
| 24 | decorators that can be used to explicitly add or exclude variables from a | ||
| 25 | Python function parsed by :term:`BitBake`. | ||
| 26 | |||
| 27 | Move ``vardepexclude`` flag entries alongside functions for | ||
| 28 | maintainability. | ||
| 29 | |||
| 30 | - Fetcher: | ||
| 31 | |||
| 32 | - Check for ``git-lfs`` existence before using it. | ||
| 33 | |||
| 34 | - Add support for ``.debs`` files containing uncompressed data tarballs. | ||
| 35 | |||
| 36 | - ``az``: Add sanity check to check that :term:`AZ_SAS` starts with ``?`` | ||
| 37 | to mark the start of the query parameters. | ||
| 38 | |||
| 39 | - ``git``: Add the tag to shallow clone tarball name. | ||
| 40 | |||
| 41 | - ``knotty``: pass failed task logs through the log infrastructure (use | ||
| 42 | ``bb.plain()`` instead of ``print()``) | ||
| 43 | |||
| 44 | - Add support for automatically promoting class inherits to deferred | ||
| 45 | inherits by listing them in the :term:`BB_DEFER_BBCLASSES` variable. | ||
| 46 | |||
| 47 | - "Built-in" fragments support is now added to the :ref:`addfragments | ||
| 48 | <bitbake-user-manual/bitbake-user-manual-metadata:\`\`addfragments\`\` | ||
| 49 | directive>` directive. This is the fourth parameter to this directive, and | ||
| 50 | should be the name of the variable that contains definitions of built-in | ||
| 51 | fragments. Refer to the documentation of :ref:`addfragments | ||
| 52 | <bitbake-user-manual/bitbake-user-manual-metadata:\`\`addfragments\`\` | ||
| 53 | directive>` to learn how to define new built-in fragments. | ||
| 54 | |||
| 55 | Listing these built-in fragments can be done with | ||
| 56 | :oe_git:`bitbake-config-build | ||
| 57 | list-fragments</bitbake/tree/bin/bitbake-config-build>`, which could | ||
| 58 | list:: | ||
| 59 | |||
| 60 | Available built-in fragments: | ||
| 61 | machine/... Sets MACHINE = ... | ||
| 62 | distro/... Sets DISTRO = ... | ||
| 63 | |||
| 64 | In the above example, this means that the :term:`MACHINE` of | ||
| 65 | :term:`DISTRO` can be overridden with:: | ||
| 66 | |||
| 67 | OE_FRAGMENTS += "machine/qemuarm64 distro/poky-bleeding" | ||
| 68 | |||
| 69 | This would set :term:`MACHINE` to ``qemuarm64`` and the :term:`DISTRO` to | ||
| 70 | ``poky-bleeding``. | ||
| 71 | |||
| 72 | - The ``tag-`` parameter in URLs can now be specified alongside the ``rev=`` | ||
| 73 | parameter and :term:`SRCREV` variable, and will ensure that the | ||
| 74 | specified tag matches the specified revision. | ||
| 75 | |||
| 76 | It is **strongly encouraged** to include the ``tag=`` parameter to the | ||
| 77 | :term:`SRC_URI` definition when possible. | ||
| 78 | |||
| 79 | - ``tinfoil``: add a ``wait_for`` decorator to wrap a function that makes an | ||
| 80 | asynchronous tinfoil call wait for event to say that the call has been | ||
| 81 | successful, or an error has occurred. | ||
| 82 | |||
| 83 | - New ``bb.utils.to_filemode()`` helper function which is a helper to take a | ||
| 84 | variable's content containing a filemode and convert it to the proper | ||
| 85 | Python representation of the number. | ||
| 86 | |||
| 87 | - ``cooker``: Use a shared counter for processing parser jobs. This allows | ||
| 88 | the parser processes to run independently of needing to be feed by the | ||
| 89 | parent process, and load balances them much better. | ||
| 90 | |||
| 91 | - ``cooker/process/utils``: Add a ``-P`` (``--profile``) option to | ||
| 92 | :term:`BitBake` to specify what to profile. Can be "main", "idle" or | ||
| 93 | "parsing". Split the reports in separate files. | ||
| 94 | |||
| 95 | - Toolchain changes: | ||
| 96 | |||
| 97 | - The Clang/LLVM toolchain can now be used as part of the build. | ||
| 98 | |||
| 99 | The :term:`PREFERRED_TOOLCHAIN_TARGET`, :term:`PREFERRED_TOOLCHAIN_NATIVE` | ||
| 100 | and :term:`PREFERRED_TOOLCHAIN_SDK` variables can be used to customize the | ||
| 101 | selected toolchain globally. | ||
| 102 | |||
| 103 | There are two supported toolchains: "gcc" and "clang". See the | ||
| 104 | documentation of :term:`PREFERRED_TOOLCHAIN_TARGET` for more details. | ||
| 105 | |||
| 106 | The toolchain is also customizable on a per-recipe basis, using the | ||
| 107 | :term:`TOOLCHAIN` and :term:`TOOLCHAIN_NATIVE` variables. | ||
| 108 | |||
| 109 | - Multiple recipes were pinned to use the GCC/Binutils toolchain as they do | ||
| 110 | not support being built with Clang/LLVM yet. In these recipes the | ||
| 111 | :term:`TOOLCHAIN` variable is set to "gcc". | ||
| 112 | |||
| 113 | - Global configuration changes: | ||
| 114 | |||
| 115 | - ``bitbake.conf/pseudo``: Switch from exclusion list to inclusion list by | ||
| 116 | swapping :term:`PSEUDO_IGNORE_PATHS` for :term:`PSEUDO_INCLUDE_PATHS` | ||
| 117 | which should be easier and more explicit to maintain. | ||
| 118 | |||
| 119 | - ``bitbake.conf``: Drop ``lz4`` from :term:`HOSTTOOLS`, as it is not | ||
| 120 | required anymore, and the ``lz4-native`` package is used instead. | ||
| 121 | |||
| 122 | - ``conf/fragments``: add a fragment for the CDN :ref:`sstate-cache | ||
| 123 | <overview-manual/concepts:shared state cache>` mirror. | ||
| 124 | |||
| 125 | - ``default-distrovars``: set an empty default for :term:`LICENSE_PATH`. | ||
| 126 | |||
| 127 | - The default definition of :term:`UNPACKDIR` is no longer | ||
| 128 | ``sources-unpack`` but ``sources``. | ||
| 129 | |||
| 19 | - New variables: | 130 | - New variables: |
| 20 | 131 | ||
| 132 | - The ``VIRTUAL-RUNTIME_dbus`` variable, to allow changing the runtime | ||
| 133 | implementation of D-Bus. See :term:`VIRTUAL-RUNTIME`. | ||
| 134 | |||
| 135 | - The ``VIRTUAL-RUNTIME_libsdl2`` variable, to allow changing the runtime | ||
| 136 | implementation of `libsdl2 <https://www.libsdl.org/>`__. See | ||
| 137 | :term:`VIRTUAL-RUNTIME`. | ||
| 138 | |||
| 139 | - The :term:`SPDX_PACKAGE_URL` variable can be used in recipes to set the | ||
| 140 | output ``software_packageUrl`` field in their associated SPDX 3.0 output | ||
| 141 | (default value: empty string). | ||
| 142 | |||
| 143 | - The :term:`KMETA_CONFIG_FEATURES` variable can be used to control | ||
| 144 | :ref:`ref-classes-kernel-yocto` configuration features. For now only | ||
| 145 | ``prefer-modules`` is supported for this variable. | ||
| 146 | |||
| 147 | - The :term:`TESTSDK_SUITES` variable can be used to control the list of | ||
| 148 | tests run for the :ref:`ref-classes-testsdk` class. | ||
| 149 | |||
| 150 | - The :term:`UBOOT_FIT_CONF_FIRMWARE` can be used to specify a ``firmware`` | ||
| 151 | entry in the configuration node of a FIT image. | ||
| 152 | |||
| 153 | - The :term:`SPDX_INCLUDE_COMPILED_SOURCES` option allows the same as | ||
| 154 | :term:`SPDX_INCLUDE_SOURCES` but including only the sources used to | ||
| 155 | compile the host tools and the target packages. | ||
| 156 | |||
| 157 | - The :term:`UBOOT_VERSION` variable holds the package version | ||
| 158 | (:term:`PV`) and revision (:term:`PR`) which are part of the installed and | ||
| 159 | deployed filenames. Users can now override :term:`UBOOT_VERSION` to | ||
| 160 | changes the output filenames. | ||
| 161 | |||
| 21 | - Kernel-related changes: | 162 | - Kernel-related changes: |
| 22 | 163 | ||
| 164 | - ``linux/generate-cve-exclusions``: use data from CVEProject instead of | ||
| 165 | the archived https://linuxkernelcves.com. | ||
| 166 | |||
| 167 | - ``kernel-yocto``: allow annotated options to be modified. For example if | ||
| 168 | the following kernel configuration is set:: | ||
| 169 | |||
| 170 | CONFIG_INET_TUNNEL=y # OVERRIDE:$MODULE_OR_Y | ||
| 171 | |||
| 172 | And if the :term:`KMETA_CONFIG_FEATURES` variable contains | ||
| 173 | ``prefer-modules``, ``CONFIG_INET_TUNNEL`` will be set to ``m`` instead of | ||
| 174 | ``y``. | ||
| 175 | |||
| 176 | - ``kernel-devsrc``: Replace the extra ``System.map`` file with symbolic | ||
| 177 | link. | ||
| 178 | |||
| 179 | - ``kernel-module-split``: Allow for external configuration files being | ||
| 180 | assigned to the correct kernel module package. | ||
| 181 | |||
| 182 | - When built for the RISC-V architecture, ensure that the minimum required | ||
| 183 | features set by :term:`TUNE_FEATURES` are set using the | ||
| 184 | :ref:`ref-classes-features_check` class. | ||
| 185 | |||
| 186 | - ``linux-yocto``: when built for RISC-V, enable features in | ||
| 187 | :term:`KERNEL_FEATURES` based on features listed in :term:`TUNE_FEATURES`. | ||
| 188 | |||
| 23 | - New core recipes: | 189 | - New core recipes: |
| 24 | 190 | ||
| 191 | - ``python3-pdm``, ``python3-pdm-backend`` and ``python3-pdm-build-locked``, | ||
| 192 | which are dependencies of ``python3-webcolors``. ``python3-pdm`` itself | ||
| 193 | depends on ``python3-pdm-build-locked`` | ||
| 194 | |||
| 195 | - ``bindgen-cli``: a tool to generate Rust bindings. | ||
| 196 | |||
| 197 | - ``python3-colorama``: Cross-platform colored terminal text, needed by | ||
| 198 | ``pytest`` as a dependency. | ||
| 199 | |||
| 200 | - ``libglvnd``: imported from :oe_git:`meta-oe | ||
| 201 | </meta-openembedded/tree/meta-oe>` which provides a vendor neutral | ||
| 202 | approach to handling OpenGL / OpenGL ES / EGL / GLX libraries. | ||
| 203 | |||
| 204 | - ``python3-sphinx-argparse``: A sphinx extension that automatically | ||
| 205 | documents ``argparse`` commands and options. It is part of | ||
| 206 | ``buildtools-docs-tarball`` for later use in the Yocto Project | ||
| 207 | documentation. | ||
| 208 | |||
| 209 | - ``python3-sphinx-copybutton``: A sphinx extension that adds a copy button | ||
| 210 | to code blocks in Sphinx. It is part of ``buildtools-docs-tarball`` for later | ||
| 211 | use in the Yocto Project documentation. | ||
| 212 | |||
| 213 | - LLVM/Clang related recipes: | ||
| 214 | |||
| 215 | - ``clang``: LLVM based C/C++ compiler. | ||
| 216 | |||
| 217 | - ``compiler-rt``: LLVM based C/C++ compiler Runtime. | ||
| 218 | |||
| 219 | - ``libclc``: Implementation of the library requirements of the OpenCL C | ||
| 220 | programming language. | ||
| 221 | |||
| 222 | - ``libcxx``: new implementation of the C++ standard library, targeting | ||
| 223 | C++11 and above | ||
| 224 | |||
| 225 | - ``llvm-tblgen-native``: LLVM TableGen binaries for the build host, | ||
| 226 | often used to build LLVM projects. | ||
| 227 | |||
| 228 | - ``lldb``: LLDB debugger for LLVM projects. | ||
| 229 | |||
| 230 | - ``llvm-project-source``: canonical git mirror of the LLVM subversion | ||
| 231 | repository. | ||
| 232 | |||
| 233 | - ``openmp``: LLVM OpenMP compiler Runtime. | ||
| 234 | |||
| 235 | - ``kernel-signing-keys-native``: this recipe is used in the | ||
| 236 | :ref:`ref-classes-kernel-fit-image` class to generate a pair of RSA | ||
| 237 | public/private key. It replaces the ``do_generate_rsa_keys`` of the | ||
| 238 | :ref:`ref-classes-kernel-fit-image` class. | ||
| 239 | |||
| 240 | - New :term:`DISTRO_FEATURES`: | ||
| 241 | |||
| 242 | - ``glvnd``, which enables OpenGL Vendor Neutral Dispatch Library | ||
| 243 | support when using recipes such as ``mesa``. | ||
| 244 | |||
| 25 | - New core classes: | 245 | - New core classes: |
| 26 | 246 | ||
| 247 | - The new :ref:`ref-classes-kernel-fit-image` class replaces the previous | ||
| 248 | ``kernel-fitimage`` class. It has been rewritten and improved to fix | ||
| 249 | :yocto_bugs:`bug 12912</show_bug.cgi?id=12912>`. See the :ref:`Removed | ||
| 250 | Classes <migration-guides/migration-5.3:Removed Classes>` section of the | ||
| 251 | Migration notes for |yocto-ver| (|yocto-codename|) for more details on how | ||
| 252 | to switch to this new class. | ||
| 253 | |||
| 254 | - The new :ref:`ref-classes-go-mod-update-modules` class can be used to | ||
| 255 | maintain Go recipes that use a ``BPN-go-mods.inc`` and | ||
| 256 | ``BPN-licenses.inc`` and update these files automatically. | ||
| 257 | |||
| 27 | - Architecture-specific changes: | 258 | - Architecture-specific changes: |
| 28 | 259 | ||
| 260 | - Rework the RISC-V :term:`TUNE_FEATURES` to make them based of the RISC-V | ||
| 261 | ISA (Instruction Set Architecture) implementation. | ||
| 262 | |||
| 263 | This implements the following base ISAs: | ||
| 264 | |||
| 265 | - ``rv32i``, ``rv64i`` | ||
| 266 | - ``rv32e``, ``rv64i`` | ||
| 267 | |||
| 268 | The following ABIs: | ||
| 269 | |||
| 270 | - ``ilp32``, ``ilp32e``, ``ilp32f``, ``ilp32d`` | ||
| 271 | - ``lp64``, ``lp64e``, ``lp64f``, ``lp64d`` | ||
| 272 | |||
| 273 | The following ISA extension are also implemented: | ||
| 274 | |||
| 275 | - M: Integer Multiplication and Division Extension | ||
| 276 | - A: Atomic Memory Extension | ||
| 277 | - F: Single-Precision Floating-Point Extension | ||
| 278 | - D: Double-Precision Floating-Point Extension | ||
| 279 | - C: Compressed Extension | ||
| 280 | - B: Bit Manipulation Extension (implies Zba, Zbb, Zbs) | ||
| 281 | - V: Vector Operations Extension | ||
| 282 | - Zicsr: Control and Status Register Access Extension | ||
| 283 | - Zifencei: Instruction-Fetch Fence Extension | ||
| 284 | - Zba: Address bit manipulation extension | ||
| 285 | - Zbb: Basic bit manipulation extension | ||
| 286 | - Zbc: Carry-less multiplication extension | ||
| 287 | - Zbs: Single-bit manipulation extension | ||
| 288 | - Zicbom: Cache-block management extension | ||
| 289 | |||
| 290 | The existing processors tunes are preserved: | ||
| 291 | |||
| 292 | - ``riscv64`` (``rv64gc``) | ||
| 293 | - ``riscv32`` (``rv32gc``) | ||
| 294 | - ``riscv64nf`` (``rv64imac_zicsr_zifencei``) | ||
| 295 | - ``riscv32nf`` (``rv32imac_zicsr_zifencei``) | ||
| 296 | - ``riscv64nc`` (``rv64imafd_zicsr_zifencei``) | ||
| 297 | |||
| 298 | See :oe_git:`meta/conf/machine/include/riscv/README | ||
| 299 | </openembedded-core/tree/meta/conf/machine/include/riscv/README>` for more | ||
| 300 | information. | ||
| 301 | |||
| 302 | - ``arch-mips.inc``: Use ``-EB``/``-EL`` for denoting Endianness. | ||
| 303 | |||
| 304 | - Enable ``riscv32`` as supported arch for ``musl`` systems. | ||
| 305 | |||
| 306 | - Powerpc: Use ``-maltivec`` in compiler flags if ``altivec`` is in | ||
| 307 | :term:`TUNE_FEATURES`. | ||
| 308 | |||
| 29 | - QEMU / ``runqemu`` changes: | 309 | - QEMU / ``runqemu`` changes: |
| 30 | 310 | ||
| 311 | - Refactor :ref:`ref-classes-qemu` functions into library functions (in | ||
| 312 | :oe_git:`lib/oe/qemu.py </openembedded-core/tree/meta/lib/oe/qemu.py>`). | ||
| 313 | |||
| 31 | - Documentation changes: | 314 | - Documentation changes: |
| 32 | 315 | ||
| 316 | - Part of :term:`BitBake` internals are now documented at | ||
| 317 | :yocto_docs:`/bitbake/bitbake-user-manual/bitbake-user-manual-library-functions.html`. | ||
| 318 | |||
| 319 | - A new :doc:`/dev-manual/limiting-resources` guide was created to help | ||
| 320 | users limit the host resources used by the :term:`OpenEmbedded Build | ||
| 321 | System`. | ||
| 322 | |||
| 323 | - Core library changes: | ||
| 324 | |||
| 325 | - Add :oe_git:`license_finder.py </openembedded-core/tree/meta/lib/oe/license_finder.py>`, | ||
| 326 | which was extracted from ``recipetool`` to be shared for multiple users. | ||
| 327 | Improve its functionalities. | ||
| 328 | |||
| 33 | - Go changes: | 329 | - Go changes: |
| 34 | 330 | ||
| 35 | - Rust changes: | 331 | - Rust changes: |
| 36 | 332 | ||
| 333 | - ``rust-llvm``: | ||
| 334 | |||
| 335 | - Compile LLVM to use dynamic libraries. This reduces the | ||
| 336 | size of ``llvm-rust`` to about a third. | ||
| 337 | |||
| 338 | - Disable the following feature through configuration | ||
| 339 | (:ref:`ref-tasks-configure`): libedit, benchmarks. | ||
| 340 | |||
| 37 | - Wic Image Creator changes: | 341 | - Wic Image Creator changes: |
| 38 | 342 | ||
| 343 | - After a Python upgrade, WIC plugins containing dashes (``-``) for their | ||
| 344 | filenames are **no longer supported**. One must convert the dashed to | ||
| 345 | underscores (``_``) and update users of the plugins accordingly. | ||
| 346 | |||
| 347 | See the :ref:`migration-guides/migration-5.3:Wic plugins containing dashes | ||
| 348 | should be renamed` section of the Yocto Project 5.3 Migration Guide for | ||
| 349 | more information. | ||
| 350 | |||
| 351 | - ``wic``: do not ignore :term:`IMAGE_ROOTFS_SIZE` if the Rootfs is | ||
| 352 | modified. | ||
| 353 | |||
| 354 | - Several improvements in WIC selftests. | ||
| 355 | |||
| 356 | - ``bootimg_efi.py``: fail build if no binaries are installed. | ||
| 357 | |||
| 358 | - Add new options to the ``wic`` ``ls``, ``cp``, ``rm``, and ``write`` | ||
| 359 | commands: | ||
| 360 | |||
| 361 | - ``--image-name``: name of the image to use the artifacts from. | ||
| 362 | - ``--vars``: directory with ``<image>.env`` files that store | ||
| 363 | :term:`BitBake` variables. This directory is usually found in | ||
| 364 | :term:`STAGING_DIR`. | ||
| 365 | |||
| 39 | - SDK-related changes: | 366 | - SDK-related changes: |
| 40 | 367 | ||
| 368 | - Include additional information about Meson setting in the SDK environment | ||
| 369 | setup script (host system, CPU family, etc.). | ||
| 370 | |||
| 41 | - Testing-related changes: | 371 | - Testing-related changes: |
| 42 | 372 | ||
| 373 | - ``bitbake/tests/fetch``: Add tests for ``gitsm`` with git-lfs. | ||
| 374 | |||
| 375 | - ``bitbake/lib/bb/tests/fetch``: add a test case to ensure Git shallow | ||
| 376 | fetch works for tag containing slashes. | ||
| 377 | |||
| 378 | - OEQA: | ||
| 379 | |||
| 380 | - SDK: | ||
| 381 | |||
| 382 | - Add a test to sanity check that the generated SDK manifest was | ||
| 383 | parsed correctly and isn't empty. | ||
| 384 | |||
| 385 | - Add a test to verify the manifests are generated correctly. | ||
| 386 | |||
| 387 | - Add helpers to check for and install packages. | ||
| 388 | |||
| 389 | - Add check that meson has detected the target correctly. | ||
| 390 | |||
| 391 | - Simplify test specification and discovery: | ||
| 392 | |||
| 393 | - Introduce the ``TESTSDK_CASE_DIRS`` variable to specify test | ||
| 394 | directory types, replacing the need to modify the ``default_cases`` | ||
| 395 | class member. | ||
| 396 | |||
| 397 | - Discover tests from configured layers using a common discovery | ||
| 398 | pattern (``<LAYER_DIR>/lib/oeqa/<dirname>/cases``) where | ||
| 399 | ``<dirname>`` is specified in ``TESTSDK_CASE_DIRS``. | ||
| 400 | |||
| 401 | - The "buildtools" directories were renamed to follow the common | ||
| 402 | discovery pattern (``<LAYER_DIR>/lib/oeqa/<dirname>/cases``) for | ||
| 403 | consistency across all SDK configurations. | ||
| 404 | |||
| 405 | - ``selftest/reproducible``: Limit memory used by ``diffoscope`` to avoid | ||
| 406 | triggering OOM kills. | ||
| 407 | |||
| 408 | - Add tests for the :ref:`ref-classes-devicetree` class. | ||
| 409 | |||
| 410 | - Tests for the :ref:`ref-classes-kernel-fit-image` class have been | ||
| 411 | reworked and improved. | ||
| 412 | |||
| 413 | - ``data.py``: add ``skipIfNotBuildArch`` decorator, to skip tests if | ||
| 414 | :term:`BUILD_ARCH` is not in present in the specified tuple. | ||
| 415 | |||
| 416 | - ``selftest``: add new test for toolchain switching. | ||
| 417 | |||
| 418 | - ``utils/command``: add a fast-path ``get_bb_var()`` that uses | ||
| 419 | ``bitbake-getvar`` instead of ``bitbake -e`` when there is not | ||
| 420 | ``postconfig`` argument passed. | ||
| 421 | |||
| 422 | - ``core/case``: add file exists assertion test case. | ||
| 423 | |||
| 424 | - ``context.py``: use :term:`TEST_SUITES` if set. | ||
| 425 | |||
| 426 | - :ref:`ref-classes-testexport`: capture all tests and data from all layers | ||
| 427 | (instead of the :term:`OpenEmbedded-Core (OE-Core)` layer only). | ||
| 428 | |||
| 43 | - Utility script changes: | 429 | - Utility script changes: |
| 44 | 430 | ||
| 45 | - BitBake changes: | 431 | - ``sstate-cache-management``: add a ``--dry-run`` argument |
| 432 | |||
| 433 | - ``yocto-check-layer``: | ||
| 434 | |||
| 435 | - Expect success for ``test_patches_upstream_status``. This means that | ||
| 436 | patch files *must* include an ``Upstream-Status`` to pass with this | ||
| 437 | script. | ||
| 438 | |||
| 439 | - :ref:`ref-classes-yocto-check-layer` class: | ||
| 440 | |||
| 441 | - Refactor to be extended easily. | ||
| 442 | |||
| 443 | - Add a ``check_network_flag`` test that checks that no tasks other | ||
| 444 | than :ref:`ref-tasks-fetch` can access the network. | ||
| 445 | |||
| 446 | - ``send-error-report``: | ||
| 447 | |||
| 448 | - Respect URL scheme in server name if it exists. | ||
| 449 | |||
| 450 | - Drop ``--no-ssl`` as the server URL specifies it with ``http://`` or | ||
| 451 | ``https://``. | ||
| 452 | |||
| 453 | - ``buildstats.py``: | ||
| 454 | |||
| 455 | - Extend disk stats support for NVMe and flexible token count. | ||
| 456 | |||
| 457 | - Add tracking of network I/O per interface. | ||
| 458 | |||
| 459 | - ``buildstats-diff``: find last two Buildstats files if none are specified. | ||
| 460 | |||
| 461 | - ``pybootchartgui``: visualize ``/proc/net/dev`` network stats in graphs. | ||
| 46 | 462 | ||
| 47 | - Packaging changes: | 463 | - Packaging changes: |
| 48 | 464 | ||
| 465 | - Export ``debugsources`` in :term:`PKGDESTWORK` as JSON. The source | ||
| 466 | information used during packaging can be use from other tasks to have more | ||
| 467 | detailed information on the files used during the compilation and improve | ||
| 468 | SPDX accuracy. | ||
| 469 | |||
| 49 | - LLVM related changes: | 470 | - LLVM related changes: |
| 50 | 471 | ||
| 472 | - Like ``gcc-source``, the LLVM project sources are part of ``work-shared`` | ||
| 473 | under :term:`TMPDIR`. The project codebase is large and sharing it offers | ||
| 474 | performance improvements. | ||
| 475 | |||
| 51 | - SPDX-related changes: | 476 | - SPDX-related changes: |
| 52 | 477 | ||
| 53 | - ``devtool`` changes: | 478 | - ``spdx30``: Provide ``software_packageUrl`` field |
| 54 | 479 | ||
| 55 | - Patchtest-related changes: | 480 | - ``spdx30_tasks``: Change recipe license to "declared" (instead of |
| 481 | "concluded") | ||
| 482 | |||
| 483 | - ``create-spdx-2.2``: support to override the version of a package in SPDX | ||
| 484 | 2 through :term:`SPDX_PACKAGE_VERSION`. | ||
| 485 | |||
| 486 | - ``devtool`` and ``recipetool`` changes: | ||
| 487 | |||
| 488 | - Use ``lib/oe/license_finder`` to extract the license from source code. | ||
| 489 | |||
| 490 | - Calculate source paths relative to :term:`UNPACKDIR`. | ||
| 56 | 491 | ||
| 57 | - :ref:`ref-classes-insane` class related changes: | 492 | - Allow ``recipe create`` handlers to specify bitbake tasks to run. |
| 493 | |||
| 494 | - ``create_go``: Use :ref:`ref-classes-go-mod` class instead of | ||
| 495 | :ref:`ref-classes-go-vendor`. | ||
| 496 | |||
| 497 | - Go recipes are now generated with help of the new | ||
| 498 | :ref:`ref-classes-go-mod-update-modules` class. | ||
| 499 | |||
| 500 | - Add a new :oe_git:`improve_kernel_cve_report.py | ||
| 501 | </openembedded-core/tree/meta/scripts/contrib/improve_kernel_cve_report.py>` | ||
| 502 | script in ``scripts/contrib`` for post-processing of kernel CVE data. | ||
| 503 | |||
| 504 | - Handle workspaces for multiconfig. | ||
| 505 | |||
| 506 | - Patchtest-related changes: | ||
| 58 | 507 | ||
| 59 | - Security changes: | 508 | - Security changes: |
| 60 | 509 | ||
| 510 | - ``openssl``: add FIPS support. This can be enabled through the ``fips`` | ||
| 511 | :term:`PACKAGECONFIG`. | ||
| 512 | |||
| 61 | - :ref:`ref-classes-cve-check` changes: | 513 | - :ref:`ref-classes-cve-check` changes: |
| 62 | 514 | ||
| 63 | - New :term:`PACKAGECONFIG` options for individual recipes: | 515 | - New :term:`PACKAGECONFIG` options for individual recipes: |
| 64 | 516 | ||
| 517 | - ``ppp``: ``l2tp``, ``pptp`` | ||
| 518 | - ``dropbear``: ``x11`` (renamed from ``enable-x11-forwarding``) | ||
| 519 | - ``gdb``: ``source-highlight`` | ||
| 520 | - ``gstreamer1.0-plugins-bad``: ``analytics`` | ||
| 521 | - ``mtd-utils``: ``ubihealthd-service`` | ||
| 522 | - ``openssl``: ``fips`` | ||
| 523 | - ``qemu``: ``sdl-image``, ``pixman`` | ||
| 524 | - ``wget``: ``pcre2`` | ||
| 525 | - ``mesa``: ``asahi``, ``amd``, ``svga``, ``teflon``, ``nouveau`` | ||
| 526 | |||
| 65 | - Systemd related changes: | 527 | - Systemd related changes: |
| 66 | 528 | ||
| 529 | - Enable getty generator by default by adding ``serial-getty-generator`` to | ||
| 530 | :term:`PACKAGECONFIG`. | ||
| 531 | |||
| 67 | - :ref:`ref-classes-sanity` class changes: | 532 | - :ref:`ref-classes-sanity` class changes: |
| 68 | 533 | ||
| 534 | - :ref:`ref-classes-insane`: Move test for invalid :term:`PACKAGECONFIG` to | ||
| 535 | :ref:`ref-tasks-recipe-qa`. | ||
| 536 | |||
| 537 | - Add ``unimplemented-ptest`` detection for cargo-based tests, allowing to | ||
| 538 | detect when a cargo package has available tests that could be enable with | ||
| 539 | :doc:`Ptest </test-manual/ptest>`. | ||
| 540 | |||
| 541 | - Add a test for recipe naming/class mismatches. | ||
| 542 | |||
| 543 | - Add a sanity test for "bad" gcc installs on Ubuntu 24.04. The host should | ||
| 544 | install ``libstdc++-14-dev`` instead of ``libgcc-14-dev`` to avoid build | ||
| 545 | issues when building :ref:`ref-classes-native` with Clang. | ||
| 546 | |||
| 547 | - U-boot related changes: | ||
| 548 | |||
| 549 | - :ref:`ref-classes-uboot-sign`: Add support for setting firmware property | ||
| 550 | in FIT configuration with :term:`UBOOT_FIT_CONF_FIRMWARE`. | ||
| 551 | |||
| 552 | - :ref:`ref-classes-uboot-sign`: Add support for signing U-Boot FIT image | ||
| 553 | without an SPL. The :term:`SPL_DTB_BINARY` variable can be set to an empty | ||
| 554 | string to indicate that no SPL is present. | ||
| 555 | |||
| 556 | - When built for the RISC-V architecture, read the :term:`TUNE_FEATURES` | ||
| 557 | variable to automatically set U-boot configuration options (for example | ||
| 558 | ``CONFIG_RISCV_ISA_F``). | ||
| 559 | |||
| 69 | - Miscellaneous changes: | 560 | - Miscellaneous changes: |
| 70 | 561 | ||
| 562 | - ``dropbear``: The ``dropbearkey.service`` can now take extra arguments for | ||
| 563 | key generation, through ``/etc/default/dropbear``. | ||
| 564 | |||
| 565 | - ``initscripts``: add ``log_success_msg``/``log_failure_msg``/``log_warning_msg`` | ||
| 566 | functions for logging in initscripts. | ||
| 567 | |||
| 568 | - ``connman``: | ||
| 569 | |||
| 570 | - Mark ``iptables`` and ``nftables`` feature of :term:`PACKAGECONFIG` | ||
| 571 | mutually incompatible. | ||
| 572 | |||
| 573 | - Set ``dns-backend`` automatically to ``systemd-resolved`` | ||
| 574 | when ``systemd-resolved`` is part of :term:`DISTRO_FEATURES`. | ||
| 575 | |||
| 576 | - ``uninative``: show errors if installing fails. | ||
| 577 | |||
| 578 | - ``meson``: Allow user to override setup command options by exporting | ||
| 579 | ``MESON_SETUP_OPTS`` in a recipe. | ||
| 580 | |||
| 581 | - :ref:`ref-classes-cmake`: Enhance to emit a native toolchain CMake file. | ||
| 582 | This is part of improvements allowing to use ``clang`` in an SDK. | ||
| 583 | |||
| 584 | - Fix the runtime version of several recipes (they now return the effective | ||
| 585 | version instead of a default string like "Unknown"). | ||
| 586 | |||
| 587 | - :ref:`ref-classes-module`: add ``KBUILD_EXTRA_SYMBOLS`` to the install | ||
| 588 | command. | ||
| 589 | |||
| 590 | - ``rpm-sequoia``: add :doc:`Ptest </test-manual/ptest>` support. | ||
| 591 | |||
| 592 | - ``libunwind``: disable installation of tests directory with | ||
| 593 | ``--disable-tests``, which can be installed with the ``libunwind-ptest`` | ||
| 594 | package instead. | ||
| 595 | |||
| 596 | - ``boost``: add ``process`` library to the list of built libraries. | ||
| 597 | |||
| 598 | - ``base-files``: add ``nsswitch-resolved.conf``, only installed if | ||
| 599 | ``systemd`` and ``systemd-resolved`` is part of :term:`DISTRO_FEATURES`. | ||
| 600 | |||
| 601 | - ``nfs-utils``: don't use signals to shut down the NFS server in the | ||
| 602 | associated initscript, instead use ``rpc.nfsd 0``. | ||
| 603 | |||
| 604 | - ``readline``: enable HOME, END, INSERT, and DELETE key bindings in | ||
| 605 | ``inputrc``. | ||
| 606 | |||
| 607 | - Switch to a new :ref:`sstate-cache <overview-manual/concepts:shared state | ||
| 608 | cache>` CDN (http://sstate.yoctoproject.org). | ||
| 609 | |||
| 610 | - :ref:`ref-classes-sstate`: Apply a proper :manpage:`umask` when fetching | ||
| 611 | from :term:`SSTATE_MIRRORS`. | ||
| 612 | |||
| 613 | - ``kernel-devsrc``: make package version consistent with kernel source (by | ||
| 614 | inheriting :ref:`ref-classes-kernelsrc`). | ||
| 615 | |||
| 616 | - :ref:`ref-classes-externalsrc`: Always ask Git for location of ``.git`` | ||
| 617 | directory (may be different from the default ``${S}/.git``). | ||
| 618 | |||
| 619 | - :ref:`ref-classes-features_check`: Add support for required | ||
| 620 | :term:`TUNE_FEATURES`. | ||
| 621 | |||
| 622 | - ``openssh``: limit read access to ``sshd_config`` file (set its filemode | ||
| 623 | to ``0600``). | ||
| 624 | |||
| 71 | Known Issues in |yocto-ver| | 625 | Known Issues in |yocto-ver| |
| 72 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 626 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 73 | 627 | ||
