poky: subtree update:9d1b332292..2834c2f853

Alex Stewart (3):
      opkg-utils: upgrade to version 0.4.5
      opkg: upgrade to version 0.4.5
      opkg: add QA check for openssl feed verification

Alexander Kanavin (37):
      virglrenderer: explicitly depend on libgbm
      elfutils: update 0.183 -> 0.185
      libcap: update 2.49 -> 2.50
      perl: split perl-cross into its own recipe
      perl-cross: 1.3.5 -> 1.3.6
      perl: update 5.32.1 -> 5.34.0
      libgcrypt: upgrade 1.9.2 -> 1.9.3
      erofs-utils: correct upstream version check
      m4: correct ptest failures
      ovmf: update 2021.02 -> 2021.05
      apt: update 2.2.3 -> 2.2.4
      util-linux: update 2.36.2 -> 2.37
      cross-canadian: correct the location of pkg-config files
      nettle: update 3.7.2 -> 3.7.3
      glib-2.0: update 2.68.2 -> 2.68.3
      meson: upgrade 0.58.0 -> 0.58.1
      ell: upgrade 0.40 -> 0.41
      erofs-utils: upgrade 1.2.1 -> 1.3
      grub: upgrade 2.04+2.06~rc1 -> 2.06
      gptfdisk: upgrade 1.0.7 -> 1.0.8
      connman: update 1.39 -> 1.40
      libksba: upgrade 1.5.1 -> 1.6.0
      libnss-mdns: upgrade 0.15 -> 0.15.1
      libwpe: upgrade 1.10.0 -> 1.10.1
      puzzles: upgrade to latest revision
      rng-tools: upgrade 6.12 -> 6.13
      stress-ng: upgrade 0.12.09 -> 0.12.10
      python3-magic: upgrade 0.4.23 -> 0.4.24
      sudo: upgrade 1.9.7 -> 1.9.7p1
      wpebackend-fdo: upgrade 1.8.4 -> 1.10.0
      xkeyboard-config: upgrade 2.32 -> 2.33
      bitbake.conf: enable debuginfod in native/nativesdk
      gdb-cross: enable debuginfod
      util-linux: backport a patch to address mkswap hangs
      selftest: do not hardcode /tmp/sdk
      glibc: do not enable memory tagging on aarch64 just yet
      mesa: enable gallium intel drivers when building for x86

Alexandre Belloni (1):
      runqemu: time the copy to tmpfs

Alexey Brodkin (3):
      gcc: Fixes for ARC
      gdb: Add native GDB support for ARC
      gcc: Apply multilib fix to ARC as well

Alistair Francis (3):
      recipes-bsp/opensbi: Disable FW_PIC
      recipes-bsp/u-boot: Allow deploying the u-boot DTB
      recipes-bsp/opensbi: Add support for specifying a device tree

Anders Wallin (1):
      coreutils: remove NOSTAT_LEAF_OPTIMIZATION

Andrea Adami (1):
      kernel.bbclass: fix do_sizecheck() comparison

Andreas Müller (19):
      mesa: upgrade 21.1.1 -> 21.1.2
      systemd: Add more ugly casts to fix build with musl
      alsa-lib: upgrade 1.2.4 -> 1.2.5
      alsa-plugins: upgrade 1.2.2 -> 1.2.5
      alsa-tools: upgrade 1.2.2 -> 1.2.5
      alsa-topology-conf: upgrade 1.2.4 -> 1.2.5
      alsa-ucm-conf: upgrade 1.2.4 -> 1.2.5
      alsa-utils(-scripts): upgrade 1.2.4 -> 1.2.5
      libinput: upgrade 1.17.3 -> 1.18.0
      xf86-input-libinput: upgrade 0.30.0 -> 1.0.1
      epiphany: upgrade 40.1 -> 40.2
      vala: upgrade 0.52.3 -> 0.52.4
      p11-kit: upgrade 0.23.22 -> 0.23.24
      xorgproto: upgrade 2021.4.99.1 -> 2021.4.99.2
      mpg123: 1.27.2 -> 1.28.0
      libx11: upgrade 1.7.1 -> 1.7.2
      libx11: remove CPPFLAGS_FOR_BUILD += "-D_GNU_SOURCE"
      libpcap: upgrade 1.10.0 -> 1.10.1
      mesa: upgrade 21.1.2 -> 21.1.3

