summaryrefslogtreecommitdiff
path: root/poky/documentation/migration-guides/migration-4.3.rst
diff options
context:
space:
mode:
Diffstat (limited to 'poky/documentation/migration-guides/migration-4.3.rst')
-rw-r--r--poky/documentation/migration-guides/migration-4.3.rst157
1 files changed, 145 insertions, 12 deletions
diff --git a/poky/documentation/migration-guides/migration-4.3.rst b/poky/documentation/migration-guides/migration-4.3.rst
index 79cf907708..fc25397d70 100644
--- a/poky/documentation/migration-guides/migration-4.3.rst
+++ b/poky/documentation/migration-guides/migration-4.3.rst
@@ -26,15 +26,26 @@ no longer the default supported configuration. This setting does not affect whic
kernel versions SDKs will run against and does not affect which versions of the kernel
can be used to run builds.
+.. _migration-4.3-layername-override:
+
Layername override implications
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Code can now know which layer a recipe is coming from through the newly added
:term:`FILE_LAYERNAME` variable and the ``layer-<layername> override``. This is being used
for enabling QA checks on a per layer basis. For existing code this has the
-side effect that the QA checks will apply to things being bbappended to recipes
-from other layers. Those other layers would need to have patch upstream status
-entries for patches being bbappended for example.
+side effect that the QA checks will apply to recipes being bbappended
+from other layers - for example, patches added through such bbappends will now
+need to have the "Upstream-Status" specified in the patch header.
+
+.. _migration-4.3-compiling-changes:
+
+Compiling changes
+~~~~~~~~~~~~~~~~~
+
+- Code on 32 bit platforms is now compiled with largefile support and 64
+ bit ``time_t``, to avoid the Y2038 time overflow issue. This breaks the ABI
+ and could break existing programs in untested layers.
.. _migration-4.3-supported-distributions:
@@ -43,10 +54,31 @@ Supported distributions
This release supports running BitBake on new GNU/Linux distributions:
+- Ubuntu 22.10
+- Fedora 38
+- Debian 12
+- CentOS Stream 8
+- AlmaLinux 8.8
+- AlmaLinux 9.2
+
On the other hand, some earlier distributions are no longer supported:
+- Fedora 36
+- AlmaLinux 8.7
+- AlmaLinux 9.1
+
See :ref:`all supported distributions <system-requirements-supported-distros>`.
+.. _migration-4.3-removed-machines:
+
+edgerouter machine removed
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The ``edgerouter`` reference BSP for the MIPS architecture in ``meta-yocto-bsp``
+has been removed as the hardware has been unavailable for some time. There is no
+suitable reference MIPS hardware to replace it with, but the MIPS architecture
+will continue to get coverage via QEMU build/boot testing.
+
.. _migration-4.3-go-changes:
Go language changes
@@ -55,7 +87,9 @@ Go language changes
- Support for the Glide package manager has been removed, as ``go mod``
has become the standard.
-Systemd changes
+.. _migration-4.3-systemd-changes:
+
+systemd changes
~~~~~~~~~~~~~~~
Upstream systemd is now more strict on filesystem layout and the ``usrmerge``
@@ -70,14 +104,14 @@ Recipe changes
- Runtime testing of ptest now fails if no test results are returned by
any given ptest.
-.. _migration-4.3-class-changes:
+.. _migration-4.3-deprecated-variables:
-Class changes
-~~~~~~~~~~~~~
+Deprecated variables
+~~~~~~~~~~~~~~~~~~~~
-- The ``perl-version`` class no longer provides the ``PERLVERSION`` and ``PERLARCH`` variables
- as there were no users in any core layer. The functions for this functionality
- are still available.
+The following variables have been deprecated:
+
+- :term:`CVE_CHECK_IGNORE`: use :term:`CVE_STATUS` instead.
.. _migration-4.3-removed-variables:
@@ -86,8 +120,13 @@ Removed variables
The following variables have been removed:
+- ``AUTHOR``
- ``PERLARCH``
- ``PERLVERSION``
+- ``QEMU_USE_SLIRP`` - add ``slirp`` to ``TEST_RUNQEMUPARAMS`` instead.
+- ``SERIAL_CONSOLES_CHECK`` - no longer necessary because all
+ consoles listed in :term:`SERIAL_CONSOLES` are checked for their existence
+ before a ``getty`` is started.
.. _migration-4.3-removed-recipes:
@@ -96,7 +135,15 @@ Removed recipes
The following recipes have been removed in this release:
-- ``glide``, as explained in :ref:`migration-4.3-go-changes`.
+- ``apmd``: obsolete (``apm`` in :term:`MACHINE_FEATURES` also removed).
+- ``cve-update-db-native``: functionally replaced by ``cve-update-nvd2-native``
+- ``gcr3``: no longer needed by core recipes, moved to meta-gnome (gcr, i.e. version 4.x, is still provided).
+- ``glide``: as explained in :ref:`migration-4.3-go-changes`.
+- ``libdmx``: obsolete
+- ``linux-yocto`` version 5.15 (versions 6.1 and 6.5 provided instead).
+- ``python3-async``: obsolete - no longer needed by ``python3-gitdb`` or any other core recipe
+- ``rust-hello-world``: there are sufficient other Rust recipes and test cases such that this is no longer needed.
+
.. _migration-4.3-removed-classes:
@@ -105,6 +152,90 @@ Removed classes
The following classes have been removed in this release:
+- ``glide``: as explained in :ref:`migration-4.3-go-changes`.
+
+
+Output file naming changes
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In 4.3 there are some minor differences in image and SDK output file names.
+If you rely on the existing naming (e.g. in external scripts) you may need to
+either modify configuration or adapt to the new naming. Further details:
+
+- :term:`IMAGE_NAME` and :term:`IMAGE_LINK_NAME` now include the
+ :term:`IMAGE_NAME_SUFFIX` value directly. In practical terms, this means
+ that ``.rootfs`` will now appear in image output file names. If you do not
+ wish to have the ``.rootfs`` suffix used, you can just set
+ :term:`IMAGE_NAME_SUFFIX` to "" and this will now be consistently respected
+ in both the image file and image file symlink names. As part of this change,
+ support for the ``imgsuffix`` task varflag has been dropped (mostly
+ an internal implementation detail, but if you were implementing a custom
+ image construction with a task in a similar manner to ``do_bootimg``
+ you may have been using this).
+
+- :term:`SDK_NAME` now includes the values of :term:`IMAGE_BASENAME` and
+ :term:`MACHINE` so that they are unique when building SDKs for different
+ images and machines.
+
+
+
+.. _migration-4.3-pr-pe:
+
+Versioning changes
+~~~~~~~~~~~~~~~~~~
+
+- :term:`PR` values have been removed from all core recipes - distro maintainers
+ who make use of :term:`PR` values would need to curate these already so the
+ sparsely set base values would not be that useful anymore. If you have been
+ relying on these (i.e. you are maintaining a binary package feed where package
+ versions should only ever increase), double-check the output (perhaps with the
+ help of the :ref:`ref-classes-buildhistory` class) to ensure that package
+ versions are consistent.
+
+- The :term:`PR` value can no longer be set from the recipe file name - this
+ was rarely used, but in any case is no longer supported.
+
+- :term:`PE` and :term:`PR` are no longer included in the work directory path
+ (:term:`WORKDIR`). This may break some tool assumptions about directory paths,
+ but those should really be querying paths from the build system (or not poking
+ into :term:`WORKDIR` externally).
+
+- Source revision information has been moved from :term:`PV` to :term:`PKGV`.
+ The user visible effect of this change is that :term:`PV` will no longer have
+ revision information in it and this will now be appended to the :term:`PV`
+ value through :term:`PKGV` when the packages are written out (as long as "+"
+ is present in the :term:`PKGV` value). Since :term:`PV` is used in
+ :term:`STAMP` and :term:`WORKDIR`, you may notice small directory naming and
+ stamp naming changes.
+
+- The :term:`SRCPV` variable is no longer needed in :term:`PV`, but since
+ the default :term:`SRCPV` value is now "", using it is effectively now just a
+ null operation - you can remove it (leaving behind the "+") , but it is not
+ yet required to do so.
+
+
+.. _migration-4.3-qemu-changes:
+
+QEMU changes
+~~~~~~~~~~~~
+
+- The ``runqemu`` script no longer systematically adds two serial ports
+ (``--serial null`` and ``-serial mon:stdio``) to the QEMU emulated machine
+ if the user already adds such ports through the ``QB_OPT_APPEND`` setting.
+
+ If the user adds one port, only ``--serial null`` is added, and
+ ``-serial mon:stdio`` is no longer passed. If the user adds more than one
+ port, ``--serial null`` is no longer added either. This can break some
+ existing QEMU based configurations expecting such serial ports to be added
+ when ``runqemu`` is executed.
+
+ This change was made to avoid exceeding two serial ports, which interferes
+ with automated testing.
+
+- ``runqemu`` now uses the ``ip tuntap`` command instead of ``tunctl``, and
+ thus ``tunctl`` is no longer built by the ``qemu-helper-native`` recipe; if
+ for some reason you were calling ``tunctl`` directly from your own scripts
+ you should switch to calling ``ip tuntap`` instead.
.. _migration-4.3-misc-changes:
@@ -115,5 +246,7 @@ Miscellaneous changes
``virtual/XXX`` provider/dependencies where a ``PREFIX`` was used as well,
as we don't need both and it made automated dependency rewriting
unnecessarily complex. In general this only affects internal toolchain
- dependencies so isn't end user visible.
+ dependencies so isn't end user visible, but if for some reason you have
+ custom classes or recipes that rely upon the old providers then you will
+ need to update those.