123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297 |
- .. SPDX-License-Identifier: CC-BY-SA-2.0-UK
- .. |yocto-codename| replace:: walnascar
- .. |yocto-ver| replace:: 5.2
- .. Note: anchors id below cannot contain substitutions so replace them with the
- value of |yocto-ver| above.
- Release |yocto-ver| (|yocto-codename|)
- ======================================
- Migration notes for |yocto-ver| (|yocto-codename|)
- --------------------------------------------------
- This section provides migration information for moving to the Yocto
- Project |yocto-ver| Release (codename "|yocto-codename|") from the prior release.
- ``debug-tweaks`` removed from :term:`IMAGE_FEATURES`
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The ``debug-tweaks`` image feature is now removed because it was too vague about
- what it achieved: an image on which the ``root`` user can login without a
- password.
- To achieve the same result, the features previously added by ``debug-tweaks``
- should be manually added to the :term:`IMAGE_FEATURES` variable. These are:
- - ``allow-empty-password``
- - ``allow-root-login``
- - ``empty-root-password``
- - ``post-install-logging``
- Such a statement would be::
- IMAGE_FEATURES += "allow-empty-password allow-root-login empty-root-password post-install-logging"
- See the list of available image features in the :ref:`ref-features-image`
- section of the Yocto Project Reference Manual.
- Supported kernel versions
- ~~~~~~~~~~~~~~~~~~~~~~~~~
- The :term:`OLDEST_KERNEL` setting is 5.15 in this release, meaning that
- out the box, older kernels are not supported. See :ref:`4.3 migration notes
- <migration-4.3-supported-kernel-versions>` for details.
- Supported distributions
- ~~~~~~~~~~~~~~~~~~~~~~~
- Compared to the previous releases, running BitBake is supported on new
- GNU/Linux distributions:
- - Fedora 41
- - CentOS Stream 9
- On the other hand, some earlier distributions are no longer supported:
- - CentOS Stream 8
- - Fedora 38
- - OpenSUSE Leap 15.4
- - Ubuntu 20.04
- See :ref:`all supported distributions <system-requirements-supported-distros>`.
- Rust language changes
- ~~~~~~~~~~~~~~~~~~~~~
- - Recipes inheriting the :ref:`ref-classes-cargo` do not install libraries by
- default anymore. This behavior can be controlled by the
- :term:`CARGO_INSTALL_LIBRARIES` variable.
- systemd changes
- ~~~~~~~~~~~~~~~
- - Support for ``split-usr`` and ``unmerged-usr`` are now removed after Systemd
- was updated to version 255. This option allowed installing Systemd in a
- system where directories such as ``/lib``, ``/sbin`` or ``/bin`` are *not*
- merged into ``/usr``.
- As a consequence, the ``systemd`` recipe no longer contains the ``usrmerge``
- :term:`PACKAGECONFIG` option as it is now implied by default.
- - ``systemd.bbclass``: If a ``systemd`` service file had referred to other service
- files by starting them via
- `Also <https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html#Also=>`__,
- the other service files were automatically added to the :term:`FILES` variable of
- the same package. Example:
- a.service contains::
- [Install]
- Also=b.service
- If ``a.service`` is packaged in package ``A``, ``b.service`` was
- automatically packaged into package ``A`` as well. This happened even if
- ``b.service`` was explicitly added to package ``B`` using :term:`FILES` and
- :term:`SYSTEMD_SERVICE` variables.
- This prevented such services from being packaged into different packages.
- Therefore, this automatic behavior has been removed for service files (but
- not for socket files).
- Now all service files must be explicitly added to :term:`FILES`.
- - Add ``create-log-dirs`` back to the configuration options. To enable
- persistent logging a user can now set the "Storage" option of
- ``journald.conf`` to "persistent". The ``/var/log/journal`` directory is now
- used for logging instead of ``/run/log``.
- - If ``pni-names`` is not in the :term:`DISTRO_FEATURES`, the `Predictable
- Network Interface names <https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/>`__
- systemd feature will now be disabled. Previously the feature was still
- enabled even if ``pni-names`` was not part of :term:`DISTRO_FEATURES`. Make
- sure to add the feature to :term:`DISTRO_FEATURES` if you want to keep this
- systemd behavior.
- Multiconfig changes
- ~~~~~~~~~~~~~~~~~~~
- The value of :term:`BB_CURRENT_MC` was changed from ``default`` to an empty string
- for the default multiconfig configuration to avoid needing to map the values
- within BitBake. This was already not happening in some cases so this fixes
- some obscure bugs.
- Any logic based on :term:`BB_CURRENT_MC` equalling to ``default`` by default should
- be changed to be equal to an empty string.
- Virtual toolchain provider changes
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Support was added for virtual providers on a per-recipe basis for specific
- key toolchain providers listed in ``BB_VIRTUAL_RECIPE_PROVIDERS``. As part of
- that support, the ``cross`` providers were simplified to remove the triplet
- prefix (:term:`TARGET_PREFIX`, :term:`SDK_PREFIX` and :term:`HOST_PREFIX`) and
- generalise the naming. Here are examples of how references to these variables
- can be changed to use the new ``cross`` syntax::
- virtual/${HOST_PREFIX}binutils -> virtual/cross-binutils
- virtual/${TARGET_PREFIX}binutils -> virtual/cross-binutils
- virtual/${HOST_PREFIX}gcc -> virtual/cross-cc
- virtual/${TARGET_PREFIX}gcc -> virtual/cross-cc
- virtual/${SDK_PREFIX}gcc -> virtual/nativesdk-cross-cc
- virtual/${HOST_PREFIX}compilerlibs -> virtual/compilerlibs
- virtual/${TARGET_PREFIX}compilerlibs -> virtual/compilerlibs
- virtual/nativesdk-${SDK_PREFIX}compilerlibs -> virtual/nativesdk-compilerlibs
- virtual/${TARGET_PREFIX}g++ -> virtual/cross-c++
- A :term:`PREFERRED_PROVIDER` assignment can be transformed as follows::
- PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils -> PREFERRED_PROVIDER_virtual/cross-binutils
- PREFERRED_PROVIDER_virtual/${SDK_PREFIX}binutils -> PREFERRED_PROVIDER_virtual/cross-binutils:class-nativesdk
- PREFERRED_PROVIDER_virtual/${SDK_PREFIX}g++ -> PREFERRED_PROVIDER_virtual/nativesdk-cross-c++
- The above examples should cover most cases, but there might be situations where
- replacing is not as straightforward. For more examples, see the commit
- :oe_git:`"classes/recipes: Switch virtual/XXX-gcc to virtual/cross-cc (and
- c++/binutils)" </openembedded-core/commit/?id=4ccc3bc8266c>` in
- :term:`OpenEmbedded-Core (OE-Core)`.
- :ref:`ref-classes-autotools` changes
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - Changes to how ``aclocal`` is invoked means that ``ACLOCALDIR`` and
- ``ACLOCALEXTRAPATH`` are no longer used.
- - Directories containing m4 files are no longer found automatically and
- passed to ``autoreconf``. If a recipe fails to configure because it cannot
- find m4 macros, then usually the solution is to set ``EXTRA_AUTORECONF += "-I
- path/to/m4"`` in the recipe.
- - The :ref:`ref-classes-autotools` class now requires any recipe that inherits
- the class to have a ``configure`` script. The configuration script location
- is stored in the :term:`CONFIGURE_SCRIPT` variable. The
- :ref:`ref-tasks-configure` task will fail if the script is missing.
- :term:`UBOOT_ENTRYPOINT` changes
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The :term:`UBOOT_ENTRYPOINT` variable should now be defined with a leading
- ``0x`` to its value. For example, consider the following assignment::
- UBOOT_ENTRYPOINT ?= "20008000"
- This should now be replaced by::
- UBOOT_ENTRYPOINT ?= "0x20008000"
- Git fetcher: support for multiple revisions per URL removed
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The support for having multiple Git revisions per URL in :term:`SRC_URI` was
- removed from BitBake, which means the following syntax is not supported
- anymore::
- SRC_URI = "git://some.host/somepath;bareclone=1;branch=branchX,branchY;name=nameX,nameY"
- SRCREV_nameX = "xxxxxxxxxxxxxxxxxxxx"
- SRCREV_nameY = "yyyyyyyyyyyyyyyyyyyy"
- This was rarely used in the core repositories because it would only ever make
- sense for bare clones (the ``bareclone=1`` :term:`SRC_URI` option) where recipes
- take care of the Git checkout. This removal simplifies the code logic in several
- places.
- If one of your recipes is using this mechanism, you can split the code source
- fetching into two separate entries::
- SRC_URI = "git://some.host/somepath;bareclone=1;branch=branchX;name=nameX \
- git://some.host/somepath;bareclone=1;branch=branchY;name=nameY"
- SRCREV_nameX = "xxxxxxxxxxxxxxxxxxxx"
- SRCREV_nameY = "yyyyyyyyyyyyyyyyyyyy"
- Git fetcher: Branch parameter now required in :term:`SRC_URI`
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The ``branch`` parameter is now required when specifying a Git repository in
- :term:`SRC_URI`, for example::
- SRC_URI = "git://some.host/somepath;branch=branchX"
- A missing ``branch`` parameter used to produce a warning, and will now produce
- an error.
- Recipe changes
- ~~~~~~~~~~~~~~
- - The ``libnss-mdns`` recipe is now renamed to ``avahi-libnss-mdns`` to avoid a
- conflict with meta-networking.
- - :ref:`ref-classes-ptest` support for the ``valgrind`` recipe was removed, due
- to regressions occurring after updating Glibc to 2.41.
- Removed variables
- ~~~~~~~~~~~~~~~~~
- The following variables have been removed:
- - ``PACKAGE_SNAP_LIB_SYMLINKS``: related to an unmaintained and obsolete
- "micro" :term:`distro <DISTRO>`.
- - ``SETUPTOOLS_INSTALL_ARGS``: obsolete and unused variable.
- - ``BB_DANGLINGAPPENDS_WARNONLY``: support for only warning the user when a
- ``.bbappend`` file doesn't apply to the original recipe has been dropped. See
- the :ref:`dev-manual/layers:Appending Other Layers Metadata With Your Layer`
- section of the Yocto Project Development Tasks Manual for alternatives to
- this variable.
- Removed recipes
- ~~~~~~~~~~~~~~~
- The following recipes have been removed in this release:
- - ``liburi-perl``: moved to :oe_git:`meta-perl </meta-openembedded/tree/meta-perl>`.
- - ``python3-isodate``: moved to :oe_git:`meta-python </meta-openembedded/tree/meta-python>`.
- - ``python3-iniparse``: removed as there are no consumers of this recipe in
- :oe_git:`openembedded-core </openembedded-core>` or :oe_git:`meta-openembedded </meta-openembedded>`.
- - ``blktool``: It was created in 2004 as an alternative to hdparm and never
- updated since (while :wikipedia:`hdparm <Hdparm>` remains active).
- - ``cargo-c-native``: converted to a target recipe and renamed to ``cargo-c``.
- - ``libnss-mdns``: renamed to ``avahi-libnss-mdns``
- Removed classes
- ~~~~~~~~~~~~~~~
- The following classes have been removed in this release:
- - ``migrate_localcount.bbclass``: obsolete class for which code was already
- removed in 2012.
- Removed features
- ~~~~~~~~~~~~~~~~
- - The ``ld-is-gold`` distro feature was removed from the
- :term:`DISTRO_FEATURES`.
- Miscellaneous changes
- ~~~~~~~~~~~~~~~~~~~~~
- - :term:`ZSTD_COMPRESSION_LEVEL` is now a plain integer number instead of a dash-prefixed
- command-line option (e.g. it should be set to ``3`` rather than ``-3``).
- - Until now, the variable :term:`UBOOT_ENV` was processed both by the U-Boot
- recipe and by the ``kernel-fitimage.bbclass``. However, adding a U-Boot
- script to the kernel FIT image is a different and independent thing, which
- also requires an independent variable.
- Therefore, the :term:`UBOOT_ENV` is no longer handled by the
- ``kernel-fitimage.bbclass``. There is a new variable :term:`FIT_UBOOT_ENV`
- which should be used for adding a U-Boot script to a FIT image.
- - The ``devtool ide-sdk`` utility has been removed from the :doc:`eSDK
- </sdk-manual/extensible>` (but remains available in the BitBake environment).
|