Bruce Ashfield (10):
      linux-yocto/5.10: update to v5.10.42
      linux-yocto/5.10: temporarily revert aufs
      linux-yocto-dev: base AUTOREV on specified version
      linux-yocto/5.4: update to v5.4.124
      linux-yocto/5.10: restore aufs
      linux-yocto/5.10: update to v5.10.43
      linux-yocto/5.4: update to v5.4.125
      linux-yocto/5.10: cgroup1: fix leaked context root causing sporadic NULL deref in LTP
      btrfs-tools: include linux/const.h to fix build with 5.12+ headers
      bsps/5.10: update to v5.10.43

Changqing Li (1):
      libjpeg-turbo: fix do_compile error on arm

Chris Laplante (1):
      bitbake: build: warn on setting noexec/nostamp/fakeroot flag to any value besides '1'

Daniel Wagenknecht (5):
      ref-manual: variables: update examples refering to DEPLOY_DIR_IMAGE
      ref-manual: variables: document IMGDEPLOYDIR
      ref-manual: migration-2.2: add note about IMGDEPLOYDIR
      ref-manual: variables: fixup example in IMAGE_CMD
      ref-manual: variables: fixup class reference in IMAGE_MANIFEST

Joe Slater (1):
      tcf-agent: change license to EPL/EDL

Joshua Watt (2):
      classes/buildhistory: Add option to strip path prefix
      classes/reproducible_build: Use atomic rename for SDE file

Justin Bronder (1):
      populate_sdk_ext: copy BBMULTICONFIG files

Kai Kang (1):
      valgrind: fix a typo

Khem Raj (14):
      harfbuzz: Fix unused-variable warning
      arch-armv4: Allow -march=armv4
      ffmpeg: Link in libatomic on riscv32
      libssp-nonshared: Use a different implementation for __stack_chk_fail
      qemuriscv: Enable 4 core emulation
      gcompat: Add recipe
      musl: Do not package glibc loader
      musl: Set UPSTREAM_CHECK_COMMITS
      Revert "libgcc-initial: Do not build fp128 to decimal ppc functions"
      qemu: Provide float128 via hwcaps2 on ppc64le
      linuxloader: Be aware of riscv32 ldso
      linuxloader.bbclass: Add entry for ppc64 LE glibc loader
      gcompat: Create symlinks to glibc ldso locations
      sdk: Enable do_populate_sdk with multilibs

Luca Boccassi (1):
      systemd: install new sysext tool via systemd-extra-utils

Marcus Comstedt (1):
      conf/machine-sdk: Add ppc64 SDK machine

Matt Spencer (1):
      systemd-conf: Prevent systemd-network from managing veth interfaces

Michael Halstead (1):
      releases: update to include 3.1.8

Michael Opdenacker (12):
      bitbake: docs: Add BB_HASHSERVE definition to glossary
      bitbake: doc: bitbake-user-manual: fix erroneous statement in glossary intro
      manuals: fix epub export warnings
      ref-manual: move migration guides to separate document
      releases: clarify supported and outdated releases
      releases: put release number after "Release Series"
      sdk-manual: fix broken references
      migration guides: remove index reference to BB_SETSCENE_VERIFY_FUNCTION2
      manuals: fix issues related to trailing dots
      sdk-manual: add missing quoting around "devtool upgrade"
      sdk-manual: fix wrong word
      sdk-manual: add missing index references

Ming Liu (2):
      u-boot-tools: fix a mkimage signature issue
      uboot-sign.bbclass: fix some install commands

Mingli Yu (2):
      sysstat: make the service start automatically
      boost: fix wrong type for mutex in regex v5

Nicolas Dechesne (3):
      index: remove the link/section to 'mega manual' from main page
      index: remove links to releases manual and index
      index: split releases manuals and indexes into two sections in the tree

Paul Barker (2):
      bitbake: asyncrpc: Add ping method
      bitbake: asyncrpc: Reduce verbosity

Quentin Schulz (6):
      docs: ref-manual: migration-3.0: remove reference to non-existing BB_SETSCENE_VERIFY_FUNCTION2
      docs: ref-manual: variables: add missing links to terms glossary
      bitbake: doc: user-manual: remove mentions to BBVERSIONS
      bitbake: doc: user-manual: ref-manual: remove mentions to BB_SETSCENE_VERIFY_FUNCTION2
      documentation: Makefile: turn warnings into errors by default
      docs: replace ``FOO`` by :term:`FOO` where possible

