blob: cf413300c2d5d919d8ae95cfb4f53b8d0262a56e [file] [log] [blame]
Patrick Williams03514f12024-04-05 07:04:11 -05001.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
2
3Release 5.0 LTS (scarthgap)
4===========================
5
6Migration notes for 5.0 (scarthgap)
7------------------------------------
8
9This section provides migration information for moving to the Yocto
10Project 5.0 Release (codename "scarthgap") from the prior release.
11
12To migrate from an earlier LTS release, you **also** need to check all
13the previous migration notes from your release to this new one:
14
15- :doc:`/migration-guides/migration-4.3`
16- :doc:`/migration-guides/migration-4.2`
17- :doc:`/migration-guides/migration-4.1`
18- :doc:`/migration-guides/migration-4.0`
19- :doc:`/migration-guides/migration-3.4`
20- :doc:`/migration-guides/migration-3.3`
21- :doc:`/migration-guides/migration-3.2`
22
23.. _migration-5.0-supported-kernel-versions:
24
25Supported kernel versions
26~~~~~~~~~~~~~~~~~~~~~~~~~
27
28The :term:`OLDEST_KERNEL` setting is still "5.15" in this release, meaning that
29out the box, older kernels are not supported. See :ref:`4.3 migration notes
30<migration-4.3-supported-kernel-versions>` for details.
31
32.. _migration-5.0-supported-distributions:
33
34Supported distributions
35~~~~~~~~~~~~~~~~~~~~~~~
36
37Compared to the previous releases, running BitBake is supported on new
38GNU/Linux distributions:
39
40- Rocky 9
41
42On the other hand, some earlier distributions are no longer supported:
43
44- Fedora 37
45- Ubuntu 22.10
46- OpenSUSE Leap 15.3
47
48See :ref:`all supported distributions <system-requirements-supported-distros>`.
49
50.. _migration-5.0-go-changes:
51
52Go language changes
53~~~~~~~~~~~~~~~~~~~
54
Patrick Williams44b3caf2024-04-12 16:51:14 -050055The ``linkmode`` flag was dropped from ``GO_LDFLAGS`` for ``nativesdk`` and
56``cross-canadian``. Also, dynamic linking was disabled for the whole set of
57(previously) supported architectures in the ``goarch`` class.
58
Patrick Williams03514f12024-04-05 07:04:11 -050059.. _migration-5.0-systemd-changes:
60
61systemd changes
62~~~~~~~~~~~~~~~
63
Patrick Williams44b3caf2024-04-12 16:51:14 -050064Systemd's nss-resolve plugin is now supported and can be added via the
65``nss-resolve`` :term:`PACKAGECONFIG` option , which is from now on required
66(along with ``resolved``) by the ``systemd-resolved`` feature. Related to that
67(i.e., Systemd's network name resolution), an option to use ``stub-resolv.conf``
68was added as well.
69
Patrick Williams03514f12024-04-05 07:04:11 -050070.. _migration-5.0-recipe-changes:
71
72Recipe changes
73~~~~~~~~~~~~~~
74
75- Runtime testing of ptest now fails if no test results are returned by
76 any given ptest.
77
78.. _migration-5.0-deprecated-variables:
79
80Deprecated variables
81~~~~~~~~~~~~~~~~~~~~
82
Patrick Williams2f814a62024-04-16 16:28:03 -050083- ``CVE_CHECK_IGNORE`` should be replaced with :term:`CVE_STATUS`
84
Patrick Williams03514f12024-04-05 07:04:11 -050085
86.. _migration-5.0-removed-variables:
87
88Removed variables
89~~~~~~~~~~~~~~~~~
90
91The following variables have been removed:
92
Patrick Williams2f814a62024-04-16 16:28:03 -050093- ``DEPLOY_DIR_TAR``: no longer needed since the package_tar class was removed in 4.2.
94- ``PYTHON_PN``: Python 2 has previously been removed, leaving Python 3 as the sole
95 major version. Therefore, this abstraction to differentiate both versions is
Patrick Williams44b3caf2024-04-12 16:51:14 -050096 no longer needed.
Patrick Williams2f814a62024-04-16 16:28:03 -050097- ``oldincludedir``
Patrick Williams44b3caf2024-04-12 16:51:14 -050098- ``USE_L10N``: previously deprecated, and now removed.
Patrick Williams2f814a62024-04-16 16:28:03 -050099- ``CVE_SOCKET_TIMEOUT``
100- ``SERIAL_CONSOLES_CHECK`` - use :term:`SERIAL_CONSOLES` instead as all consoles specified in the latter are checked for their existence before a ``getty`` is started.
Patrick Williams44b3caf2024-04-12 16:51:14 -0500101
Patrick Williams03514f12024-04-05 07:04:11 -0500102.. _migration-5.0-removed-recipes:
103
104Removed recipes
105~~~~~~~~~~~~~~~
106
107The following recipes have been removed in this release:
108
Patrick Williams44b3caf2024-04-12 16:51:14 -0500109- ``libcroco``: deprecated and archived by the Gnome Project.
Patrick Williams2f814a62024-04-16 16:28:03 -0500110- ``liberror-perl``: unmaintained and no longer needed - moved to meta-perl.
Patrick Williams44b3caf2024-04-12 16:51:14 -0500111- ``linux-yocto``: version 6.1 (version 6.6 provided instead).
Patrick Williams44b3caf2024-04-12 16:51:14 -0500112- ``systemtap-uprobes``: obsolete.
Patrick Williams2f814a62024-04-16 16:28:03 -0500113- ``zvariant``: fails to build with newer Rust.
Patrick Williams44b3caf2024-04-12 16:51:14 -0500114
Patrick Williams03514f12024-04-05 07:04:11 -0500115.. _migration-5.0-removed-classes:
116
117Removed classes
118~~~~~~~~~~~~~~~
119
Patrick Williams44b3caf2024-04-12 16:51:14 -0500120No classes have been removed in this release.
Patrick Williams03514f12024-04-05 07:04:11 -0500121
122.. _migration-5.0-qemu-changes:
123
124QEMU changes
125~~~~~~~~~~~~
126
Patrick Williams44b3caf2024-04-12 16:51:14 -0500127In ``tune-core2``, the cpu models ``n270`` and ``core2duo`` are no longer
128passed to QEMU, since its documentation recommends not using them with ``-cpu``
129option. Therefore, from now on, ``Nehalem`` model is used instead.
130
Patrick Williams2f814a62024-04-16 16:28:03 -0500131
132ipk packaging changes
133~~~~~~~~~~~~~~~~~~~~~
134
135ipk packaging (using ``opkg``) now uses ``zstd`` compression instead of ``xz``
136for better compression and performance. This does mean that ``.ipk`` packages
137built using the 5.0 release requires Opkg built with zstd enabled --- naturally
138this is the case in 5.0, but at least by default these packages will not be
139usable on older systems where Opkg does not have zstd enabled at build time.
140
141Additionally, the internal dependency solver in Opkg is now deprecated --- it
142is still available in this release but will trigger a warning if selected.
143The default has been the external ``libsolv`` solver for some time, but if you
144have explicitly removed that from :term:`PACKAGECONFIG` for Opkg to
145select the internal solver, you should plan to switch to ``libsolv`` in the
146near future (by including ``libsolv`` your custom :term:`PACKAGECONFIG` value
147for Opkg, or reverting to the default value).
148
149
150motd message when using ``DISTRO = "poky"``
151~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
152
153The default ``poky`` :term:`DISTRO` is explicitly a *reference* distribution
154for testing and development purposes. It enables most hardware and software
155features so that they can be tested, but this also means that
156from a security point of view the attack surface is very large.
157
158We encourage anyone using the Yocto Project for production use to create
159their own distribution and not use Poky. To encourage this behaviour
160further, in 5.0 a warning has been added to ``/etc/motd`` when Poky is used
161so that the developer will see it when they log in. If you are creating your
162own distribution this message will not show up.
163
164For information on how to create your own distribution, see
165":ref:`dev-manual/custom-distribution:creating your own distribution`".
166
Patrick Williams03514f12024-04-05 07:04:11 -0500167.. _migration-5.0-misc-changes:
168
169Miscellaneous changes
170~~~~~~~~~~~~~~~~~~~~~
171
Patrick Williams2f814a62024-04-16 16:28:03 -0500172- ``bitbake-whatchanged`` script was removed as it was broken and unmaintained.
173
174- ``scripts/sstate-cache-management.sh`` has been replaced by
175 ``scripts/sstate-cache-management.py``, a more performant Python-based version.
176
177- The ``bmap-tools`` recipe has been renamed to ``bmaptool``.
178
179- ``gpgme`` has had Python binding support disabled since upstream does not
180 support Python 3.12 yet. This will be fixed in future once it is fixed upstream.)
181
182- A warning will now be shown if the ``virtual/`` prefix is used in runtime
183 contexts (:term:`RDEPENDS` / :term:`RPROVIDES`) ---
184 See :ref:`virtual-slash <qa-check-virtual-slash>` for details.
185
186- ``recipetool`` now prefixes the names of recipes created for Python modules
187 with ``python3-``.
188
189- The :ref:`ref-classes-cve-check` class no longer produces a warning for
190 remote patches --- it only logs a note and does not try to fetch the patch
191 in order to scan it for issues or CVE numbers. However, CVE number
192 references in remote patch file names will now be picked up.
193
194- The values of :term:`PE` and :term:`PR` have been dropped from
195 ``-f{file,macro,debug}-prefix-map``, in order to avoid unnecessary churn
196 in debugging symbol paths when the version is bumped. This is unlikely to
197 cause issues, but if you are paying attention to the debugging source path
198 (e.g. in recipes that need to manipulate these files during packaging) then
199 you will notice the difference. A new :term:`TARGET_DBGSRC_DIR` variable is
200 provided to make this easier.
201
Patrick Williams44b3caf2024-04-12 16:51:14 -0500202- ``ccache`` no longer supports FORTRAN.