diff options
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 | ||