Richard Purdie (11):
      lttng-tools: upgrade 2.12.3 -> 2.12.4
      qemurunner: Try to ensure mmap'd libs are paged in
      qemurunner: Increase startup timeout 120 -> 300
      build-appliance-image: Update to master head revision
      test-manual: add initial reproducible builds documentation
      test-manual: Add initial YP Compatible documentation
      README: Tweak as the website isn't really new now
      README: Move to using markdown as the format
      perf: Use python3targetconfig to ensure we use target libraries
      ltp: Reinstate 'hanging' tests for evaluation
      README.poky: Formatting and content cleanup

Richard Weinberger (1):
      Document erofs filesystem targets

Robert P. J. Day (2):
      ref-manual: add SRCTREECOVEREDTASKS to variable glossary
      ref-manual: add glossary entry for NON_MULTILIB_RECIPES

Ross Burton (11):
      mx: remove from Openembedded Core
      core-image-weston: remove Clutter examples
      Remove Clutter and Cogl
      oeqa: remove Clutter usage
      meta-poky: remove clutter references
      Remove Clutter references
      gcc: enable branch protection by standard
      image_types: add zsync conversions
      avahi: apply fix for CVE-2021-3468
      qemu: fix virtio vhost-user-gpu CVEs
      gcc: replace gdb helper install revert with the upstream fix

Sakib Sajal (3):
      oeqa/core/target/qemu.py: display contents of dumped files
      oe-time-dd-test.sh: improve output formatting
      oe-time-dd-test.sh: add iostat command

Saul Wold (1):
      qemurunner: add second qmp port

Scott Weaver (1):
      bitbake: fetch2: add check for empty SRC_URI hash string

Tim Orling (8):
      maintainers.inc: update email address
      python3-scons: upgrade 3.1.2 -> 4.1.0; simplify
      python3-hypothesis: upgrade 6.13.7 -> 6.13.14
      at-spi2-core: upgrade 2.40.1 -> 2.40.2
      python3-importlib-metadata: upgrade 4.4.0 -> 4.5.0
      python3-manifest: add statistics subpackage
      python3-hypothesis: upgrade 6.13.14 -> 6.14.0
      python3: skip tests requiring tools-sdk

Tony Battersby (1):
      glibc: fix path to place zdump in the tzcode package

Tony Tascioglu (3):
      valgrind: Improve non-deterministic ptest reliability
      valgrind: remove buggy ptest from arm64
      valgrind: Actually install list of non-deterministic ptests

hongxu (1):
      nativesdk-libdnf: fix installed and not shipped files

wangmy (21):
      cmake: upgrade 3.20.2 -> 3.20.3
      mtools: upgrade 4.0.27 -> 4.0.29
      python3-magic: upgrade 0.4.22 -> 0.4.23
      less: upgrade 586 -> 589
      python3-libarchive-c: upgrade 3.0 -> 3.1
      diffoscope: upgrade 175 -> 177
      dtc: upgrade 1.6.0 -> 1.6.1
      git: upgrade 2.31.1 -> 2.32.0
      gnutls: upgrade 3.7.1 -> 3.7.2
      go: upgrade 1.16.4 -> 1.16.5
      less: upgrade 589 -> 590
      ethtool: upgrade 5.10 -> 5.12
      m4: upgrade 1.4.18 -> 1.4.19
      alsa-lib: upgrade 1.2.5 -> 1.2.5.1
      alsa-utils: upgrade 1.2.5 -> 1.2.5.1
      alsa-topology-conf: upgrade 1.2.5 -> 1.2.5.1
      alsa-ucm-conf: upgrade 1.2.5 -> 1.2.5.1
      blktrace: upgrade 1.2.0 -> 1.3.0
      enchant2: upgrade 2.2.15 -> 2.3.0
      librepo: upgrade 1.14.0 -> 1.14.1
      createrepo-c: upgrade 0.17.2 -> 0.17.3

zangrc (1):
      python3-pycairo: upgrade 1.20.0 -> 1.20.1

