diff options
Diffstat (limited to 'documentation/migration-guides/release-notes-5.2.rst')
-rw-r--r-- | documentation/migration-guides/release-notes-5.2.rst | 345 |
1 files changed, 343 insertions, 2 deletions
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 | |||
47 | Known Issues in |yocto-ver| | 388 | Known Issues in |yocto-ver| |
48 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 389 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
49 | 390 | ||