summaryrefslogtreecommitdiffstats
path: root/documentation/migration-guides
diff options
context:
space:
mode:
authorAntonin Godard <antonin.godard@bootlin.com>2024-12-20 13:16:41 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-12-28 10:57:47 +0000
commit9b3b7bc4cd743a3b51a19978147d3b7b7d57cc33 (patch)
tree17fd4efe6a48d1760487a5959901f0f729dfc900 /documentation/migration-guides
parent4e49c8bfa572f7136fde238ec04d8c4b7c57feec (diff)
downloadpoky-9b3b7bc4cd743a3b51a19978147d3b7b7d57cc33.tar.gz
migration-guides: update the release notes for 5.2
Update the release note and migration guide for the 5.2 release. This release is not due until April 2025, but this catches up what has already been applied since 5.1. Precisely, this tracks the important changes between commits 8149e74258 and 87d7341465 in poky. (From yocto-docs rev: a51a94f0b228d570d915dff36a49132e90e93cf1) 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.2.rst56
-rw-r--r--documentation/migration-guides/release-notes-5.2.rst345
2 files changed, 399 insertions, 2 deletions
diff --git a/documentation/migration-guides/migration-5.2.rst b/documentation/migration-guides/migration-5.2.rst
index 7b35e7721f..cb70e19da0 100644
--- a/documentation/migration-guides/migration-5.2.rst
+++ b/documentation/migration-guides/migration-5.2.rst
@@ -14,6 +14,28 @@ Migration notes for |yocto-ver| (|yocto-codename|)
14This section provides migration information for moving to the Yocto 14This section provides migration information for moving to the Yocto
15Project |yocto-ver| Release (codename "|yocto-codename|") from the prior release. 15Project |yocto-ver| Release (codename "|yocto-codename|") from the prior release.
16 16
17``debug-tweaks`` removed from :term:`IMAGE_FEATURES`
18~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19
20The ``debug-tweaks`` image feature is now removed because it was too vague about
21what it achieved: an image on which the ``root`` user can login without a
22password.
23
24To achieve the same result, the features previously added by ``debug-tweaks``
25should be manually added to the :term:`IMAGE_FEATURES` variable. These are:
26
27- ``allow-empty-password``
28- ``allow-root-login``
29- ``empty-root-password``
30- ``post-install-logging``
31
32Such a statement would be::
33
34 IMAGE_FEATURES += "allow-empty-password allow-root-login empty-root-password post-install-logging"
35
36See the list of available image features in the :ref:`ref-features-image`
37section of the Yocto Project Reference Manual.
38
17Supported kernel versions 39Supported kernel versions
18~~~~~~~~~~~~~~~~~~~~~~~~~ 40~~~~~~~~~~~~~~~~~~~~~~~~~
19 41
@@ -34,9 +56,24 @@ See :ref:`all supported distributions <system-requirements-supported-distros>`.
34Go language changes 56Go language changes
35~~~~~~~~~~~~~~~~~~~ 57~~~~~~~~~~~~~~~~~~~
36 58
59Rust language changes
60~~~~~~~~~~~~~~~~~~~~~
61
62- Recipes inheriting the :ref:`ref-classes-cargo` do not install libraries by
63 default anymore. This behavior can be controlled by the
64 :term:`CARGO_INSTALL_LIBRARIES` variable.
65
37systemd changes 66systemd changes
38~~~~~~~~~~~~~~~ 67~~~~~~~~~~~~~~~
39 68
69- Support for ``split-usr`` and ``unmerged-usr`` are now removed after Systemd
70 was updated to version 255. This option allowed installing Systemd in a
71 system where directories such as ``/lib``, ``/sbin`` or ``/bin`` are *not*
72 merged into ``/usr``.
73
74 As a consequence, the ``systemd`` recipe no longer contains the ``usrmerge``
75 :term:`PACKAGECONFIG` option as it is now implied by default.
76
40Recipe changes 77Recipe changes
41~~~~~~~~~~~~~~ 78~~~~~~~~~~~~~~
42 79
@@ -45,16 +82,35 @@ Removed variables
45 82
46The following variables have been removed: 83The following variables have been removed:
47 84
85- ``PACKAGE_SNAP_LIB_SYMLINKS``: related to an unmaintained and obsolete
86 "micro" :term:`distro <DISTRO>`.
87
88- ``SETUPTOOLS_INSTALL_ARGS``: obsolete and unused variable.
89
90- ``BB_DANGLINGAPPENDS_WARNONLY``: support for only warning the user when a
91 ``.bbappend`` file doesn't apply to the original recipe has been dropped. See
92 the :ref:`dev-manual/layers:Appending Other Layers Metadata With Your Layer`
93 section of the Yocto Project Development Tasks Manual for alternatives to
94 this variable.
95
48Removed recipes 96Removed recipes
49~~~~~~~~~~~~~~~ 97~~~~~~~~~~~~~~~
50 98
51The following recipes have been removed in this release: 99The following recipes have been removed in this release:
52 100
101- ``liburi-perl``: moved to :oe_git:`meta-perl </meta-openembedded/tree/meta-perl>`.
102- ``python3-isodate``: moved to :oe_git:`meta-python </meta-openembedded/tree/meta-python>`.
103- ``python3-iniparse``: removed as there are no consumers of this recipe in
104 :oe_git:`openembedded-core </openembedded-core>` or :oe_git:`meta-openembedded </meta-openembedded>`.
105
53Removed classes 106Removed classes
54~~~~~~~~~~~~~~~ 107~~~~~~~~~~~~~~~
55 108
56The following classes have been removed in this release: 109The following classes have been removed in this release:
57 110
111- ``migrate_localcount.bbclass``: obsolete class for which code was already
112 removed in 2012.
113
58Miscellaneous changes 114Miscellaneous changes
59~~~~~~~~~~~~~~~~~~~~~ 115~~~~~~~~~~~~~~~~~~~~~
60 116
diff --git a/documentation/migration-guides/release-notes-5.2.rst b/documentation/migration-guides/release-notes-5.2.rst
index d03ed7a3b0..0eef448330 100644
--- a/documentation/migration-guides/release-notes-5.2.rst
+++ b/documentation/migration-guides/release-notes-5.2.rst
@@ -14,36 +14,377 @@ New Features / Enhancements in |yocto-ver|
14 14
15- New variables: 15- New variables:
16 16
17 - ``linux-firmware``: Add the :term:`FIRMWARE_COMPRESSION` variable which
18 allows compression the firmwares provided by the ``linux-firmware`` recipe.
19 Possible values are ``xz`` and ``zst``.
20
17- Kernel-related changes: 21- Kernel-related changes:
18 22
23 - :ref:`ref-classes-cml1`: in :ref:`ref-tasks-diffconfig`, do not override
24 ``.config`` with ``.config.orig``. This applies to other recipes using the
25 class :ref:`ref-classes-cml1`.
26
27 - ``linux-firmware``: add following new firmware packages:
28
29 - ``qcom-qcm6490-audio``
30 - ``qcom-qcm6490-compute``
31 - ``qcom-adreno-a663``
32 - ``qcom-qcm6490-adreno``
33 - ``qcom-sa8775p-adreno``
34 - ``qcom-qcm6490-ipa``
35 - ``qcom-x1e80100-audio``
36 - ``qcom-qcs615-adreno``
37
38 - The :ref:`ref-classes-kernel-yocto` classes now supports in-tree
39 configuration fragments. These can be added with the
40 :term:`KERNEL_FEATURES` variable.
41
42 - The ``kern-tools`` recipe is now able to recognize files ending with
43 ``.config`` for :ref:`ref-classes-kernel-yocto`-based Kernel recipes.
44
45 - Support the LZMA compression algorithm in the
46 :ref:`ref-classes-kernel-uboot` class. This can be done by setting the
47 variable :term:`FIT_KERNEL_COMP_ALG` to ``lzma``.
48
19- New core recipes: 49- New core recipes:
20 50
51 - ``python3-pefile``: required for the :ref:`ref-classes-uki` class.
52
53 - Add initial support for the `Barebox <https://www.barebox.org>`__
54 bootloader, along with associated OEQA test cases.
55
56 - Import ``makedumpfile`` from meta-openembedded, as the ``kexec-tools``
57 recipe :term:`RDEPENDS` on it.
58
59 - The ``tcl-8`` recipe was added back to support the build of ``expect``.
60
61 - Add the ``libdisplay-info`` recipe, an EDID and DisplayID library,
62 required for Weston 14.0.1 and newer.
63
64 - The ``hwdata`` recipe was imported from :oe_git:`meta-openembedded
65 </meta-openembedded>`, a recipe for hardware identification and
66 configuration data, needed by ``libdisplay-info``.
67
68- New core classes:
69
70 - New :ref:`ref-classes-uki` class for building Unified Kernel Images (UKI).
71 Associated OEQA tests were also added for this class.
72
73 - New :ref:`ref-classes-cython` class for python recipes that require Cython
74 for their compilation. Existing recipes depending on Cython now inherit
75 this class. This class also strips potential build paths in the compilation
76 output for reproducibility.
77
78- Architecture-specific changes:
79
80 - ``tune-cortexa32``: set tune feature to ``armv8a``.
81
21- QEMU / ``runqemu`` changes: 82- QEMU / ``runqemu`` changes:
22 83
84- Documentation changes:
85
86 - Use ``rsvg`` as a replacement of ``inkscape`` to convert svg files in the
87 documentation.
88
89 - The ``cve`` role was replaced by ``cve_nist`` to avoid a conflict with
90 more recent version of Sphinx.
91
23- Go changes: 92- Go changes:
24 93
94 - The :ref:`ref-classes-go-mod` class now sets an internal variable
95 ``GO_MOD_CACHE_DIR`` to enable the use of the Go module fetchers for
96 downloading and unpacking module dependencies to the module cache.
97
98 - Make the :ref:`ref-tasks-compile` task run before
99 :ref:`ref-tasks-populate_lic` in the :ref:`ref-classes-go-mod` class so
100 license files are found by :ref:`ref-tasks-populate_lic` after the ``go
101 install`` command is run in :ref:`ref-tasks-compile`.
102
25- Rust changes: 103- Rust changes:
26 104
27- wic Image Creator changes: 105 - ``rust-target-config``: Update the data layout for the *x86-64* target, as
106 it was different in Rust from LLVM, which produced a data layout error.
107
108- Wic Image Creator changes:
109
110 - Allow the ``--exclude-path`` option to exclude symlinks.
111
112 - Add the variable :term:`WIC_SECTOR_SIZE` to control the sector size of Wic
113 images.
28 114
29- SDK-related changes: 115- SDK-related changes:
30 116
117 - Add support for ZST-compression through :term:`SDK_ARCHIVE_TYPE`, by
118 setting its value to ``tar.zst``.
119
120 - The ``debug-tweaks`` features were removed from ``-sdk`` images
121 (``core-image-*-sdk.bb``).
122
123 - Enable ``ipv6``, ``acl``, and ``xattr`` in :term:`DISTRO_FEATURES_NATIVESDK`.
124
31- Testing-related changes: 125- Testing-related changes:
32 126
127 - ``oeqa/postactions``: Fix archive retrieval from target.
128
129 - ``oeqa/selftest/gcc``: Fix kex exchange identification error.
130
131 - ``oeqa/utils/qemurunner``: support ignoring vt100 escape sequences.
132
133 - ``oeqa``: support passing custom boot patterns to runqemu.
134
135 - ``oeqa/selftest/cases``: add basic U-boot and Barebox tests.
136
137 - ``oeqa/selftest/rust``: skip on all MIPS platforms.
138
139 - Lots of changes and improvements to the :term:`Toaster` OEQA tests.
140
141 - ``oeqa/selftest``: add a test for bitbake "-e" and "-getvar" difference.
142
143 - ``oeqa/ssh``: improve performance and log sizes when handling large files.
144
33- Utility script changes: 145- Utility script changes:
34 146
147 - The ``patchreview.py`` script now uses the ``check_upstream_status`` from
148 ``oe.qa`` to get patch statuses.
149
150 - ``resulttool``:
151
152 - Allow store to filter to specific revisions (``--revision`` flag).
153
154 - Use single space indentation in JSON output, to save disk
155 space.
156
157 - Add ``--logfile-archive`` option to store and archive log files
158 separately.
159
160 - Handle LTP raw logs as well as Ptest.
161
162 - ``scripts/yocto-check-layer``:
163
164 - Check for the presence of a ``SECURITY.md`` file in layers and make it
165 mandatory.
166
167 - The :ref:`ref-classes-yocto-check-layer` class now uses
168 :term:`CHECKLAYER_REQUIRED_TESTS` to get the list of QA checks to verify
169 when running the ``yocto-check-layer`` script.
170
35- BitBake changes: 171- BitBake changes:
36 172
173 - ``fetch2``: do not preserve ownership when unpacking.
174
175 - ``fetch2``: switch from Sqlite ``persist_data`` to a standard cache file
176 for checksums, and drop ``persist_data``.
177
178 - ``fetch2``: add support for GitHub codespaces by adding the
179 ``GITHUB_TOKEN`` to the list of variables exported during ``git``
180 invocations.
181
182 - ``fetch2``: set User-Agent to 'bitbake/version' instead of a "fake
183 mozilla" user agent.
184
185 - ``compress``: use ``lz4`` instead of ``lz4c``, as ``lz4c`` as been
186 considered deprecrated since 2018.
187
188 - ``server/process``: decrease idle/main loop frequency, as it is idle and
189 main loops have socket select calls to know when to execute.
190
191 - ``bitbake-worker``: improve bytearray truncation performance when large
192 amounts of data are being transferred from the cooker to the worker.
193
194 - ``bitbake-worker/cooker``: increase the default pipe size from 64KB to
195 512KB for better efficiency when transferring large amounts of data.
196
197 - ``fetch/wget``: increase timeout to 100s from 30s to match CDN worst
198 response time.
199
200 - ``bitbake-getvar``: catch ``NoProvider`` exception to improve error
201 readability when a recipe is not found with ``--recipe``.
202
203 - ``bb/build``: add a function ``bb.build.listtasks()`` to list the tasks in
204 a datastore.
205
206 - Remove custom exception backtrace formatting, and replace occurences of
207 ``bb.exception.format_exception()`` by ``traceback.format_exception()``.
208
209 - ``runqueue``: various performance optimizations including:
210
211 - Fix performance of multiconfigs with large overlap.
212 - Optimise ``setscene`` loop processing by starting where it
213 was left off in the previous execution.
214
215 - ``knotty`` now hints the user if :term:`MACHINE` was not set in
216 the ``local.conf`` file.
217
37- Packaging changes: 218- Packaging changes:
38 219
39- Security changes: 220 - ``systemd``: extract dependencies from ``.note.dlopen`` ELF segments, to
221 better detect dynamically linked libraries at runtime.
222
223 - ``package_rpm``: use ZSTD's default compression level from the variable
224 :term:`ZSTD_COMPRESSION_LEVEL`.
225
226 - ``package_rpm``: restrict RPM packaging to 4 threads to improve
227 the compression speed.
40 228
41- LLVM related changes: 229- LLVM related changes:
42 230
43- SPDX-related changes: 231- SPDX-related changes:
44 232
233 - SPDX 3.0: Find local sources when searching for debug sources.
234
235 - SPDX 3.0: Map ``gitsm`` URIs to ``git``.
236
237 - SPDX 3.0: Link license and build by alias instead of SPDX ID.
238
239 - Fix SPDX tasks not running when code changes (use of ``file-checksums``).
240
241- ``devtool`` changes:
242
243 - Remove the "S = WORKDIR" workaround as now :term:`S` cannot be equal to
244 :term:`WORKDIR`.
245
246- Patchtest-related changes:
247
248 - Refactor pattern definitions in a ``patterns`` module.
249
250 - Refactor and improve the ``mbox`` module.
251
252 - Split out result messages.
253
254 - Add a check for user name tags in patches (for example "fix added by
255 @username").
256
257- :ref:`ref-classes-insane` class related changes:
258
259 - Only parse ELF if they are files and not symlinks.
260
261 - Check for ``RUNPATH`` in addition to ``RPATH`` in binaries.
262
263 - Ensure :ref:`ref-classes-insane` tasks of dependencies run in builds when
264 expected.
265
266- Security changes:
267
268 - The ``PIE`` gcc flag is now passed for the *powerpc* architecture after a
269 bugfix in gcc (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81170).
270
271 - ``openssh``: be more restrictive on private key file permissions by
272 setting them from the :ref:`ref-tasks-install` task.
273
274- :ref:`ref-classes-cve-check` changes:
275
276 - Update the :term:`DL_DIR` database location name
277 (``${DL_DIR}/CVE_CHECK2``).
278
279 - Add the field "modified" to the JSON report (from "NVD-modified").
280
281 - Add support for CVSS v4.0.
282
283 - Fix malformed cve status description with ``:`` characters.
284
285 - Restore the :term:`CVE_CHECK_SHOW_WARNINGS` variable and functionality. It
286 currently prints warning message for every unpatched CVE the
287 :ref:`ref-classes-cve-check` class finds.
288
289- New :term:`PACKAGECONFIG` options for individual recipes:
290
291 - ``perf``: ``zstd``
292 - ``ppp``: ``pam``, ``openssl``
293 - ``libpciaccess``: ``zlib``
294 - ``gdk-pixbuf``: ``gif``, ``others``
295 - ``libpam``: ``selinux``
296 - ``libsecret``: ``pam``
297
45- Miscellaneous changes: 298- Miscellaneous changes:
46 299
300 - ``bluez``: fix mesh build when building with musl.
301
302 - ``systemd-bootchart``: now supports the 32-bit *riscv* architecture.
303
304 - ``systemd-boot``: now supports the *riscv* architecture.
305
306 - ``python3-pip``: the ``pip`` executable is now left and not deleted, and
307 can be used instead of ``pip3`` and ``pip2``.
308
309 - ``tar`` image types are now more reproducible as the :term:`IMAGE_CMD` for
310 ``tar`` now strips ``atime`` and ``ctime`` from the archive content.
311
312 - :term:`SOLIBSDEV` and :term:`SOLIBS` are now defined for the *mingw32*
313 architecture (``.dll``).
314
315 - :ref:`rootfs-postcommands <ref-classes-rootfs*>`: make opkg status reproducible.
316
317 - The default :term:`KERNEL_CONSOLE` value is no longer ``ttyS0`` but the
318 first entry from the :term:`SERIAL_CONSOLES` variable.
319
320 - ``virglrenderer``: add a patch to fix ``-int-conversion`` build issue.
321
322 - ``ffmpeg``: disable asm optimizations for the *x86* architecture as PIC is
323 required and *x86* ASM code is not PIC.
324
325 - ``udev-extraconf``: fix the ``network.sh`` script that did not configure
326 hotplugged interfaces.
327
328 - ``classes-global/license``: move several functions and logic to library
329 code in :oe_git:`meta/lib/oe/license.py </openembedded-core/tree/meta/lib/oe/license.py>`.
330
331 - The recipe ``cairo`` now disables the features ``symbol-lookup``,
332 ``spectre`, and ``tests`` by default.
333
334 - The recipe ``glib-2.0`` now disables the feature ``sysprof`` by default.
335
336 - The recipe ``gstreamer1.0-libav`` now disables the feature ``doc`` by default.
337
338 - ``rxvt-unicode``: change ``virtual/x-terminal-emulator`` from
339 :term:`PROVIDES` to :term:`RPROVIDES` as ``virtual-x-terminal-emulator``.
340 Also make this recipe depend on the ``x11`` distro features with
341 :term:`REQUIRED_DISTRO_FEATURES`.
342
343 - ``rxvt-unicode.inc``: disable the ``terminfo`` installation by setting
344 ``TIC`` to ``:`` in :term:`EXTRA_OECONF`, to avoid host contamination.
345
346 - ``matchbox-terminal``: add ``x-terminal-emulator`` as :term:`RPROVIDES`
347 and set :term:`ALTERNATIVE` for the recipe.
348
349 - ``default-providers.conf``: set ``rxvt-unicode`` as the default
350 ``virtual-x-terminal-emulator`` runtime provider with
351 :term:`PREFERRED_RPROVIDER`.
352
353 - ``systemd``: set better sane time at startup by creating the
354 ``clock-epoch`` file in ``${libdir}`` if the ``set-time-epoch``
355 :term:`PACKAGECONFIG` config is set.
356
357 - ``cve-update-nvd2-native``: updating the database will now result in an
358 error if :term:`BB_NO_NETWORK` is enabled and
359 :term:`CVE_DB_UPDATE_INTERVAL` is not set to ``-1``.
360
361 - ``systemtap``: add ``--with-extra-version="oe"`` configure option to
362 improve the reproducibility of the recipe.
363
364 - ``python3``: package ``tkinter``'s shared objects separately in the
365 ``python3-tkinter`` package.
366
367 - ``init-manager``: set the variable ``VIRTUAL-RUNTIME_dev_manager`` to
368 ``udev`` by default in
369 :oe_git:`meta/conf/distro/include/init-manager-none.inc
370 </openembedded-core/tree/meta/conf/distro/include/init-manager-none.inc>`
371 and :oe_git:`meta/conf/distro/include/init-manager-sysvinit.inc
372 </openembedded-core/tree/meta/conf/distro/include/init-manager-sysvinit.inc>`,
373 instead of :oe_git:`meta/recipes-core/packagegroups/packagegroup-core-boot.bb
374 </openembedded-core/tree/meta/recipes-core/packagegroups/packagegroup-core-boot.bb>`
375 only.
376
377 Likewise, the same is done for ``VIRTUAL-RUNTIME_keymaps`` with
378 ``keymaps`` as its default value.
379
380 - ``seatd``: Create a ``seat`` group and package the systemd service
381 ``seatd.service`` with correct permissions.
382
383 That way, the ``weston`` user in ``weston-init.bb`` was added to the
384 ``seat`` group to be able to properly establish connection between the
385 Weston and the ``seatd`` socket.
386
387
47Known Issues in |yocto-ver| 388Known Issues in |yocto-ver|
48~~~~~~~~~~~~~~~~~~~~~~~~~~~ 389~~~~~~~~~~~~~~~~~~~~~~~~~~~
49 390