zhengruoqin (6):
      python3-importlib-metadata: upgrade 4.3.0 -> 4.4.0
      libogg: upgrade 1.3.4 -> 1.3.5
      liburcu: upgrade 0.12.2 -> 0.13.0
      libcomps: upgrade 0.1.16 -> 0.1.17
      python3-dbusmock: upgrade 0.23.0 -> 0.23.1
      nfs-utils: upgrade 2.5.3 -> 2.5.4

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Iac124e214336beb9cab7fb3b67a6968d4e34d06f
diff --git a/poky/documentation/migration-guides/migration-2.3.rst b/poky/documentation/migration-guides/migration-2.3.rst
new file mode 100644
index 0000000..886d579
--- /dev/null
+++ b/poky/documentation/migration-guides/migration-2.3.rst
@@ -0,0 +1,517 @@
+Release 2.3 (pyro)
+==================
+
+This section provides migration information for moving to the Yocto
+Project 2.3 Release (codename "pyro") from the prior release.
+
+.. _migration-2.3-recipe-specific-sysroots:
+
+Recipe-specific Sysroots
+------------------------
+
+The OpenEmbedded build system now uses one sysroot per recipe to resolve
+long-standing issues with configuration script auto-detection of
+undeclared dependencies. Consequently, you might find that some of your
+previously written custom recipes are missing declared dependencies,
+particularly those dependencies that are incidentally built earlier in a
+typical build process and thus are already likely to be present in the
+shared sysroot in previous releases.
+
+Consider the following:
+
+-  *Declare Build-Time Dependencies:* Because of this new feature, you
+   must explicitly declare all build-time dependencies for your recipe.
+   If you do not declare these dependencies, they are not populated into
+   the sysroot for the recipe.
+
+-  *Specify Pre-Installation and Post-Installation Native Tool
+   Dependencies:* You must specifically specify any special native tool
+   dependencies of ``pkg_preinst`` and ``pkg_postinst`` scripts by using
+   the :term:`PACKAGE_WRITE_DEPS` variable.
+   Specifying these dependencies ensures that these tools are available
+   if these scripts need to be run on the build host during the
+   :ref:`ref-tasks-rootfs` task.
+
+   As an example, see the ``dbus`` recipe. You will see that this recipe
+   has a ``pkg_postinst`` that calls ``systemctl`` if "systemd" is in
+   :term:`DISTRO_FEATURES`. In the example,
+   ``systemd-systemctl-native`` is added to :term:`PACKAGE_WRITE_DEPS`,
+   which is also conditional on "systemd" being in ``DISTRO_FEATURES``.
+
+-  Examine Recipes that Use ``SSTATEPOSTINSTFUNCS``: You need to
+   examine any recipe that uses ``SSTATEPOSTINSTFUNCS`` and determine
+   steps to take.
+
+   Functions added to ``SSTATEPOSTINSTFUNCS`` are still called as they
+   were in previous Yocto Project releases. However, since a separate
+   sysroot is now being populated for every recipe and if existing
+   functions being called through ``SSTATEPOSTINSTFUNCS`` are doing
+   relocation, then you will need to change these to use a
+   post-installation script that is installed by a function added to
+   :term:`SYSROOT_PREPROCESS_FUNCS`.
+
+   For an example, see the ``pixbufcache`` class in ``meta/classes/`` in
+   the :ref:`overview-manual/development-environment:yocto project source repositories`.
+
+   .. note::
+
+      The
+      SSTATEPOSTINSTFUNCS
+      variable itself is now deprecated in favor of the
+      do_populate_sysroot[postfuncs]
+      task. Consequently, if you do still have any function or functions
+      that need to be called after the sysroot component is created for
+      a recipe, then you would be well advised to take steps to use a
+      post installation script as described previously. Taking these
+      steps prepares your code for when
+      SSTATEPOSTINSTFUNCS
+      is removed in a future Yocto Project release.
+
+-  *Specify the Sysroot when Using Certain External Scripts:* Because
+   the shared sysroot is now gone, the scripts
+   ``oe-find-native-sysroot`` and ``oe-run-native`` have been changed
+   such that you need to specify which recipe's
+   :term:`STAGING_DIR_NATIVE` is used.
+
+.. note::
+
+   You can find more information on how recipe-specific sysroots work in
+   the ":ref:`ref-classes-staging`" section.
+
+.. _migration-2.3-path-variable:
+
+``PATH`` Variable
+-----------------
+
+Within the environment used to run build tasks, the environment variable
+``PATH`` is now sanitized such that the normal native binary paths
+(``/bin``, ``/sbin``, ``/usr/bin`` and so forth) are removed and a
+directory containing symbolic links linking only to the binaries from
+the host mentioned in the :term:`HOSTTOOLS` and
+:term:`HOSTTOOLS_NONFATAL` variables is added
+to ``PATH``.
+
+Consequently, any native binaries provided by the host that you need to
+call needs to be in one of these two variables at the configuration
+level.
+
+Alternatively, you can add a native recipe (i.e. ``-native``) that
+provides the binary to the recipe's :term:`DEPENDS`
+value.
+
+.. note::
+
+   PATH
+   is not sanitized in the same way within ``devshell``.
+   If it were, you would have difficulty running host tools for
+   development and debugging within the shell.
+
+.. _migration-2.3-scripts:
+
+Changes to Scripts
+------------------
+
+The following changes to scripts took place:
+
+-  ``oe-find-native-sysroot``: The usage for the
+   ``oe-find-native-sysroot`` script has changed to the following::
+
+      $ . oe-find-native-sysroot recipe
+
+   You must now supply a recipe for recipe
+   as part of the command. Prior to the Yocto Project 2.3 release, it
+   was not necessary to provide the script with the command.
+
+-  ``oe-run-native``: The usage for the ``oe-run-native`` script has
+   changed to the following::
+
+      $ oe-run-native native_recipe tool
+
+   You must
+   supply the name of the native recipe and the tool you want to run as
+   part of the command. Prior to the Yocto Project 2.3 release, it
+   was not necessary to provide the native recipe with the command.
+
+-  ``cleanup-workdir``: The ``cleanup-workdir`` script has been
+   removed because the script was found to be deleting files it should
+   not have, which lead to broken build trees. Rather than trying to
+   delete portions of :term:`TMPDIR` and getting it wrong,
+   it is recommended that you delete :term:`TMPDIR` and have it restored
+   from shared state (sstate) on subsequent builds.
+
+-  ``wipe-sysroot``: The ``wipe-sysroot`` script has been removed as
+   it is no longer needed with recipe-specific sysroots.
+
+.. _migration-2.3-functions:
+
+Changes to Functions
+--------------------
+
+The previously deprecated ``bb.data.getVar()``, ``bb.data.setVar()``,
+and related functions have been removed in favor of ``d.getVar()``,
+``d.setVar()``, and so forth.
+
+You need to fix any references to these old functions.
+
+.. _migration-2.3-bitbake-changes:
+
+BitBake Changes
+---------------
+
+The following changes took place for BitBake:
+
+-  *BitBake's Graphical Dependency Explorer UI Replaced:* BitBake's
+   graphical dependency explorer UI ``depexp`` was replaced by
+   ``taskexp`` ("Task Explorer"), which provides a graphical way of
+   exploring the ``task-depends.dot`` file. The data presented by Task
+   Explorer is much more accurate than the data that was presented by
+   ``depexp``. Being able to visualize the data is an often requested
+   feature as standard ``*.dot`` file viewers cannot usual cope with the
+   size of the ``task-depends.dot`` file.
+
+-  *BitBake "-g" Output Changes:* The ``package-depends.dot`` and
+   ``pn-depends.dot`` files as previously generated using the
+   ``bitbake -g`` command have been removed. A ``recipe-depends.dot``
+   file is now generated as a collapsed version of ``task-depends.dot``
+   instead.
+
+   The reason for this change is because ``package-depends.dot`` and
+   ``pn-depends.dot`` largely date back to a time before task-based
+   execution and do not take into account task-level dependencies
+   between recipes, which could be misleading.
+
+-  *Mirror Variable Splitting Changes:* Mirror variables including
+   :term:`MIRRORS`, :term:`PREMIRRORS`,
+   and :term:`SSTATE_MIRRORS` can now separate
+   values entirely with spaces. Consequently, you no longer need "\\n".
+   BitBake looks for pairs of values, which simplifies usage. There
+   should be no change required to existing mirror variable values
+   themselves.
+
+-  *The Subversion (SVN) Fetcher Uses an "ssh" Parameter and Not an
+   "rsh" Parameter:* The SVN fetcher now takes an "ssh" parameter
+   instead of an "rsh" parameter. This new optional parameter is used
+   when the "protocol" parameter is set to "svn+ssh". You can only use
+   the new parameter to specify the ``ssh`` program used by SVN. The SVN
+   fetcher passes the new parameter through the ``SVN_SSH`` environment
+   variable during the :ref:`ref-tasks-fetch` task.
+
+   See the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-fetching:subversion (svn) fetcher (\`\`svn://\`\`)`"
+   section in the BitBake
+   User Manual for additional information.
+
+-  ``BB_SETSCENE_VERIFY_FUNCTION`` and ``BB_SETSCENE_VERIFY_FUNCTION2``
+   Removed: Because the mechanism they were part of is no longer
+   necessary with recipe-specific sysroots, the
+   ``BB_SETSCENE_VERIFY_FUNCTION`` and ``BB_SETSCENE_VERIFY_FUNCTION2``
+   variables have been removed.
+
+.. _migration-2.3-absolute-symlinks:
+
+Absolute Symbolic Links
+-----------------------
+
+Absolute symbolic links (symlinks) within staged files are no longer
+permitted and now trigger an error. Any explicit creation of symlinks
+can use the ``lnr`` script, which is a replacement for ``ln -r``.
+
+If the build scripts in the software that the recipe is building are
+creating a number of absolute symlinks that need to be corrected, you
+can inherit ``relative_symlinks`` within the recipe to turn those
+absolute symlinks into relative symlinks.
+
+.. _migration-2.3-gplv2-and-gplv3-moves:
+
+GPLv2 Versions of GPLv3 Recipes Moved
+-------------------------------------
+
+Older GPLv2 versions of GPLv3 recipes have moved to a separate
+``meta-gplv2`` layer.
+
+If you use :term:`INCOMPATIBLE_LICENSE` to
+exclude GPLv3 or set :term:`PREFERRED_VERSION`
+to substitute a GPLv2 version of a GPLv3 recipe, then you must add the
+``meta-gplv2`` layer to your configuration.
+
+.. note::
+
+   You can ``find meta-gplv2`` layer in the OpenEmbedded layer index at
+   :oe_layer:`/meta-gplv2`.
+
+These relocated GPLv2 recipes do not receive the same level of
+maintenance as other core recipes. The recipes do not get security fixes
+and upstream no longer maintains them. In fact, the upstream community
+is actively hostile towards people that use the old versions of the
+recipes. Moving these recipes into a separate layer both makes the
+different needs of the recipes clearer and clearly identifies the number
+of these recipes.
+
+.. note::
+
+   The long-term solution might be to move to BSD-licensed replacements
+   of the GPLv3 components for those that need to exclude GPLv3-licensed
+   components from the target system. This solution will be investigated
+   for future Yocto Project releases.
+
+.. _migration-2.3-package-management-changes:
+
+Package Management Changes
+--------------------------
+
+The following package management changes took place:
+
+-  Smart package manager is replaced by DNF package manager. Smart has
+   become unmaintained upstream, is not ported to Python 3.x.
+   Consequently, Smart needed to be replaced. DNF is the only feasible
+   candidate.
+
+   The change in functionality is that the on-target runtime package
+   management from remote package feeds is now done with a different
+   tool that has a different set of command-line options. If you have
+   scripts that call the tool directly, or use its API, they need to be
+   fixed.
+
+   For more information, see the `DNF
+   Documentation <https://dnf.readthedocs.io/en/latest/>`__.
+
+-  Rpm 5.x is replaced with Rpm 4.x. This is done for two major reasons:
+
+   -  DNF is API-incompatible with Rpm 5.x and porting it and
+      maintaining the port is non-trivial.
+
+   -  Rpm 5.x itself has limited maintenance upstream, and the Yocto
+      Project is one of the very few remaining users.
+
+-  Berkeley DB 6.x is removed and Berkeley DB 5.x becomes the default:
+
+   -  Version 6.x of Berkeley DB has largely been rejected by the open
+      source community due to its AGPLv3 license. As a result, most
+      mainstream open source projects that require DB are still
+      developed and tested with DB 5.x.
+
+   -  In OE-core, the only thing that was requiring DB 6.x was Rpm 5.x.
+      Thus, no reason exists to continue carrying DB 6.x in OE-core.
+
+-  ``createrepo`` is replaced with ``createrepo_c``.
+
+   ``createrepo_c`` is the current incarnation of the tool that
+   generates remote repository metadata. It is written in C as compared
+   to ``createrepo``, which is written in Python. ``createrepo_c`` is
+   faster and is maintained.
+
+-  Architecture-independent RPM packages are "noarch" instead of "all".
+
+   This change was made because too many places in DNF/RPM4 stack
+   already make that assumption. Only the filenames and the architecture
+   tag has changed. Nothing else has changed in OE-core system,
+   particularly in the :ref:`allarch.bbclass <ref-classes-allarch>`
+   class.
+
+-  Signing of remote package feeds using ``PACKAGE_FEED_SIGN`` is not
+   currently supported. This issue will be fully addressed in a future
+   Yocto Project release. See :yocto_bugs:`defect 11209 </show_bug.cgi?id=11209>`
+   for more information on a solution to package feed signing with RPM
+   in the Yocto Project 2.3 release.
+
+-  OPKG now uses the libsolv backend for resolving package dependencies
+   by default. This is vastly superior to OPKG's internal ad-hoc solver
+   that was previously used. This change does have a small impact on
+   disk (around 500 KB) and memory footprint.
+
+   .. note::
+
+      For further details on this change, see the
+      :yocto_git:`commit message </poky/commit/?id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81>`.
+
+.. _migration-2.3-removed-recipes:
+
+Removed Recipes
+---------------
+
+The following recipes have been removed:
+
+-  ``linux-yocto 4.8``: Version 4.8 has been removed. Versions 4.1
+   (LTSI), 4.4 (LTS), 4.9 (LTS/LTSI) and 4.10 are now present.
+
+-  ``python-smartpm``: Functionally replaced by ``dnf``.
+
+-  ``createrepo``: Replaced by the ``createrepo-c`` recipe.
+
+-  ``rpmresolve``: No longer needed with the move to RPM 4 as RPM
+   itself is used instead.
+
+-  ``gstreamer``: Removed the GStreamer Git version recipes as they
+   have been stale. ``1.10.``\ x recipes are still present.
+
+-  ``alsa-conf-base``: Merged into ``alsa-conf`` since ``libasound``
+   depended on both. Essentially, no way existed to install only one of
+   these.
+
+-  ``tremor``: Moved to ``meta-multimedia``. Fixed-integer Vorbis
+   decoding is not needed by current hardware. Thus, GStreamer's ivorbis
+   plugin has been disabled by default eliminating the need for the
+   ``tremor`` recipe in :term:`OpenEmbedded-Core (OE-Core)`.
+
+-  ``gummiboot``: Replaced by ``systemd-boot``.
+
+.. _migration-2.3-wic-changes:
+
+Wic Changes
+-----------
+
+The following changes have been made to Wic:
+
+.. note::
+
+   For more information on Wic, see the
+   ":ref:`dev-manual/common-tasks:creating partitioned images using wic`"
+   section in the Yocto Project Development Tasks Manual.
+
+-  *Default Output Directory Changed:* Wic's default output directory is
+   now the current directory by default instead of the unusual
+   ``/var/tmp/wic``.
+
+   The "-o" and "--outdir" options remain unchanged and are used to
+   specify your preferred output directory if you do not want to use the
+   default directory.
+
+-  *fsimage Plug-in Removed:* The Wic fsimage plugin has been removed as
+   it duplicates functionality of the rawcopy plugin.
+
+.. _migration-2.3-qa-changes:
+
+QA Changes
+----------
+
+The following QA checks have changed:
+
+-  ``unsafe-references-in-binaries``: The
+   ``unsafe-references-in-binaries`` QA check, which was disabled by
+   default, has now been removed. This check was intended to detect
+   binaries in ``/bin`` that link to libraries in ``/usr/lib`` and have
+   the case where the user has ``/usr`` on a separate filesystem to
+   ``/``.
+
+   The removed QA check was buggy. Additionally, ``/usr`` residing on a
+   separate partition from ``/`` is now a rare configuration.
+   Consequently, ``unsafe-references-in-binaries`` was removed.
+
+-  ``file-rdeps``: The ``file-rdeps`` QA check is now an error by
+   default instead of a warning. Because it is an error instead of a
+   warning, you need to address missing runtime dependencies.
+
+   For additional information, see the
+   :ref:`insane <ref-classes-insane>` class and the
+   ":ref:`ref-manual/qa-checks:errors and warnings`" section.
+
+.. _migration-2.3-miscellaneous-changes:
+
+Miscellaneous Changes
+---------------------
+
+The following miscellaneous changes have occurred:
+
+-  In this release, a number of recipes have been changed to ignore the
+   ``largefile`` :term:`DISTRO_FEATURES` item,
+   enabling large file support unconditionally. This feature has always
+   been enabled by default. Disabling the feature has not been widely
+   tested.
+
+   .. note::
+
+      Future releases of the Yocto Project will remove entirely the
+      ability to disable the
+      largefile
+      feature, which would make it unconditionally enabled everywhere.
+
+-  If the :term:`DISTRO_VERSION` value contains
+   the value of the :term:`DATE` variable, which is the
+   default between Poky releases, the :term:`DATE` value is explicitly
+   excluded from ``/etc/issue`` and ``/etc/issue.net``, which is
+   displayed at the login prompt, in order to avoid conflicts with
+   Multilib enabled. Regardless, the :term:`DATE` value is inaccurate if the
+   ``base-files`` recipe is restored from shared state (sstate) rather
+   than rebuilt.
+
+   If you need the build date recorded in ``/etc/issue*`` or anywhere
+   else in your image, a better method is to define a post-processing
+   function to do it and have the function called from
+   :term:`ROOTFS_POSTPROCESS_COMMAND`.
+   Doing so ensures the value is always up-to-date with the created
+   image.
+
+-  Dropbear's ``init`` script now disables DSA host keys by default.
+   This change is in line with the systemd service file, which supports
+   RSA keys only, and with recent versions of OpenSSH, which deprecates
+   DSA host keys.
+
+-  The :ref:`buildhistory <ref-classes-buildhistory>` class now
+   correctly uses tabs as separators between all columns in
+   ``installed-package-sizes.txt`` in order to aid import into other
+   tools.
+
+-  The ``USE_LDCONFIG`` variable has been replaced with the "ldconfig"
+   :term:`DISTRO_FEATURES` feature. Distributions that previously set::
+
+      USE_LDCONFIG = "0"
+
+   should now instead use the following::
+
+      DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig"
+
+-  The default value of
+   :term:`COPYLEFT_LICENSE_INCLUDE` now
+   includes all versions of AGPL licenses in addition to GPL and LGPL.
+
+   .. note::
+
+      The default list is not intended to be guaranteed as a complete
+      safe list. You should seek legal advice based on what you are
+      distributing if you are unsure.
+
+-  Kernel module packages are now suffixed with the kernel version in
+   order to allow module packages from multiple kernel versions to
+   co-exist on a target system. If you wish to return to the previous
+   naming scheme that does not include the version suffix, use the
+   following::
+
+      KERNEL_MODULE_PACKAGE_SUFFIX = ""
+
+-  Removal of ``libtool`` ``*.la`` files is now enabled by default. The
+   ``*.la`` files are not actually needed on Linux and relocating them
+   is an unnecessary burden.
+
+   If you need to preserve these ``.la`` files (e.g. in a custom
+   distribution), you must change
+   :term:`INHERIT_DISTRO` such that
+   "remove-libtool" is not included in the value.
+
+-  Extensible SDKs built for GCC 5+ now refuse to install on a
+   distribution where the host GCC version is 4.8 or 4.9. This change
+   resulted from the fact that the installation is known to fail due to
+   the way the ``uninative`` shared state (sstate) package is built. See
+   the :ref:`uninative <ref-classes-uninative>` class for additional
+   information.
+
+-  All native and nativesdk recipes now use a separate
+   :term:`DISTRO_FEATURES` value instead of sharing the value used by
+   recipes for the target, in order to avoid unnecessary rebuilds.
+
+   The :term:`DISTRO_FEATURES` for ``native`` recipes is
+   :term:`DISTRO_FEATURES_NATIVE` added to
+   an intersection of :term:`DISTRO_FEATURES` and
+   :term:`DISTRO_FEATURES_FILTER_NATIVE`.
+
+   For nativesdk recipes, the corresponding variables are
+   :term:`DISTRO_FEATURES_NATIVESDK`
+   and
+   :term:`DISTRO_FEATURES_FILTER_NATIVESDK`.
+
+-  The ``FILESDIR`` variable, which was previously deprecated and rarely
+   used, has now been removed. You should change any recipes that set
+   ``FILESDIR`` to set :term:`FILESPATH` instead.
+
+-  The ``MULTIMACH_HOST_SYS`` variable has been removed as it is no
+   longer needed with recipe-specific sysroots.
+
+