summaryrefslogtreecommitdiffstats
path: root/documentation/migration-guides/migration-3.4.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/migration-guides/migration-3.4.rst')
-rw-r--r--documentation/migration-guides/migration-3.4.rst82
1 files changed, 47 insertions, 35 deletions
diff --git a/documentation/migration-guides/migration-3.4.rst b/documentation/migration-guides/migration-3.4.rst
index 797bfde41e..a9b1057206 100644
--- a/documentation/migration-guides/migration-3.4.rst
+++ b/documentation/migration-guides/migration-3.4.rst
@@ -1,11 +1,13 @@
-Release 3.4 (honister)
-======================
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Migration notes for 3.4 (honister)
+----------------------------------
This section provides migration information for moving to the Yocto
Project 3.4 Release (codename "honister") from the prior release.
Override syntax changes
------------------------
+~~~~~~~~~~~~~~~~~~~~~~~
In this release, the ``:`` character replaces the use of ``_`` to
refer to an override, most commonly when making a conditional assignment
@@ -22,7 +24,7 @@ syntax, so the following::
SRC_URI_append = " file://somefile"
SRC_URI_append_qemux86 = " file://somefile2"
- SRC_URI_remove_qemux86-64 = " file://somefile3"
+ SRC_URI_remove_qemux86-64 = "file://somefile3"
SRC_URI_prepend_qemuarm = "file://somefile4 "
FILES_${PN}-ptest = "${bindir}/xyz"
IMAGE_CMD_tar = "tar"
@@ -34,7 +36,7 @@ would now become::
SRC_URI:append = " file://somefile"
SRC_URI:append:qemux86 = " file://somefile2"
- SRC_URI:remove:qemux86-64 = " file://somefile3"
+ SRC_URI:remove:qemux86-64 = "file://somefile3"
SRC_URI:prepend:qemuarm = "file://somefile4 "
FILES:${PN}-ptest = "${bindir}/xyz"
IMAGE_CMD:tar = "tar"
@@ -43,7 +45,7 @@ would now become::
BB_TASK_NICE_LEVEL:task-testimage = '0'
This also applies to
-:ref:`variable queries to the datastore <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:functions for accessing datastore variables>`,
+:ref:`variable queries to the datastore <bitbake-user-manual/bitbake-user-manual-metadata:functions for accessing datastore variables>`,
for example using ``getVar`` and similar so ``d.getVar("RDEPENDS_${PN}")``
becomes ``d.getVar("RDEPENDS:${PN}")``.
@@ -86,21 +88,19 @@ BitBake no longer has to guess and maintain large lookup lists just in case
e.g. ``functionname`` in ``my_functionname`` is an override, and thus should improve
efficiency.
-
New host dependencies
----------------------
+~~~~~~~~~~~~~~~~~~~~~
The ``lz4c``, ``pzstd`` and ``zstd`` commands are now required to be
installed on the build host to support LZ4 and Zstandard compression
functionality. These are typically provided by ``lz4`` and ``zstd``
packages in most Linux distributions. Alternatively they are available
-as part of ``buildtools-tarball`` if your distribution does not provide
+as part of :term:`buildtools` tarball if your distribution does not provide
them. For more information see
:ref:`ref-manual/system-requirements:required packages for the build host`.
-
Removed recipes
----------------
+~~~~~~~~~~~~~~~
The following recipes have been removed in this release:
@@ -119,19 +119,17 @@ The following recipes have been removed in this release:
any known layer
- ``packagegroup-core-clutter``: removed along with clutter
-
Removed classes
----------------
+~~~~~~~~~~~~~~~
- ``clutter``: moved to meta-gnome along with clutter itself
- ``image-mklibs``: not actively tested and upstream mklibs still
requires Python 2
- ``meta``: no longer useful. Recipes that need to skip installing
- packages should inherit ``nopackages`` instead.
-
+ packages should inherit :ref:`ref-classes-nopackages` instead.
Prelinking disabled by default
-------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recent tests have shown that prelinking works only when PIE is not
enabled (see `here <https://rlbl.me/prelink-1>`__ and `here <https://rlbl.me/prelink-2>`__),
@@ -140,24 +138,22 @@ configuration provided and tested by the Yocto Project, there is
simply no sense in continuing to enable prelink.
There's also a concern that no one is maintaining the code, and there
-are open bugs (including `this serious one <https://bugzilla.yoctoproject.org/show_bug.cgi?id=14429>`__).
+are open bugs (including :yocto_bugs:`this serious one </show_bug.cgi?id=14429>`).
Given that prelink does intricate address arithmetic and rewriting
of binaries the best option is to disable the feature. It is recommended
that you consider disabling this feature in your own configuration if
it is currently enabled.
-
Virtual runtime provides
-------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~
Recipes shouldn't use the ``virtual/`` string in :term:`RPROVIDES` and
-:term:`RDEPENDS` - it is confusing because ``virtual/`` has no special
+:term:`RDEPENDS` --- it is confusing because ``virtual/`` has no special
meaning in :term:`RPROVIDES` and :term:`RDEPENDS` (unlike in the
corresponding build-time :term:`PROVIDES` and :term:`DEPENDS`).
-
Tune files moved to architecture-specific directories
------------------------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The tune files found in ``conf/machine/include`` have now been moved
into their respective architecture name directories under that same
@@ -165,20 +161,19 @@ location; e.g. x86 tune files have moved into an ``x86`` subdirectory,
MIPS tune files have moved into a ``mips`` subdirectory, etc.
The ARM tunes have an extra level (``armv8a``, ``armv8m``, etc.) and
some have been renamed to make them uniform with the rest of the tunes.
-See `this commit <http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=1d381f21f5f13aa0c4e1a45683ed656ebeedd37d>`__
+See :yocto_git:`this commit </poky/commit/?id=1d381f21f5f13aa0c4e1a45683ed656ebeedd37d>`
for reference.
If you have any references to tune files (e.g. in custom machine
configuration files) they will need to be updated.
-
Extensible SDK host extension
------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For a normal SDK, some layers append to :term:`TOOLCHAIN_HOST_TASK`
unconditionally which is fine, until the eSDK tries to override the
variable to its own values. Instead of installing packages specified
-in this variable it uses native recipes instead - a very different
+in this variable it uses native recipes instead --- a very different
approach. This has led to confusing errors when binaries are added
to the SDK but not relocated.
@@ -186,9 +181,8 @@ To avoid these issues, a new :term:`TOOLCHAIN_HOST_TASK_ESDK` variable has
been created. If you wish to extend what is installed in the host
portion of the eSDK then you will now need to set this variable.
-
Package/recipe splitting
-------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~
- ``perl-cross`` has been split out from the main ``perl`` recipe to
its own ``perlcross`` recipe for maintenance reasons. If you have
@@ -202,11 +196,19 @@ Package/recipe splitting
in its own ``xwayland`` recipe. If you need Xwayland in your image
then you may now need to add it explicitly.
+- The ``rpm`` package no longer has ``rpm-build`` in its :term:`RRECOMMENDS`;
+ if by chance you still need rpm package building functionality in
+ your image and you have not already done so then you should add
+ ``rpm-build`` to your image explicitly.
+
+- The Python ``statistics`` standard module is now packaged in its own
+ ``python3-statistics`` package instead of ``python3-misc`` as
+ previously.
Image / SDK generation changes
-------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Recursive dependencies on the ``do_build`` task are now disabled when
+- Recursive dependencies on the :ref:`ref-tasks-build` task are now disabled when
building SDKs. These are generally not needed; in the unlikely event
that you do encounter problems then it will probably be as a result of
missing explicit dependencies that need to be added.
@@ -230,11 +232,10 @@ Image / SDK generation changes
you should instead add the new ``lic-pkgs`` feature to
:term:`IMAGE_FEATURES`.
-
Miscellaneous
--------------
+~~~~~~~~~~~~~
-- Certificates are now properly checked when bitbake fetches sources
+- Certificates are now properly checked when BitBake fetches sources
over HTTPS. If you receive errors as a result for your custom recipes,
you will need to use a mirror or address the issue with the operators
of the server in question.
@@ -253,11 +254,22 @@ Miscellaneous
- The previously deprecated ``COMPRESS_CMD`` and
``CVE_CHECK_CVE_WHITELIST`` variables have been removed. Use
- ``CONVERSION_CMD`` and :term:`CVE_CHECK_WHITELIST` respectively
+ :term:`CONVERSION_CMD` and ``CVE_CHECK_WHITELIST`` (replaced by
+ :term:`CVE_CHECK_IGNORE` in version 4.0) respectively
instead.
- The obsolete ``oe_machinstall`` function previously provided in the
- :ref:`utils <ref-classes-utils>` class has been removed. For
+ :ref:`ref-classes-utils` class has been removed. For
machine-specific installation it is recommended that you use the
built-in override support in the fetcher or overrides in general
instead.
+
+- The ``-P`` (``--clear-password``) option can no longer be used with
+ ``useradd`` and ``usermod`` entries in :term:`EXTRA_USERS_PARAMS`.
+ It was being implemented using a custom patch to the ``shadow`` recipe
+ which clashed with a ``-P`` option that was added upstream in
+ ``shadow`` version 4.9, and in any case is fundamentally insecure.
+ Hardcoded passwords are still supported but they need to be hashed, see
+ examples in :term:`EXTRA_USERS_PARAMS`.
+
+