docs.lists.yoctoproject.org archive mirror
 help / color / mirror / Atom feed
* [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).