From 1c35484be2cd1595b383d7f60b4ce1b5b5b447a5 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Sun, 14 Apr 2024 13:43:17 -0700 Subject: migration: extend migration guide for 5.0 Add a few missing entries based upon combing through the release commits, as well as minor tweaks to existing items. (From yocto-docs rev: 0680ee719edaa31a52f9cb7bd5138b402b1b26ce) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- documentation/migration-guides/migration-5.0.rst | 84 +++++++++++++++++++++--- 1 file changed, 76 insertions(+), 8 deletions(-) (limited to 'documentation') diff --git a/documentation/migration-guides/migration-5.0.rst b/documentation/migration-guides/migration-5.0.rst index 888a1c60d4..cf413300c2 100644 --- a/documentation/migration-guides/migration-5.0.rst +++ b/documentation/migration-guides/migration-5.0.rst @@ -80,7 +80,8 @@ Recipe changes Deprecated variables ~~~~~~~~~~~~~~~~~~~~ -No variables have been deprecated in this release. +- ``CVE_CHECK_IGNORE`` should be replaced with :term:`CVE_STATUS` + .. _migration-5.0-removed-variables: @@ -89,13 +90,14 @@ Removed variables The following variables have been removed: -- ``DEPLOY_DIR_TAR``. -- ``PYTHON_PN``: Python 2 has been removed, leaving Python 3 as the sole - major version. Therefore, an abstraction to differentiate both versions is +- ``DEPLOY_DIR_TAR``: no longer needed since the package_tar class was removed in 4.2. +- ``PYTHON_PN``: Python 2 has previously been removed, leaving Python 3 as the sole + major version. Therefore, this abstraction to differentiate both versions is no longer needed. -- ``oldincludedir``. +- ``oldincludedir`` - ``USE_L10N``: previously deprecated, and now removed. -- ``CVE_SOCKET_TIMEOUT``. +- ``CVE_SOCKET_TIMEOUT`` +- ``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. .. _migration-5.0-removed-recipes: @@ -105,9 +107,10 @@ Removed recipes The following recipes have been removed in this release: - ``libcroco``: deprecated and archived by the Gnome Project. +- ``liberror-perl``: unmaintained and no longer needed - moved to meta-perl. - ``linux-yocto``: version 6.1 (version 6.6 provided instead). -- ``zvariant``: fails to build with newer Rust. - ``systemtap-uprobes``: obsolete. +- ``zvariant``: fails to build with newer Rust. .. _migration-5.0-removed-classes: @@ -125,10 +128,75 @@ In ``tune-core2``, the cpu models ``n270`` and ``core2duo`` are no longer passed to QEMU, since its documentation recommends not using them with ``-cpu`` option. Therefore, from now on, ``Nehalem`` model is used instead. + +ipk packaging changes +~~~~~~~~~~~~~~~~~~~~~ + +ipk packaging (using ``opkg``) now uses ``zstd`` compression instead of ``xz`` +for better compression and performance. This does mean that ``.ipk`` packages +built using the 5.0 release requires Opkg built with zstd enabled --- naturally +this is the case in 5.0, but at least by default these packages will not be +usable on older systems where Opkg does not have zstd enabled at build time. + +Additionally, the internal dependency solver in Opkg is now deprecated --- it +is still available in this release but will trigger a warning if selected. +The default has been the external ``libsolv`` solver for some time, but if you +have explicitly removed that from :term:`PACKAGECONFIG` for Opkg to +select the internal solver, you should plan to switch to ``libsolv`` in the +near future (by including ``libsolv`` your custom :term:`PACKAGECONFIG` value +for Opkg, or reverting to the default value). + + +motd message when using ``DISTRO = "poky"`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The default ``poky`` :term:`DISTRO` is explicitly a *reference* distribution +for testing and development purposes. It enables most hardware and software +features so that they can be tested, but this also means that +from a security point of view the attack surface is very large. + +We encourage anyone using the Yocto Project for production use to create +their own distribution and not use Poky. To encourage this behaviour +further, in 5.0 a warning has been added to ``/etc/motd`` when Poky is used +so that the developer will see it when they log in. If you are creating your +own distribution this message will not show up. + +For information on how to create your own distribution, see +":ref:`dev-manual/custom-distribution:creating your own distribution`". + .. _migration-5.0-misc-changes: Miscellaneous changes ~~~~~~~~~~~~~~~~~~~~~ -- ``bitbake-whatchanged`` script was removed. +- ``bitbake-whatchanged`` script was removed as it was broken and unmaintained. + +- ``scripts/sstate-cache-management.sh`` has been replaced by + ``scripts/sstate-cache-management.py``, a more performant Python-based version. + +- The ``bmap-tools`` recipe has been renamed to ``bmaptool``. + +- ``gpgme`` has had Python binding support disabled since upstream does not + support Python 3.12 yet. This will be fixed in future once it is fixed upstream.) + +- A warning will now be shown if the ``virtual/`` prefix is used in runtime + contexts (:term:`RDEPENDS` / :term:`RPROVIDES`) --- + See :ref:`virtual-slash ` for details. + +- ``recipetool`` now prefixes the names of recipes created for Python modules + with ``python3-``. + +- The :ref:`ref-classes-cve-check` class no longer produces a warning for + remote patches --- it only logs a note and does not try to fetch the patch + in order to scan it for issues or CVE numbers. However, CVE number + references in remote patch file names will now be picked up. + +- The values of :term:`PE` and :term:`PR` have been dropped from + ``-f{file,macro,debug}-prefix-map``, in order to avoid unnecessary churn + in debugging symbol paths when the version is bumped. This is unlikely to + cause issues, but if you are paying attention to the debugging source path + (e.g. in recipes that need to manipulate these files during packaging) then + you will notice the difference. A new :term:`TARGET_DBGSRC_DIR` variable is + provided to make this easier. + - ``ccache`` no longer supports FORTRAN. -- cgit v1.2.3-54-g00ecf