* [PATCH 0/5] Migration info for honister release
@ 2021-10-11 3:57 Paul Eggleton
2021-10-11 3:57 ` [PATCH 1/5] migration-3.4: tweak overrides change section Paul Eggleton
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Paul Eggleton @ 2021-10-11 3:57 UTC (permalink / raw)
To: docs
Migration info for 3.4 on top of the overrides info that was written up
previously. Please double-check for accuracy.
Note that the lz4/zstd distro-specific package names have not been
checked on the respective distros, however I used pkgs.org as a
reference so they should be correct.
The following changes since commit 444ca8900e8057562d2a71a77e6e6798aca3ce85:
dev-manual: warn about license compliance issues when static libraries are used (2021-10-08 22:01:20 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib paule/migration-3.4
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=paule/migration-3.4
Paul Eggleton (5):
migration-3.4: tweak overrides change section
ref-manual: remove meta class
poky.yaml: add lz4 and zstd to essential host packages
migration-3.4: add additional migration info
migration: tweak introduction section
documentation/migration-guides/migration-3.4.rst | 208 +++++++++++++++++++--
.../migration-guides/migration-general.rst | 26 ++-
documentation/poky.yaml | 11 +-
documentation/ref-manual/classes.rst | 9 -
4 files changed, 222 insertions(+), 32 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/5] migration-3.4: tweak overrides change section
2021-10-11 3:57 [PATCH 0/5] Migration info for honister release Paul Eggleton
@ 2021-10-11 3:57 ` Paul Eggleton
2021-10-11 3:57 ` [PATCH 2/5] ref-manual: remove meta class Paul Eggleton
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Paul Eggleton @ 2021-10-11 3:57 UTC (permalink / raw)
To: docs
From: Paul Eggleton <paul.eggleton@microsoft.com>
Minor grammar and readability improvements.
Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
---
documentation/migration-guides/migration-3.4.rst | 34 +++++++++++++-----------
1 file changed, 19 insertions(+), 15 deletions(-)
diff --git a/documentation/migration-guides/migration-3.4.rst b/documentation/migration-guides/migration-3.4.rst
index e83e936..3df5b69 100644
--- a/documentation/migration-guides/migration-3.4.rst
+++ b/documentation/migration-guides/migration-3.4.rst
@@ -7,17 +7,18 @@ Project 3.4 Release (codename "honister") from the prior release.
Override syntax changes
-----------------------
-This release requires changes to the metadata to indicate where overrides are
-being used in variable key names. This is done with the ``:`` character replacing
-the use of ``_`` previously. This means that an entry like::
+In this release, the ``:`` character replaces the use of ``_`` to
+refer to an override, most commonly when making a conditional assignment
+of a variable. This means that an entry like::
SRC_URI_qemux86 = "file://somefile"
-becomes::
+now becomes::
SRC_URI:qemux86 = "file://somefile"
-since ``qemux86`` is an override. This applies to any use of override syntax so::
+since ``qemux86`` is an override. This applies to any use of override
+syntax, so the following::
SRC_URI_append = " file://somefile"
SRC_URI_append_qemux86 = " file://somefile2"
@@ -29,7 +30,7 @@ since ``qemux86`` is an override. This applies to any use of override syntax so:
SRCREV_pn-bash = "abc"
BB_TASK_NICE_LEVEL_task-testimage = '0'
-becomes::
+would now become::
SRC_URI:append = " file://somefile"
SRC_URI:append:qemux86 = " file://somefile2"
@@ -63,8 +64,8 @@ suffix to variables in ``layer.conf`` files such as :term:`BBFILE_PATTERN`,
may be the same as a :term:`DISTRO` override causing some confusion. We do
plan to try and improve consistency as these issues are identified.
-To help with migration of layers there is a script in OE-Core. Once configured
-with the overrides used by a layer, this can be run as::
+To help with migration of layers, a script has been provided in OE-Core.
+Once configured with the overrides used by a layer, this can be run as::
<oe-core>/scripts/contrib/convert-overrides.py <layerdir>
@@ -74,10 +75,13 @@ with the overrides used by a layer, this can be run as::
expected to handle every case. In particular, it needs to be told which overrides
the layer uses (usually machine and distro names/overrides) and the result should
be carefully checked since it can be a little enthusiastic and will convert
- references to ``_append``, ``_remove`` and ``_prepend`` in function and variables names.
-
-For reference, this conversion is important as it allows BitBake to know what is
-an override and what is not. This should allow us to proceed with other syntax
-improvements and simplifications for usability. It also means bitbake no longer
-has to guess and maintain large lookup lists just in case ``functionname`` in
-``my_functionname`` is an override and this should improve efficiency.
+ references to ``_append``, ``_remove`` and ``_prepend`` in function and variable
+ names.
+
+For reference, this conversion is important as it allows BitBake to more reliably
+determine what is an override and what is not, as underscores are also used in
+variable names without intending to be overrides. This should allow us to proceed
+with other syntax improvements and simplifications for usability. It also means
+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.
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/5] ref-manual: remove meta class
2021-10-11 3:57 [PATCH 0/5] Migration info for honister release Paul Eggleton
2021-10-11 3:57 ` [PATCH 1/5] migration-3.4: tweak overrides change section Paul Eggleton
@ 2021-10-11 3:57 ` Paul Eggleton
2021-10-11 3:57 ` [PATCH 3/5] poky.yaml: add lz4 and zstd to essential host packages Paul Eggleton
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Paul Eggleton @ 2021-10-11 3:57 UTC (permalink / raw)
To: docs
From: Paul Eggleton <paul.eggleton@microsoft.com>
This was recently removed so remove the reference to it.
Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
---
documentation/ref-manual/classes.rst | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index ffaad9b..79af45a 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -1494,15 +1494,6 @@ messages for various BitBake severity levels (i.e. ``bbplain``,
This class is enabled by default since it is inherited by the ``base``
class.
-.. _ref-classes-meta:
-
-``meta.bbclass``
-================
-
-The ``meta`` class is inherited by recipes that do not build any output
-packages themselves, but act as a "meta" target for building other
-recipes.
-
.. _ref-classes-metadata_scm:
``metadata_scm.bbclass``
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/5] poky.yaml: add lz4 and zstd to essential host packages
2021-10-11 3:57 [PATCH 0/5] Migration info for honister release Paul Eggleton
2021-10-11 3:57 ` [PATCH 1/5] migration-3.4: tweak overrides change section Paul Eggleton
2021-10-11 3:57 ` [PATCH 2/5] ref-manual: remove meta class Paul Eggleton
@ 2021-10-11 3:57 ` Paul Eggleton
2021-10-11 3:57 ` [PATCH 4/5] migration-3.4: add additional migration info Paul Eggleton
2021-10-11 3:57 ` [PATCH 5/5] migration: tweak introduction section Paul Eggleton
4 siblings, 0 replies; 7+ messages in thread
From: Paul Eggleton @ 2021-10-11 3:57 UTC (permalink / raw)
To: docs
From: Paul Eggleton <paul.eggleton@microsoft.com>
These are now required so update the corresponding distro-specific
lists used in the system requirements documentation.
Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
---
documentation/poky.yaml | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/documentation/poky.yaml b/documentation/poky.yaml
index feb792f..50d1f9c 100644
--- a/documentation/poky.yaml
+++ b/documentation/poky.yaml
@@ -14,23 +14,24 @@ YOCTO_RELEASE_DL_URL : "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;"
UBUNTU_HOST_PACKAGES_ESSENTIAL : "gawk wget git diffstat unzip texinfo gcc \
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
- pylint3 xterm python3-subunit mesa-common-dev"
+ pylint3 xterm python3-subunit mesa-common-dev zstd lz4"
FEDORA_HOST_PACKAGES_ESSENTIAL : "gawk make wget tar bzip2 gzip python3 unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython \
python3-jinja2 SDL-devel xterm rpcgen mesa-libGL-devel perl-FindBin perl-File-Compare \
- perl-File-Copy perl-locale"
+ perl-File-Copy perl-locale zstd lz4"
OPENSUSE_HOST_PACKAGES_ESSENTIAL : "python gcc gcc-c++ git chrpath make wget python-xml \
diffstat makeinfo python-curses patch socat python3 python3-curses tar python3-pip \
- python3-pexpect xz which python3-Jinja2 Mesa-libEGL1 libSDL-devel xterm rpcgen Mesa-dri-devel
+ python3-pexpect xz which python3-Jinja2 Mesa-libEGL1 libSDL-devel xterm rpcgen Mesa-dri-devel \
+ zstd lz4
\n\ $ sudo pip3 install GitPython"
CENTOS7_HOST_PACKAGES_ESSENTIAL : "-y epel-release
\n\ $ sudo yum makecache
\n\ $ sudo yum install gawk make wget tar bzip2 gzip python3 unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat \
perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python36-pip xz \
- which SDL-devel xterm mesa-libGL-devel
+ which SDL-devel xterm mesa-libGL-devel zstd lz4
\n\ $ sudo pip3 install GitPython jinja2"
CENTOS8_HOST_PACKAGES_ESSENTIAL : "-y epel-release
\n\ $ sudo dnf config-manager --set-enabled PowerTools
@@ -39,7 +40,7 @@ CENTOS8_HOST_PACKAGES_ESSENTIAL : "-y epel-release
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath ccache \
socat perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3-pip \
python3-GitPython python3-jinja2 python3-pexpect xz which SDL-devel xterm \
- rpcgen mesa-libGL-devel"
+ rpcgen mesa-libGL-devel zstd lz4"
PIP3_HOST_PACKAGES_DOC : "$ sudo pip3 install sphinx sphinx_rtd_theme pyyaml"
MIN_PYTHON_VERSION : "3.6.0"
MIN_TAR_VERSION : "1.28"
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/5] migration-3.4: add additional migration info
2021-10-11 3:57 [PATCH 0/5] Migration info for honister release Paul Eggleton
` (2 preceding siblings ...)
2021-10-11 3:57 ` [PATCH 3/5] poky.yaml: add lz4 and zstd to essential host packages Paul Eggleton
@ 2021-10-11 3:57 ` Paul Eggleton
2021-10-11 7:27 ` [docs] " Quentin Schulz
2021-10-11 3:57 ` [PATCH 5/5] migration: tweak introduction section Paul Eggleton
4 siblings, 1 reply; 7+ messages in thread
From: Paul Eggleton @ 2021-10-11 3:57 UTC (permalink / raw)
To: docs
From: Paul Eggleton <paul.eggleton@microsoft.com>
Add migration instructions gathered by combing the commits in this
release.
Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
---
documentation/migration-guides/migration-3.4.rst | 176 +++++++++++++++++++++++
1 file changed, 176 insertions(+)
diff --git a/documentation/migration-guides/migration-3.4.rst b/documentation/migration-guides/migration-3.4.rst
index 3df5b69..4d656e8 100644
--- a/documentation/migration-guides/migration-3.4.rst
+++ b/documentation/migration-guides/migration-3.4.rst
@@ -85,3 +85,179 @@ with other syntax improvements and simplifications for usability. It also means
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
+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:
+
+- ``assimp``: problematic from a licensing perspective and no longer
+ needed by anything else
+- ``clutter-1.0``: legacy component moved to meta-gnome
+- ``clutter-gst-3.0``: legacy component moved to meta-gnome
+- ``clutter-gtk-1.0``: legacy component moved to meta-gnome
+- ``cogl-1.0``: legacy component moved to meta-gnome
+- ``core-image-clutter``: removed along with clutter
+- ``linux-yocto``: removed version 5.4 recipes (5.14 and 5.10 still
+ provided)
+- ``mklibs-native``: not actively tested and upstream mklibs still
+ requires Python 2
+- ``mx-1.0``: obsolete (last release 2012) and isn't used by anything in
+ 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.
+
+
+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>`__),
+and as PIE is both a desirable security feature, and the only
+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>`__).
+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
+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
+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>`__
+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
+approach. This has led to confusing errors when binaries are added
+to the SDK but not relocated.
+
+To avoid these issues, a new ``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
+ bbappends for the perl recipe then these may need extending.
+
+- The ``wayland`` recipe now packages its binaries in a
+ ``wayland-tools`` package rather than putting them into
+ ``wayland-dev``.
+
+- Xwayland has been split out of the xserver-xorg tree and thus is now
+ in its own ``xwayland`` recipe. If you need Xwayland in your image
+ then you may now need to add it explicitly.
+
+
+Image / SDK generation changes
+------------------------------
+
+- Recursive dependencies on the ``do_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.
+
+- Errors during "complementary" package installation (e.g. for ``*-dbg``
+ and ``*-dev`` packages) during image construction are no longer
+ ignored. Historically some of these packages had installation problems,
+ that is no longer the case. In the unlikely event that you see errors
+ as a result, you will need to fix the installation/packaging issues.
+
+- When building an image, only packages that will be used in building
+ the image (i.e. the first entry in :term:`PACKAGE_CLASSES`) will be
+ produced if multiple package types are enabled (which is not a typical
+ configuration). If in your CI system you need to have the original
+ behaviour, use ``bitbake --runall build <target>``.
+
+- The ``-lic`` package is no longer automacally added to
+ :term:`RRECOMMENDS` for every other package when
+ :term:`LICENSE_CREATE_PACKAGE` is set to "1". If you wish all license
+ packages to be installed corresponding to packages in your image, then
+ you should instead add the new ``lic-pkgs`` feature to
+ :term:`IMAGE_FEATURES`.
+
+
+Miscellaneous
+-------------
+
+- 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.
+
+- ``avahi`` has had its GTK+ support disabled by default. If you wish to
+ re-enable it, set ``AVAHI_GTK = "gtk3"`` in a bbappend for the
+ ``avahi`` recipe or in your custom distro configuration file.
+
+- Setting the ``BUILD_REPRODUCIBLE_BINARIES`` variable to "0" no longer
+ uses a strangely old fallback date of April 2011, it instead disables
+ building reproducible binaries as you would logically expect.
+
+- Setting noexec/nostamp/fakeroot varflags to any value besides "1" will
+ now trigger a warning. These should be either set to "1" to enable, or
+ not set at all to disable.
+
+- The previously deprecated ``COMPRESS_CMD`` and
+ ``CVE_CHECK_CVE_WHITELIST`` variables have been removed. Use
+ ``CONVERSION_CMD`` and :term:`CVE_CHECK_WHITELIST` respectively
+ instead.
+
+- The obsolete ``oe_machinstall`` function previously provided in the
+ :ref:`utils <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.
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 5/5] migration: tweak introduction section
2021-10-11 3:57 [PATCH 0/5] Migration info for honister release Paul Eggleton
` (3 preceding siblings ...)
2021-10-11 3:57 ` [PATCH 4/5] migration-3.4: add additional migration info Paul Eggleton
@ 2021-10-11 3:57 ` Paul Eggleton
4 siblings, 0 replies; 7+ messages in thread
From: Paul Eggleton @ 2021-10-11 3:57 UTC (permalink / raw)
To: docs
From: Paul Eggleton <paul.eggleton@microsoft.com>
Ensure we have a brief introductory section and tweak the general
migration considerations a little.
Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
---
.../migration-guides/migration-general.rst | 26 ++++++++++++++++++----
1 file changed, 22 insertions(+), 4 deletions(-)
diff --git a/documentation/migration-guides/migration-general.rst b/documentation/migration-guides/migration-general.rst
index 182482e..9eecf69 100644
--- a/documentation/migration-guides/migration-general.rst
+++ b/documentation/migration-guides/migration-general.rst
@@ -1,5 +1,17 @@
+Introduction
+============
+
+This guide provides a list of the backwards-incompatible changes you
+might need to adapt to in your existing Yocto Project configuration
+when upgrading to a new release.
+
+If you are upgrading over multiple releases, you will need to follow
+the sections from the version following the one you were previously
+using up to the new version you are upgrading to.
+
+
General Migration Considerations
-================================
+--------------------------------
Some considerations are not tied to a specific Yocto Project release.
This section presents information you should consider when migrating to
@@ -26,16 +38,17 @@ any new Yocto Project release.
The better solution (where practical) is to use append files
(``*.bbappend``) to capture any customizations you want to make to a
- recipe. Doing so, isolates your changes from the main recipe making
+ recipe. Doing so isolates your changes from the main recipe, making
them much more manageable. However, sometimes it is not practical to
use an append file. A good example of this is when introducing a
newer or older version of a recipe in another layer.
+
- *Updating Append Files*:
- Since append files generally only contain
+ Since append (``.bbappend``) files generally only contain
your customizations, they often do not need to be adjusted for new
- releases. However, if the ``.bbappend`` file is specific to a
+ releases. However, if the append file is specific to a
particular version of the recipe (i.e. its name does not use the %
wildcard) and the version of the recipe to which it is appending has
changed, then you will at a minimum need to rename the append file to
@@ -50,5 +63,10 @@ any new Yocto Project release.
this is the case and assuming the patch is still needed, you must
modify the patch file so that it does apply.
+ .. tip::
+
+ You can list all append files used in your configuration by running:
+
+ bitbake-layers show-appends
--
1.8.3.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [docs] [PATCH 4/5] migration-3.4: add additional migration info
2021-10-11 3:57 ` [PATCH 4/5] migration-3.4: add additional migration info Paul Eggleton
@ 2021-10-11 7:27 ` Quentin Schulz
0 siblings, 0 replies; 7+ messages in thread
From: Quentin Schulz @ 2021-10-11 7:27 UTC (permalink / raw)
To: docs, Paul Eggleton
Hi Paul,
On October 11, 2021 5:57:56 AM GMT+02:00, Paul Eggleton <paul.eggleton@linux.microsoft.com> wrote:
>From: Paul Eggleton <paul.eggleton@microsoft.com>
>
>Add migration instructions gathered by combing the commits in this
>release.
>
>Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
>---
> documentation/migration-guides/migration-3.4.rst | 176 +++++++++++++++++++++++
> 1 file changed, 176 insertions(+)
>
>diff --git a/documentation/migration-guides/migration-3.4.rst b/documentation/migration-guides/migration-3.4.rst
>index 3df5b69..4d656e8 100644
>--- a/documentation/migration-guides/migration-3.4.rst
>+++ b/documentation/migration-guides/migration-3.4.rst
>@@ -85,3 +85,179 @@ with other syntax improvements and simplifications for usability. It also means
> 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
>+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:
>+
>+- ``assimp``: problematic from a licensing perspective and no longer
>+ needed by anything else
>+- ``clutter-1.0``: legacy component moved to meta-gnome
>+- ``clutter-gst-3.0``: legacy component moved to meta-gnome
>+- ``clutter-gtk-1.0``: legacy component moved to meta-gnome
>+- ``cogl-1.0``: legacy component moved to meta-gnome
>+- ``core-image-clutter``: removed along with clutter
>+- ``linux-yocto``: removed version 5.4 recipes (5.14 and 5.10 still
>+ provided)
>+- ``mklibs-native``: not actively tested and upstream mklibs still
>+ requires Python 2
>+- ``mx-1.0``: obsolete (last release 2012) and isn't used by anything in
>+ 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.
>+
>+
>+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>`__),
>+and as PIE is both a desirable security feature, and the only
>+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>`__).
>+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
>+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
>+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>`__
>+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
>+approach. This has led to confusing errors when binaries are added
>+to the SDK but not relocated.
>+
>+To avoid these issues, a new ``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
>+ bbappends for the perl recipe then these may need extending.
>+
>+- The ``wayland`` recipe now packages its binaries in a
>+ ``wayland-tools`` package rather than putting them into
>+ ``wayland-dev``.
>+
>+- Xwayland has been split out of the xserver-xorg tree and thus is now
>+ in its own ``xwayland`` recipe. If you need Xwayland in your image
>+ then you may now need to add it explicitly.
>+
>+
>+Image / SDK generation changes
>+------------------------------
>+
>+- Recursive dependencies on the ``do_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.
>+
>+- Errors during "complementary" package installation (e.g. for ``*-dbg``
>+ and ``*-dev`` packages) during image construction are no longer
>+ ignored. Historically some of these packages had installation problems,
>+ that is no longer the case. In the unlikely event that you see errors
>+ as a result, you will need to fix the installation/packaging issues.
>+
>+- When building an image, only packages that will be used in building
>+ the image (i.e. the first entry in :term:`PACKAGE_CLASSES`) will be
>+ produced if multiple package types are enabled (which is not a typical
>+ configuration). If in your CI system you need to have the original
>+ behaviour, use ``bitbake --runall build <target>``.
>+
I think we should also update the comment in the local.conf.sample and local.conf.sample.extended in meta-poky to reflect that.
https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta-poky/conf/local.conf.sample#n95
>+- The ``-lic`` package is no longer automacally added to
s/automacally/automatically/
Otherwise, looks good to me. Thanks for the patches!
Cheers,
Quentin
>+ :term:`RRECOMMENDS` for every other package when
>+ :term:`LICENSE_CREATE_PACKAGE` is set to "1". If you wish all license
>+ packages to be installed corresponding to packages in your image, then
>+ you should instead add the new ``lic-pkgs`` feature to
>+ :term:`IMAGE_FEATURES`.
>+
>+
>+Miscellaneous
>+-------------
>+
>+- 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.
>+
>+- ``avahi`` has had its GTK+ support disabled by default. If you wish to
>+ re-enable it, set ``AVAHI_GTK = "gtk3"`` in a bbappend for the
>+ ``avahi`` recipe or in your custom distro configuration file.
>+
>+- Setting the ``BUILD_REPRODUCIBLE_BINARIES`` variable to "0" no longer
>+ uses a strangely old fallback date of April 2011, it instead disables
>+ building reproducible binaries as you would logically expect.
>+
>+- Setting noexec/nostamp/fakeroot varflags to any value besides "1" will
>+ now trigger a warning. These should be either set to "1" to enable, or
>+ not set at all to disable.
>+
>+- The previously deprecated ``COMPRESS_CMD`` and
>+ ``CVE_CHECK_CVE_WHITELIST`` variables have been removed. Use
>+ ``CONVERSION_CMD`` and :term:`CVE_CHECK_WHITELIST` respectively
>+ instead.
>+
>+- The obsolete ``oe_machinstall`` function previously provided in the
>+ :ref:`utils <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.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-10-11 7:27 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-11 3:57 [PATCH 0/5] Migration info for honister release Paul Eggleton
2021-10-11 3:57 ` [PATCH 1/5] migration-3.4: tweak overrides change section Paul Eggleton
2021-10-11 3:57 ` [PATCH 2/5] ref-manual: remove meta class Paul Eggleton
2021-10-11 3:57 ` [PATCH 3/5] poky.yaml: add lz4 and zstd to essential host packages Paul Eggleton
2021-10-11 3:57 ` [PATCH 4/5] migration-3.4: add additional migration info Paul Eggleton
2021-10-11 7:27 ` [docs] " Quentin Schulz
2021-10-11 3:57 ` [PATCH 5/5] migration: tweak introduction section Paul Eggleton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).