blob: 79cf907708f533520ed1b7cfdb2fd608f5e4b24a [file] [log] [blame]
Andrew Geissler3eeda902023-05-19 10:14:02 -05001.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
2
3Release 4.3 (nanbield)
4========================
5
6Migration notes for 4.3 (nanbield)
7------------------------------------
8
9This section provides migration information for moving to the Yocto
10Project 4.3 Release (codename "nanbield") from the prior release.
11
12.. _migration-4.3-supported-kernel-versions:
13
14Supported kernel versions
15~~~~~~~~~~~~~~~~~~~~~~~~~
16
17The :term:`OLDEST_KERNEL` setting has been changed to "5.15" in this release, meaning that
18out the box, older kernels are not supported. There were two reasons for this.
19Firstly it allows glibc optimisations that improve the performance of the system
20by removing compatibility code and using modern kernel APIs exclusively. The second
21issue was this allows 64 bit time support even on 32 bit platforms and resolves Y2038
22issues.
23
24It is still possible to override this value and build for older kernels, this is just
25no longer the default supported configuration. This setting does not affect which
26kernel versions SDKs will run against and does not affect which versions of the kernel
27can be used to run builds.
28
Patrick Williams520786c2023-06-25 16:20:36 -050029Layername override implications
30~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31
32Code can now know which layer a recipe is coming from through the newly added
33:term:`FILE_LAYERNAME` variable and the ``layer-<layername> override``. This is being used
34for enabling QA checks on a per layer basis. For existing code this has the
35side effect that the QA checks will apply to things being bbappended to recipes
36from other layers. Those other layers would need to have patch upstream status
37entries for patches being bbappended for example.
38
Andrew Geissler3eeda902023-05-19 10:14:02 -050039.. _migration-4.3-supported-distributions:
40
41Supported distributions
42~~~~~~~~~~~~~~~~~~~~~~~
43
44This release supports running BitBake on new GNU/Linux distributions:
45
46On the other hand, some earlier distributions are no longer supported:
47
48See :ref:`all supported distributions <system-requirements-supported-distros>`.
49
50.. _migration-4.3-go-changes:
51
52Go language changes
53~~~~~~~~~~~~~~~~~~~
54
55- Support for the Glide package manager has been removed, as ``go mod``
56 has become the standard.
57
Patrick Williams520786c2023-06-25 16:20:36 -050058Systemd changes
59~~~~~~~~~~~~~~~
60
61Upstream systemd is now more strict on filesystem layout and the ``usrmerge``
62feature is therefore required alongside systemd. The Poky test configurations
63have been updated accordingly for systemd.
64
Andrew Geissler3eeda902023-05-19 10:14:02 -050065.. _migration-4.3-recipe-changes:
66
67Recipe changes
68~~~~~~~~~~~~~~
69
70- Runtime testing of ptest now fails if no test results are returned by
71 any given ptest.
72
73.. _migration-4.3-class-changes:
74
75Class changes
76~~~~~~~~~~~~~
77
78- The ``perl-version`` class no longer provides the ``PERLVERSION`` and ``PERLARCH`` variables
79 as there were no users in any core layer. The functions for this functionality
80 are still available.
81
82.. _migration-4.3-removed-variables:
83
84Removed variables
85~~~~~~~~~~~~~~~~~
86
87The following variables have been removed:
88
89- ``PERLARCH``
90- ``PERLVERSION``
91
92.. _migration-4.3-removed-recipes:
93
94Removed recipes
95~~~~~~~~~~~~~~~
96
97The following recipes have been removed in this release:
98
99- ``glide``, as explained in :ref:`migration-4.3-go-changes`.
100
101.. _migration-4.3-removed-classes:
102
103Removed classes
104~~~~~~~~~~~~~~~
105
106The following classes have been removed in this release:
107
108
109.. _migration-4.3-misc-changes:
110
111Miscellaneous changes
112~~~~~~~~~~~~~~~~~~~~~
113
114- The ``-crosssdk`` suffix and any :term:`MLPREFIX` were removed from
115 ``virtual/XXX`` provider/dependencies where a ``PREFIX`` was used as well,
116 as we don't need both and it made automated dependency rewriting
117 unnecessarily complex. In general this only affects internal toolchain
118 dependencies so isn't end user visible.
119