poky: subtree update:a35bf0e5d3..b66b9f7548

backport:
meson 0.54.2: backport upstream patch for boost libs

Adrian Bunk (1):
      libubootenv: Remove the DEPENDS on mtd-utils

Alex Kiernan (2):
      openssh: Upgrade 8.2p1 -> 8.3p1
      systemd: upgrade v245.5 -> v245.6

Alexander Kanavin (68):
      btrfs-tools: upgrade 5.4.1 -> 5.6.1
      build-compare: upgrade to latest revision
      ccache: upgrade 3.7.7 -> 3.7.9
      createrepo-c: upgrade 0.15.7 -> 0.15.10
      dpkg: upgrade 1.19.7 -> 1.20.0
      librepo: upgrade 1.11.2 -> 1.11.3
      python3-numpy: upgrade 1.18.3 -> 1.18.4
      python3-cython: upgrade 0.29.16 -> 0.29.19
      python3-gitdb: upgrade 4.0.4 -> 4.0.5
      python3-mako: upgrade 1.1.1 -> 1.1.3
      python3-pygments: upgrade 2.5.2 -> 2.6.1
      python3-smmap: upgrade 2.0.5 -> 3.0.4
      python3-subunit: upgrade 1.3.0 -> 1.4.0
      python3-testtools: upgrade 2.3.0 -> 2.4.0
      python3: upgrade 3.8.2 -> 3.8.3
      strace: upgrade 5.5 -> 5.6
      vala: upgrade 0.46.6 -> 0.48.6
      cups: upgrade 2.3.1 -> 2.3.3
      gawk: upgrade 5.0.1 -> 5.1.0
      libsolv: upgrade 0.7.10 -> 0.7.14
      man-pages: upgrade 5.05 -> 5.06
      msmtp: upgrade 1.8.8 -> 1.8.10
      stress-ng: upgrade 0.11.01 -> 0.11.12
      stress-ng: mark as incompatible with musl
      sudo: upgrade 1.8.31 -> 1.9.0
      adwaita-icon-theme: upgrade 3.34.3 -> 3.36.1
      gtk+3: upgrade 3.24.14 -> 3.24.20
      cogl-1.0: upgrade 1.22.4 -> 1.22.6
      mesa: upgrade 20.0.2 -> 20.0.7
      mesa: merge the .bb content into .inc
      piglit: upgrade to latest revision
      waffle: upgrade 1.6.0 -> 1.6.1
      pixman: upgrade 0.38.4 -> 0.40.0
      kmod: upgrade 26 -> 27
      powertop: upgrade 2.10 -> 2.12
      alsa-plugins: upgrade 1.2.1 -> 1.2.2
      alsa-tools: upgrade 1.1.7 -> 1.2.2
      alsa-utils: split the content into .inc
      alsa-topology/ucm-conf: update to 1.2.2
      x264: upgrade to latest revision
      puzzles: upgrade to latest revision
      libcap: upgrade 2.33 -> 2.34
      libical: upgrade 3.0.7 -> 3.0.8
      libunwind: upgrade 1.3.1 -> 1.4.0
      rng-tools: upgrade 6.9 -> 6.10
      babeltrace: correct the git SRC_URI
      libexif: update to 0.6.22
      ppp: update 2.4.7 -> 2.4.8
      gettext: update 0.20.1 -> 0.20.2
      ptest-runner: fix upstream version check
      automake: 1.16.1 -> 1.16.2
      bison: 3.5.4 -> 3.6.2
      cmake: update 3.16.5 -> 3.17.3
      gnu-config: update to latest revision
      jquery: update to 3.5.1
      json-c: update 0.13.1 - > 0.14
      libmodulemd: update 2.9.2 -> 2.9.4
      meson: upgrade 0.53.2 -> 0.54.2
      shared-mime-info: fix upstream version check
      mpg123: fix upstream version check
      ethtool: upgrade 5.4 -> 5.6
      libcpre2: update 10.34 -> 10.35
      help2man-native: update to 1.47.15
      apt: update to 1.8.2.1
      asciidoc: bump PV to 8.6.10
      pulseaudio: exclude pre-releases from version checks
      xinetd: switch to a maintained opensuse fork
      lz4: disable static library

Andreas Müller (1):
      vte: Pack ${libexecdir}/vte-urlencode-cwd to vte-prompt

Anuj Mittal (1):
      linux-yocto: bump genericx86 kernel version to v5.4.40

Bruce Ashfield (5):
      linux-yocto/5.4: update to v5.4.42
      linux-yocto-rt/5.4: update to rt24
      linux-yocto/5.4: temporarily revert IKHEADERS in standard kernels
      linux-yocto: gather reproducibility configs into a fragment
      linux-yocto/5.4: update to v5.4.43

Christian Eggers (2):
      librsvg: Extend for nativesdk
      tiff: Extend for nativesdk

Hongxu Jia (1):
      rpm: fix rpm -Kv xxx.rpm failed if signature header is larger than 64KB

Jacob Kroon (1):
      bitbake: doc: More explanation to tasks that recursively depend on themselves

Jan Luebbe (1):
      classes/buildhistory: capture package config

Jens Rehsack (2):
      initscripts/init-system-helpers: fix mountnfs.sh dependency
      init-system-helpers: avoid superfluous update-rc.d

Joshua Watt (2):
      layer.conf: Bump OE-Core layer version
      wic: Add --offset argument for partitions

Junling Zheng (3):
      buildstats.bbclass: Remove useless variables
      buildstats.bbclass: Do not recalculate build start time
      security_flags: Remove stack protector flag from LDFLAGS

Kai Kang (1):
      bitbake: bitbake-user-manual-metadata.xml: fix a minor error

Khem Raj (4):
      make-mod-scripts: Fix a rare build race condition
      go-1.14: Update to 1.14.3 minor release
      armv8/tunes: Set TUNE_PKGARCH_64 based on ARMPKGARCH
      ltp: Disable sigwaitinfo tests relying on undefined behavior

Konrad Weihmann (8):
      qemurunner: fix ip fallback detection
      sysfsutils: rem leftover settings for libsysfs-dev
      debianutils: whitespace fixes
      libjpeg-turbo: whitespace fixes
      cairo: remove trailing whitespace
      gtk-doc: remove trailing whitespace
      libxt: fix whitespaces
      cogl: point to correct HOMEPAGE

Lee Chee Yang (4):
      re2c: fix CVE-2020-11958
      bind: fix CVE-2020-8616/7
      glib-2.0: 2.64.2 -> 2.64.3
      glib-networking: 2.64.2 -> 2.64.3

Marco Felsch (1):
      util-linux: alternatify rtcwake

Mark Hatle (1):
      sstate.bbclass: When siginfo or sig files are missing, stop fetcher errors

Martin Jansa (6):
      devtool: use -f and don't use --exclude-standard when adding files to workspace
      meta-selftest: add test of .gitignore in tarball
      lib/oe/patch: prevent applying patches without any subject
      lib/oe/patch: GitApplyTree: save 1 echo in commit-msg hook
      Revert "lib/oe/patch: fix handling of patches with no header"
      meta-selftest: add test for .patch file with long filename and without subject

Mauro Queirós (3):
      bitbake: git.py: skip smudging if lfs=0 is set
      bitbake: git.py: LFS bitbake note should not be printed if need_lfs is not set.
      bitbake: git.py: Use the correct branch to check if the repository has LFS objects.

Ming Liu (2):
      u-boot.inc: fix some inconsistent coding style
      u-boot: introduce UBOOT_INITIAL_ENV

Paul Barker (5):
      archiver: Fix test case for srpm archiver mode
      oe-selftest: Allow overriding the build directory used for tests
      oe-selftest: Support verbose log output
      oe-selftest: Recursively patch test case paths
      bitbake: fetch2: Add the ability to list expanded URL data

Peter Kjellerstedt (1):
      cairo: Do not try to remove nonexistent directories

Pierre-Jean Texier (1):
      diffoscope: upgrade 144 -> 146

Ralph Siemsen (1):
      cve-check: include epoch in product version output

Richard Purdie (7):
      lib/classextend: Drop unneeded comment
      poky.ent: Update UBUNTU_HOST_PACKAGES_ESSENTIAL to match recent changes
      maintainers: Update Ross' email address
      logrotate: Drop obsolete setting/comment
      oeqa/targetcontrol: Rework exception handling to avoid warnings
      patchelf: Add patch to address corrupt shared library issue
      poky.ent: Update XXX_HOST_PACKAGES_ESSENTIAL to include mesa for other distros

Robert P. J. Day (1):
      bitbake.conf: Remove unused DEPLOY_DIR_TOOLS variable

Tim Orling (1):
      bitbake: toaster-requirements.txt: require Django 2.2

Trevor Gamblin (1):
      qemuarm: check serial consoles vs /proc/consoles

Wang Mingyu (13):
      less: upgrade 551 -> 562
      liburcu: upgrade 0.12.0 -> 0.12.1
      alsa-lib: upgrade 1.2.1.2 -> 1.2.2
      alsa-utils: upgrade 1.2.1 -> 1.2.2
      python3-six: upgrade 1.14.0 -> 1.15.0
      util-linux: upgrade 2.35.1 -> 2.35.2
      xf86-input-libinput: upgrade 0.29.0 -> 0.30.0
      ca-certificates: upgrade 20190110 -> 20200601
      dbus: upgrade 1.12.16 -> 1.12.18
      libyaml: upgrade 0.2.4 -> 0.2.5
      sqlite: upgrade 3.31.1 -> 3.32.1
      valgrind: upgrade 3.15.0 -> 3.16.0
      dbus-test: upgrade 1.12.16 -> 1.12.18

akuster (2):
      poky.ent: Update OPENSUSE_HOST_PACKAGES_ESSENTIAL to include mesa-dri-devel
      yocto-docs: Add SPDX headers in scripts and Makefile

hongxu (1):
      core-image-minimal-initramfs: keep restriction with initramfs-module-install

zangrc (3):
      python3-pycairo:upgrade 1.19.0 -> 1.19.1
      python3-pygobject:upgrade 3.34.0 -> 3.36.1
      python3-setuptools:upgrade 45.2.0 -> 47.1.1

zhengruoqin (2):
      gdb: upgrade 9.1 -> 9.2
      libyaml: upgrade 0.2.2 -> 0.2.4

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I60e616be0c30904f8cfc947089ed2e4f5e84bc60
diff --git a/poky/meta/recipes-devtools/apt/apt-native.inc b/poky/meta/recipes-devtools/apt/apt-native.inc
deleted file mode 100644
index d826786..0000000
--- a/poky/meta/recipes-devtools/apt/apt-native.inc
+++ /dev/null
@@ -1,74 +0,0 @@
-require apt.inc
-inherit native
-
-DEPENDS += "dpkg-native gettext-native db-native curl-native xz-native"
-PACKAGES = ""
-USE_NLS = "yes"
-
-SRC_URI += "file://db_linking_hack.patch \
-            file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
-"
-
-python do_install () {
-    bb.build.exec_func('do_install_base', d)
-    bb.build.exec_func('do_install_config', d)
-}
-
-python do_install_config () {
-    indir = os.path.dirname(d.getVar('FILE'))
-    infile = open(oe.path.join(indir, 'files', 'apt.conf'), 'r')
-    data = infile.read()
-    infile.close()
-
-    data = d.expand(data)
-
-    outdir = oe.path.join(d.getVar('D'), d.getVar('sysconfdir'), 'apt')
-    if not os.path.exists(outdir):
-        os.makedirs(outdir)
-
-    outpath = oe.path.join(outdir, 'apt.conf.sample')
-    if not os.path.exists(outpath):
-        outfile = open(outpath, 'w')
-        outfile.write(data)
-        outfile.close()
-}
-
-do_install_base () {
-	install -d ${D}${bindir}
-	install -m 0755 bin/apt-cdrom ${D}${bindir}/
-	install -m 0755 bin/apt-get ${D}${bindir}/
-	install -m 0755 bin/apt-config ${D}${bindir}/
-	install -m 0755 bin/apt-cache ${D}${bindir}/
-	install -m 0755 bin/apt-sortpkgs ${D}${bindir}/
-	install -m 0755 bin/apt-extracttemplates ${D}${bindir}/
-	install -m 0755 bin/apt-ftparchive ${D}${bindir}/
-
-	oe_libinstall -so -C bin libapt-private ${D}${libdir}/
-
-	oe_libinstall -so -C bin libapt-pkg$GLIBC_VER$LIBSTDCPP_VER ${D}${libdir}/
-	oe_libinstall -so -C bin libapt-inst$GLIBC_VER$LIBSTDCPP_VER ${D}${libdir}/
-
-	install -d ${D}${libdir}/apt/methods
-	install -m 0755 bin/methods/* ${D}${libdir}/apt/methods/
-
-	install -d ${D}${libdir}/dpkg/methods/apt
-	install -m 0644 ${S}/dselect/desc.apt ${D}${libdir}/dpkg/methods/apt/ 
-	install -m 0644 ${S}/dselect/names ${D}${libdir}/dpkg/methods/apt/ 
-	install -m 0755 ${S}/dselect/install ${D}${libdir}/dpkg/methods/apt/ 
-	install -m 0755 ${S}/dselect/setup ${D}${libdir}/dpkg/methods/apt/ 
-	install -m 0755 ${S}/dselect/update ${D}${libdir}/dpkg/methods/apt/ 
-
-	install -d ${D}${sysconfdir}/apt
-	install -d ${D}${sysconfdir}/apt/apt.conf.d
-	install -d ${D}${sysconfdir}/apt/preferences.d
-	install -d ${D}${localstatedir}/lib/apt/lists/partial
-	install -d ${D}${localstatedir}/cache/apt/archives/partial
-
-	install -d ${D}${localstatedir}/log/apt/
-
-	install -d ${D}${includedir}/apt-pkg
-	for h in `find ${S}/apt-pkg ${S}/apt-inst -name '*.h'`
-	do
-		install -m 0644 $h ${D}${includedir}/apt-pkg
-	done
-}
diff --git a/poky/meta/recipes-devtools/apt/apt-native_1.2.31.bb b/poky/meta/recipes-devtools/apt/apt-native_1.2.31.bb
deleted file mode 100644
index 2952c21..0000000
--- a/poky/meta/recipes-devtools/apt/apt-native_1.2.31.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require apt-native.inc
-
-SRC_URI += "file://noconfigure.patch \
-            file://no-curl.patch \
-"
diff --git a/poky/meta/recipes-devtools/apt/apt-package.inc b/poky/meta/recipes-devtools/apt/apt-package.inc
deleted file mode 100644
index 922f739..0000000
--- a/poky/meta/recipes-devtools/apt/apt-package.inc
+++ /dev/null
@@ -1,94 +0,0 @@
-apt-manpages="doc/apt-cache.8 \
-	      doc/apt-cdrom.8 \
-	      doc/apt-config.8 \
-	      doc/apt-get.8 \
-	      doc/apt.8 \
-	      doc/apt.conf.5 \
-	      doc/apt_preferences.5 \
-	      doc/sources.list.5"
-apt-utils-manpages="doc/apt-extracttemplates.1 \
-		    doc/apt-sortpkgs.1"
-
-def get_files_apt_doc(d, bb, manpages):
-    import re
-    manpages = re.sub(r'\bdoc/(\S+)/(\S+)\.\1\.(.)\b', r'${mandir}/\1/man\3/\2.\3', manpages)
-    manpages = re.sub(r'\bdoc/(\S+)\.(.)\b', r'${mandir}/man\2/\1.\2', manpages)
-    return manpages
-
-def get_commands_apt_doc(d, bb, manpages):
-    s = list()
-    __dir_cache__ = list()
-    for m in manpages.split():
-        dest = get_files_apt_doc(d, bb, m)
-        dir = os.path.dirname(dest)
-        if not dir in __dir_cache__:
-            s.append("install -d ${D}/%s" % dir)
-            __dir_cache__.append(dir)
-        s.append("install -m 0644 %s ${D}/%s" % (m, dest))
-    return "\n".join(s)
-
-PACKAGES += "${PN}-utils ${PN}-utils-doc"
-FILES_${PN} = "${bindir}/apt-cdrom ${bindir}/apt-get \
-	       ${bindir}/apt-config ${bindir}/apt-cache \
-	       ${libdir}/apt ${libdir}/libapt*.so.* \
-	       ${localstatedir} ${sysconfdir} \
-	       ${libdir}/dpkg \
-	       ${systemd_unitdir}/system \
-           "
-RDEPENDS_${PN} += "perl"
-FILES_${PN}-utils = "${bindir}/apt-sortpkgs ${bindir}/apt-extracttemplates"
-FILES_${PN}-doc = "${@get_files_apt_doc(d, bb, d.getVar('apt-manpages'))} \
-		   ${docdir}/apt"
-FILES_${PN}-utils-doc = "${@get_files_apt_doc(d, bb, d.getVar('apt-utils-manpages'))}"
-FILES_${PN}-dev = "${libdir}/libapt*.so ${includedir}"
-
-inherit systemd
-
-SYSTEMD_SERVICE_${PN} = "apt-daily.timer"
-
-do_install () {
-	set -x
-	install -d ${D}${bindir}
-	install -m 0755 bin/apt-key ${D}${bindir}/
-	install -m 0755 bin/apt-cdrom ${D}${bindir}/
-	install -m 0755 bin/apt-get ${D}${bindir}/
-	install -m 0755 bin/apt-config ${D}${bindir}/
-	install -m 0755 bin/apt-cache ${D}${bindir}/
-
-	install -m 0755 bin/apt-sortpkgs ${D}${bindir}/
-	install -m 0755 bin/apt-extracttemplates ${D}${bindir}/
-
-	oe_libinstall -so -C bin libapt-pkg ${D}${libdir}
-	oe_libinstall -so -C bin libapt-inst ${D}${libdir}
-
-	install -d ${D}${libdir}/apt/methods
-	install -m 0755 bin/methods/* ${D}${libdir}/apt/methods/
-
-	install -d ${D}${libdir}/dpkg/methods/apt
-	install -m 0644 ${S}/dselect/desc.apt ${D}${libdir}/dpkg/methods/apt/ 
-	install -m 0644 ${S}/dselect/names ${D}${libdir}/dpkg/methods/apt/ 
-	install -m 0755 ${S}/dselect/install ${D}${libdir}/dpkg/methods/apt/ 
-	install -m 0755 ${S}/dselect/setup ${D}${libdir}/dpkg/methods/apt/ 
-	install -m 0755 ${S}/dselect/update ${D}${libdir}/dpkg/methods/apt/ 
-
-	install -d ${D}${sysconfdir}/apt
-	install -d ${D}${sysconfdir}/apt/apt.conf.d
-	install -d ${D}${sysconfdir}/apt/sources.list.d
-	install -d ${D}${sysconfdir}/apt/preferences.d
-	install -d ${D}${localstatedir}/lib/apt/lists/partial
-	install -d ${D}${localstatedir}/cache/apt/archives/partial
-	install -d ${D}${docdir}/apt/examples
-	install -m 0644 ${S}/doc/examples/* ${D}${docdir}/apt/examples/
-
-	install -d ${D}${includedir}/apt-pkg/
-	install -m 0644 include/apt-pkg/*.h ${D}${includedir}/apt-pkg/
-
-	install -d ${D}${systemd_unitdir}/system/
-	install -m 0755 ${S}/debian/apt.systemd.daily ${D}${libdir}/apt/
-	install -m 0644 ${S}/debian/apt-daily.service ${D}${systemd_unitdir}/system/
-	sed -i 's#/usr/lib/apt/#${libdir}/apt/#g' ${D}${systemd_unitdir}/system/apt-daily.service
-	install -m 0644 ${S}/debian/apt-daily.timer ${D}${systemd_unitdir}/system/
-	install -d ${D}${sysconfdir}/cron.daily/
-	install -m 0755 ${S}/debian/apt.apt-compat.cron.daily ${D}${sysconfdir}/cron.daily/
-	sed -i 's#/usr/lib/apt/#${libdir}/apt/#g' ${D}${sysconfdir}/cron.daily/apt.apt-compat.cron.daily
-}
diff --git a/poky/meta/recipes-devtools/apt/apt.inc b/poky/meta/recipes-devtools/apt/apt.inc
deleted file mode 100644
index 87d5337..0000000
--- a/poky/meta/recipes-devtools/apt/apt.inc
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "Advanced front-end for dpkg"
-DESCRIPTION = "Provides command-line tools for searching and managing as well \
-as querying information about packages as a low-level access to all features \
-of the libapt-pkg library."
-LICENSE = "GPLv2.0+"
-SECTION = "base"
-
-SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/${BPN}/${PV}/${BPN}_${PV}.tar.xz \
-           file://use-host.patch \
-           file://makerace.patch \
-           file://no-nls-dpkg.patch \
-           file://fix-gcc-4.6-null-not-defined.patch \
-           file://truncate-filename.patch \
-           file://nodoc.patch \
-           file://disable-configure-in-makefile.patch \
-           file://disable-test.patch \
-           file://0001-environment.mak-musl-based-systems-can-generate-shar.patch \
-           file://0001-apt-1.2.12-Fix-musl-build.patch \
-           file://0001-Include-array.h-for-std-array.patch \
-           file://0001-The-C.UTF-8-locale-is-not-portable-use-std-locale-cl.patch \
-           "
-SRC_URI[md5sum] = "d30eed9304e82ea8238c854b5c5a34d9"
-SRC_URI[sha256sum] = "03ded4f5e9b8d43ecec083704b2dcabf20c182ed382db9ac7251da0b0b038059"
-LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-# the package is taken from snapshots.debian.org; that source is static and goes stale
-# so we check the latest upstream from a directory that does get updated
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apt/"
-
-inherit autotools gettext useradd upstream-version-is-even
-
-EXTRA_AUTORECONF = "--exclude=autopoint,autoheader"
-
-do_configure_prepend() {
-    rm -rf ${S}/buildlib/config.sub
-    rm -rf ${S}/buildlib/config.guess
-}
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /nonexistent --shell /bin/false --user-group _apt"
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch b/poky/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
new file mode 100644
index 0000000..199f11b
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
@@ -0,0 +1,29 @@
+From 9023589317843df4e57f8ebef1d9a8398ddb929d Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 28 May 2020 15:34:05 +0000
+Subject: [PATCH] CMakeLists.txt: avoid changing install paths based on host
+ distro
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2cd4f8e..4759812 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -21,9 +21,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
+ set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE "-lgcov")
+ 
+ # Work around bug in GNUInstallDirs
+-if (EXISTS "/etc/debian_version")
+-  set(CMAKE_INSTALL_LIBEXECDIR "lib")
+-endif()
++#if (EXISTS "/etc/debian_version")
++set(CMAKE_INSTALL_LIBEXECDIR "lib")
++#endif()
+ 
+ # Include stuff
+ include(Misc)
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch b/poky/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
new file mode 100644
index 0000000..cc422b7
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
@@ -0,0 +1,27 @@
+From cd164b353ba7958d51b2f33f4079fb9787c983e2 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 10 May 2019 14:16:47 +0200
+Subject: [PATCH] Disable documentation directory altogether
+
+Even when WITH_DOC=False, the build requires po4a to generate manpages.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 83334ba..2cd4f8e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -232,7 +232,7 @@ add_subdirectory(apt-private)
+ add_subdirectory(apt-inst)
+ add_subdirectory(cmdline)
+ add_subdirectory(completions)
+-add_subdirectory(doc)
++#add_subdirectory(doc)
+ add_subdirectory(dselect)
+ add_subdirectory(ftparchive)
+ add_subdirectory(methods)
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch
new file mode 100644
index 0000000..2322bd8
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-configure-packages-on-installation.patch
@@ -0,0 +1,48 @@
+From 1ad21140787a6b8b0f774f75b50444d2c30a56f6 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 21 May 2020 20:28:12 +0000
+Subject: [PATCH] Do not configure packages on installation
+
+This is done separately in do_rootfs().
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ apt-pkg/packagemanager.cc | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc
+index 156f7ad..0f6a87c 100644
+--- a/apt-pkg/packagemanager.cc
++++ b/apt-pkg/packagemanager.cc
+@@ -1013,10 +1013,12 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c
+       return false;
+ 
+    if (Immediate == true) {
++#if 0
+       // Perform immediate configuration of the package. 
+          if (SmartConfigure(Pkg, Depth + 1) == false)
+             _error->Error(_("Could not perform immediate configuration on '%s'. "
+                "Please see man 5 apt.conf under APT::Immediate-Configure for details. (%d)"),Pkg.FullName().c_str(),2);
++#endif
+    }
+    
+    return true;
+@@ -1111,6 +1113,7 @@ pkgPackageManager::OrderResult pkgPackageManager::OrderInstall()
+       }
+    }
+ 
++#if 0
+    // Final run through the configure phase
+    if (ConfigureAll() == false)
+       return Failed;
+@@ -1125,7 +1128,7 @@ pkgPackageManager::OrderResult pkgPackageManager::OrderInstall()
+ 	 return Failed;
+       }
+    }
+-	 
++#endif	 
+    return Completed;
+ }
+ // PM::DoInstallPostFork - compat /*{{{*/
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
new file mode 100644
index 0000000..d3d3ab0
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
@@ -0,0 +1,29 @@
+From b18d7aa7d71b53b86bac21cd1d8c3accabb28f2b Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 10 May 2019 16:47:38 +0200
+Subject: [PATCH] Do not init tables from dpkg configuration
+
+This would require sysroot relocation logic, and it's easier to just disable them.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ apt-pkg/init.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc
+index a619368..6e5a6cf 100644
+--- a/apt-pkg/init.cc
++++ b/apt-pkg/init.cc
+@@ -281,8 +281,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
+ 	 return _error->Error(_("Unable to determine a suitable packaging system type"));
+    }
+ 
+-   if (pkgInitArchTupleMap() == false)
+-      return false;
++//   if (pkgInitArchTupleMap() == false)
++//      return false;
+    
+    return Sys->Initialize(Cnf);
+ }
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch b/poky/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
new file mode 100644
index 0000000..a6e8ef1
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
@@ -0,0 +1,45 @@
+From 081c6be2f2f1cd77f399ea414f8d89c107826624 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 22 May 2020 15:29:23 +0000
+Subject: [PATCH] Fix musl build
+
+methods/connect.cc: Musl doesn't support AI_IDN flag in netdb.h
+header so define it manually.
+apt-pkg/contrib/srvrec.h: Add explicity include of sys/types.h
+to avoid errors in types u_int_SIZE.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ apt-pkg/contrib/srvrec.h | 1 +
+ methods/connect.cc       | 5 +++++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/apt-pkg/contrib/srvrec.h b/apt-pkg/contrib/srvrec.h
+index e22b7a1..b1115f5 100644
+--- a/apt-pkg/contrib/srvrec.h
++++ b/apt-pkg/contrib/srvrec.h
+@@ -9,6 +9,7 @@
+ #ifndef SRVREC_H
+ #define SRVREC_H
+ 
++#include <sys/types.h>
+ #include <string>
+ #include <vector>
+ #include <arpa/nameser.h>
+diff --git a/methods/connect.cc b/methods/connect.cc
+index 1d6f891..122df35 100644
+--- a/methods/connect.cc
++++ b/methods/connect.cc
+@@ -42,6 +42,11 @@
+ #include "connect.h"
+ #include "rfc2553emu.h"
+ #include <apti18n.h>
++
++#ifndef AI_IDN
++#define AI_IDN 0x0040
++#endif
++
+ 									/*}}}*/
+ 
+ static std::string LastHost;
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Include-array.h-for-std-array.patch b/poky/meta/recipes-devtools/apt/apt/0001-Include-array.h-for-std-array.patch
deleted file mode 100644
index e4a8faa..0000000
--- a/poky/meta/recipes-devtools/apt/apt/0001-Include-array.h-for-std-array.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 4d64ec843185bf6fd1b85c3a6a4c4e3c968c8ab1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 20 Jan 2019 18:56:58 -0800
-Subject: [PATCH] Include <array.h> for std::array
-
-When compiling using clang/libc++ it fails to build because this header
-is not included, with libstdc++ this seems to be pulled in
-automatically.
-
-Fixes below error
-
-apt-pkg/contrib/strutl.cc:949:38: error: implicit instantiation of undefined template 'std::__1::array<const char *const, 7>'
-   std::array<char const * const, 7> c_weekdays = {{ "sun", "mon", "tue", "wed", "thu", "fri", "sat" }};
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport [https://github.com/Debian/apt/commit/24a59c62efafbdb8387b2d3c5616b04b9fd21306]
----
- apt-pkg/contrib/strutl.cc | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
-index 60d0ca8..c2bfcbc 100644
---- a/apt-pkg/contrib/strutl.cc
-+++ b/apt-pkg/contrib/strutl.cc
-@@ -21,6 +21,7 @@
- #include <apt-pkg/fileutl.h>
- #include <apt-pkg/error.h>
- 
-+#include <array>
- #include <algorithm>
- #include <iomanip>
- #include <locale>
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
index 734ba00..8c4cc04 100644
--- a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
@@ -1,11 +1,9 @@
-From dfc1370d50322e2e9d225a7a63b44993fc01a727 Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Fri, 22 May 2015 08:05:15 +0800
+From 742fbb243f99e940c3e6b31296f7f416f550a57a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 21 May 2020 20:13:25 +0000
 Subject: [PATCH] Revert "always run 'dpkg --configure -a' at the end of our
  dpkg callings"
 
-Upstream-Status: Inappropriate [embedded specific]
-
 This reverts commit a2a75ff4516f7609f4c55b42270abb8d08943c60, which
 always run 'dpkg --configure -a' at the end of our dpkg callings,
 but it does not work for cross-compile, since the rootfs dir can not
@@ -14,19 +12,19 @@
    |mkdir: cannot create directory '/usr/lib/opkg': Permission denied
    -------
 
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
+Upstream-Status: Inappropriate [embedded specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
- apt-pkg/deb/dpkgpm.cc                                     |  9 ++-------
- test/integration/test-apt-progress-fd-deb822              | 14 +++++++-------
- test/integration/test-no-fds-leaked-to-maintainer-scripts |  6 ++----
- 3 files changed, 11 insertions(+), 18 deletions(-)
+ apt-pkg/deb/dpkgpm.cc | 9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
 
 diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
-index 533d9b367..6ce81bbd9 100644
+index ffa880d..5875e86 100644
 --- a/apt-pkg/deb/dpkgpm.cc
 +++ b/apt-pkg/deb/dpkgpm.cc
-@@ -1041,12 +1041,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
- 	 PackagesTotal++;
+@@ -1215,12 +1215,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
+ 	 }
        }
     }
 -   /* one extra: We don't want the progress bar to reach 100%, especially not
@@ -37,90 +35,14 @@
 -   ++PackagesTotal;
  }
                                                                          /*}}}*/
- bool pkgDPkgPM::Go(int StatusFd)
-@@ -1268,8 +1262,9 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
+ bool pkgDPkgPM::Go(int StatusFd)					/*{{{*/
+@@ -1716,7 +1710,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
  
-    // support subpressing of triggers processing for special
-    // cases like d-i that runs the triggers handling manually
-+   bool const SmartConf = (_config->Find("PackageManager::Configure", "all") != "all");
+       // support subpressing of triggers processing for special
+       // cases like d-i that runs the triggers handling manually
+-      if (_config->FindB("DPkg::ConfigurePending", true))
++      bool const SmartConf = (_config->Find("PackageManager::Configure", "all") != "all");
++      if (0)
+ 	 List.emplace_back(Item::ConfigurePending, pkgCache::PkgIterator());
+    }
     bool const TriggersPending = _config->FindB("DPkg::TriggersPending", false);
--   if (_config->FindB("DPkg::ConfigurePending", true) == true)
-+   if (_config->FindB("DPkg::ConfigurePending", SmartConf) == true)
-       List.push_back(Item(Item::ConfigurePending, PkgIterator()));
- 
-    // for the progress
-diff --git a/test/integration/test-apt-progress-fd-deb822 b/test/integration/test-apt-progress-fd-deb822
-index a8d59608d..0c6a9bbbf 100755
---- a/test/integration/test-apt-progress-fd-deb822
-+++ b/test/integration/test-apt-progress-fd-deb822
-@@ -27,36 +27,36 @@ Message: Installing testing (amd64)
- 
- Status: progress
- Package: testing:amd64
--Percent: 16.6667
-+Percent: 20
- Message: Preparing testing (amd64)
- 
- Status: progress
- Package: testing:amd64
--Percent: 33.3333
-+Percent: 40
- Message: Unpacking testing (amd64)
- 
- Status: progress
- Package: testing:amd64
--Percent: 50.0000
-+Percent: 60.0000
- Message: Preparing to configure testing (amd64)
- 
- Status: progress
--Percent: 50.0000
-+Percent: 60.0000
- Message: Running dpkg
- 
- Status: progress
- Package: testing:amd64
--Percent: 50.0000
-+Percent: 60.0000
- Message: Configuring testing (amd64)
- 
- Status: progress
- Package: testing:amd64
--Percent: 66.6667
-+Percent: 80
- Message: Configuring testing (amd64)
- 
- Status: progress
- Package: testing:amd64
--Percent: 83.3333
-+Percent: 100
- Message: Installed testing (amd64)
- 
- Status: progress
-diff --git a/test/integration/test-no-fds-leaked-to-maintainer-scripts b/test/integration/test-no-fds-leaked-to-maintainer-scripts
-index d86e638cd..ef6d23be2 100755
---- a/test/integration/test-no-fds-leaked-to-maintainer-scripts
-+++ b/test/integration/test-no-fds-leaked-to-maintainer-scripts
-@@ -59,8 +59,7 @@ startup packages configure
- configure $PKGNAME 1.0 <none>
- status unpacked $PKGNAME 1.0
- status half-configured $PKGNAME 1.0
--status installed $PKGNAME 1.0
--startup packages configure" cut -f 3- -d' ' rootdir/var/log/dpkg.log
-+status installed $PKGNAME 1.0" cut -f 3- -d' ' rootdir/var/log/dpkg.log
- }
- checkinstall
- 
-@@ -85,8 +84,7 @@ status config-files $PKGNAME 1.0
- status config-files $PKGNAME 1.0
- status config-files $PKGNAME 1.0
- status config-files $PKGNAME 1.0
--status not-installed $PKGNAME <none>
--startup packages configure" cut -f 3- -d' ' rootdir/var/log/dpkg.log
-+status not-installed $PKGNAME <none>" cut -f 3- -d' ' rootdir/var/log/dpkg.log
- }
- checkpurge
- 
--- 
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-The-C.UTF-8-locale-is-not-portable-use-std-locale-cl.patch b/poky/meta/recipes-devtools/apt/apt/0001-The-C.UTF-8-locale-is-not-portable-use-std-locale-cl.patch
deleted file mode 100644
index ce5c005..0000000
--- a/poky/meta/recipes-devtools/apt/apt/0001-The-C.UTF-8-locale-is-not-portable-use-std-locale-cl.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 7e8839731ae3fdf7502b91643aa6b252f6c5eaa6 Mon Sep 17 00:00:00 2001
-From: Adrian Bunk <bunk@stusta.de>
-Date: Thu, 14 May 2020 00:08:21 +0300
-Subject: The C.UTF-8 locale is not portable, use std::locale::classic()
-
-Upstream-Status: Inappropriate [Similar fix already in apt >= 1.3]
-Signed-off-by: Adrian Bunk <bunk@stusta.de>
----
- ftparchive/writer.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc
-index 25963820a..6ad571d2a 100644
---- a/ftparchive/writer.cc
-+++ b/ftparchive/writer.cc
-@@ -984,7 +984,7 @@ ReleaseWriter::ReleaseWriter(FileFd * const GivenOutput, string const &/*DB*/) :
-    AddPatterns(_config->FindVector("APT::FTPArchive::Release::Patterns"));
- 
-    time_t const now = time(NULL);
--   auto const posix = std::locale("C.UTF-8");
-+   auto const posix = std::locale::classic();
- 
-    // FIXME: use TimeRFC1123 here? But that uses GMT to satisfy HTTP/1.1
-    std::ostringstream datestr;
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-apt-1.2.12-Fix-musl-build.patch b/poky/meta/recipes-devtools/apt/apt/0001-apt-1.2.12-Fix-musl-build.patch
deleted file mode 100644
index f7ac19b..0000000
--- a/poky/meta/recipes-devtools/apt/apt/0001-apt-1.2.12-Fix-musl-build.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 33b97e089d4a98d3acd20bd78337dd915b989bc2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
-Date: Fri, 5 Aug 2016 15:24:27 -0500
-Subject: [PATCH] apt 1.2.12: Fix musl build
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-methods/connect.cc: Musl doesn't support AI_IDN flag in netdb.h
-header so define it manually.
-apt-pkg/contrib/srvrec.h: Add explicity include of sys/types.h
-to avoid errors in types u_int_SIZE.
-
-Upstream-Status: Pending
-
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
----
- apt-pkg/contrib/srvrec.h | 1 +
- methods/connect.cc       | 3 +++
- 2 files changed, 4 insertions(+)
-
-diff --git a/apt-pkg/contrib/srvrec.h b/apt-pkg/contrib/srvrec.h
-index 01b8102..15b6875 100644
---- a/apt-pkg/contrib/srvrec.h
-+++ b/apt-pkg/contrib/srvrec.h
-@@ -9,6 +9,7 @@
- #ifndef SRVREC_H
- #define SRVREC_H
- 
-+#include <sys/types.h>
- #include <arpa/nameser.h>
- #include <vector>
- #include <string>
-diff --git a/methods/connect.cc b/methods/connect.cc
-index 07a730b..bb0ab5a 100644
---- a/methods/connect.cc
-+++ b/methods/connect.cc
-@@ -33,6 +33,9 @@
- #include <sys/socket.h>
- #include <arpa/inet.h>
- #include <netdb.h>
-+#ifndef AI_IDN
-+#define AI_IDN 0x0040
-+#endif
- 
- #include "connect.h"
- #include "rfc2553emu.h"
--- 
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-environment.mak-musl-based-systems-can-generate-shar.patch b/poky/meta/recipes-devtools/apt/apt/0001-environment.mak-musl-based-systems-can-generate-shar.patch
deleted file mode 100644
index 042372b..0000000
--- a/poky/meta/recipes-devtools/apt/apt/0001-environment.mak-musl-based-systems-can-generate-shar.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 2f8aa21ace375c18977ed908b291c80a210a93c6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 31 Dec 2015 08:06:12 +0000
-Subject: [PATCH] environment.mak: musl based systems can generate shared
- objects too
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- buildlib/environment.mak.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/buildlib/environment.mak.in b/buildlib/environment.mak.in
-index b0a8d9d..3a52344 100644
---- a/buildlib/environment.mak.in
-+++ b/buildlib/environment.mak.in
-@@ -68,7 +68,7 @@ NEED_SOCKLEN_T_DEFINE = @NEED_SOCKLEN_T_DEFINE@
- 
- # Shared library things
- HOST_OS = @host_os@
--ifneq ($(words $(filter gnu% linux-gnu% kfreebsd-gnu% %-gnu,$(HOST_OS))),0)
-+ifneq ($(words $(filter gnu% linux-gnu% kfreebsd-gnu% %-gnu linux-musl%,$(HOST_OS))),0)
-    SONAME_MAGIC=-Wl,-soname -Wl,
-    LFLAGS_SO=
- else
--- 
-2.6.4
-
diff --git a/poky/meta/recipes-devtools/apt/apt/disable-configure-in-makefile.patch b/poky/meta/recipes-devtools/apt/apt/disable-configure-in-makefile.patch
deleted file mode 100644
index 7c2f64e..0000000
--- a/poky/meta/recipes-devtools/apt/apt/disable-configure-in-makefile.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Disable configure at compilation stage
-
-Upstream-Status: Inappropriate [configuration]
-Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
-
-Index: apt-0.9.7.7/Makefile
-===================================================================
---- apt-0.9.7.7.orig/Makefile
-+++ apt-0.9.7.7/Makefile
-@@ -33,7 +33,7 @@ veryclean: clean
- # The startup target builds the necessary configure scripts. It should
- # be used after a CVS checkout.
- CONVERTED=environment.mak include/config.h include/apti18n.h build/doc/Doxyfile makefile
--include buildlib/configure.mak
-+#include buildlib/configure.mak
- $(BUILDDIR)/include/config.h: buildlib/config.h.in
- $(BUILDDIR)/include/apti18n.h: buildlib/apti18n.h.in
- $(BUILDDIR)/environment.mak: buildlib/environment.mak.in
diff --git a/poky/meta/recipes-devtools/apt/apt/disable-test.patch b/poky/meta/recipes-devtools/apt/apt/disable-test.patch
deleted file mode 100644
index d16b5c7..0000000
--- a/poky/meta/recipes-devtools/apt/apt/disable-test.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 67bc7948e0a721c75d636931abc105da5dcb0763 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
-Date: Thu, 26 May 2016 15:32:11 -0500
-Subject: [PATCH] [PATCH] disable test
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate [configuration]
-
-test needs gtest package, so not build the test dir
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
----
- Makefile     | 9 +++------
- configure.ac | 7 -------
- 2 files changed, 3 insertions(+), 13 deletions(-)
-
-Index: apt-1.2.24/Makefile
-===================================================================
---- apt-1.2.24.orig/Makefile
-+++ apt-1.2.24/Makefile
-@@ -9,8 +9,8 @@ endif
- .PHONY: default
- default: startup all
- 
--.PHONY: fast headers library clean veryclean all binary program doc test update-po
--all headers library clean veryclean binary program doc manpages docbook test update-po startup dirs:
-+.PHONY: fast headers library clean veryclean all binary program doc update-po
-+all headers library clean veryclean binary program doc manpages docbook update-po startup dirs:
- 	$(MAKE) -C vendor $@
- 	$(MAKE) -C apt-pkg $@
- 	$(MAKE) -C apt-inst $@
-@@ -21,8 +21,6 @@ all headers library clean veryclean bina
- 	$(MAKE) -C dselect $@
- #	$(MAKE) -C doc $@
- 	$(MAKE) -C po $@
--	# FIXME: -C test has issue swith parallel builds, investigate!
--	-$(MAKE) -C test $@
- 
- fast:
- 	$(MAKE) -C vendor all
-@@ -32,9 +30,8 @@ fast:
- 	$(MAKE) -C methods all
- 	$(MAKE) -C cmdline all
- 	$(MAKE) -C ftparchive all
--	$(MAKE) -C test all
- 
--all headers library clean veryclean binary program doc manpages docbook test update-po: startup dirs
-+all headers library clean veryclean binary program doc manpages docbook update-po: startup dirs
- 
- dirs: startup
- 
-Index: apt-1.2.24/configure.ac
-===================================================================
---- apt-1.2.24.orig/configure.ac
-+++ apt-1.2.24/configure.ac
-@@ -90,13 +90,6 @@ AC_CHECK_LIB(curl, curl_easy_init,
-      AC_MSG_ERROR([failed: I need CURL due https support]),
- )
- 
--AC_LANG_PUSH([C++])
--AC_CHECK_HEADER(gtest/gtest.h,,
--     AC_MSG_WARN([failed: I need gtest (packaged as libgtest-dev) for unit testing]),
--)
--AC_LANG_POP([C++])
--
--
- AC_SUBST(BDBLIB)
- 
- HAVE_ZLIB=no
diff --git a/poky/meta/recipes-devtools/apt/apt/fix-gcc-4.6-null-not-defined.patch b/poky/meta/recipes-devtools/apt/apt/fix-gcc-4.6-null-not-defined.patch
deleted file mode 100644
index 899c6ef..0000000
--- a/poky/meta/recipes-devtools/apt/apt/fix-gcc-4.6-null-not-defined.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Upstream-Status: Pending
-
-Index: apt-1.2.24/apt-pkg/contrib/weakptr.h
-===================================================================
---- apt-1.2.24.orig/apt-pkg/contrib/weakptr.h
-+++ apt-1.2.24/apt-pkg/contrib/weakptr.h
-@@ -21,6 +21,7 @@
- #ifndef WEAK_POINTER_H
- #define WEAK_POINTER_H
- 
-+#include <cstdlib>
- #include <set>
- #include <stddef.h>
- 
diff --git a/poky/meta/recipes-devtools/apt/apt/makerace.patch b/poky/meta/recipes-devtools/apt/apt/makerace.patch
deleted file mode 100644
index 0c686d6..0000000
--- a/poky/meta/recipes-devtools/apt/apt/makerace.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-I was seeing various issues with parallel make, mainly due to to what was likely 
-partially installed headers. If you change into the source directory and
-"NOISY=1 make  ../obj/apt-pkg/sourcelist.opic" in apt-pkg, you'll see it 
-doesn't have any dependencies on the headers being installed. This patch
-fixes that so things build correctly.
-
-RP 2012/3/19
-
-Upstream-Status: Pending
-
-Index: apt-1.2.24/buildlib/library.mak
-===================================================================
---- apt-1.2.24.orig/buildlib/library.mak
-+++ apt-1.2.24/buildlib/library.mak
-@@ -65,7 +65,7 @@ $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR
- 
- # Compilation rules
- vpath %.cc $(SUBDIRS)
--$(OBJ)/%.opic: %.cc $(LIBRARYDEPENDS)
-+$(OBJ)/%.opic: %.cc $(LIBRARYDEPENDS) $($(LOCAL)-HEADERS)
- 	echo Compiling $< to $@
- 	$(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXSTD) $(CXXFLAGS) $(PICFLAGS) -o $@ '$(abspath $<)'
- 	$(DoDep)
diff --git a/poky/meta/recipes-devtools/apt/apt/no-nls-dpkg.patch b/poky/meta/recipes-devtools/apt/apt/no-nls-dpkg.patch
deleted file mode 100644
index 98b6c96..0000000
--- a/poky/meta/recipes-devtools/apt/apt/no-nls-dpkg.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Upstream-Status: Pending
-
-Index: apt-1.2.24/apt-pkg/deb/dpkgpm.cc
-===================================================================
---- apt-1.2.24.orig/apt-pkg/deb/dpkgpm.cc
-+++ apt-1.2.24/apt-pkg/deb/dpkgpm.cc
-@@ -54,6 +54,12 @@
- #include <apti18n.h>
- 									/*}}}*/
- 
-+#ifdef USE_NLS
-+#define _dpkg(x) dgettext("dpkg", x)
-+#else
-+#define _dpkg(x) x
-+#endif
-+
- using namespace std;
- 
- APT_PURE static string
-@@ -1703,7 +1709,7 @@ void pkgDPkgPM::WriteApportReport(const
-    }
- 
-    // check if its not a follow up error 
--   const char *needle = dgettext("dpkg", "dependency problems - leaving unconfigured");
-+   const char *needle = _dpkg("dependency problems - leaving unconfigured");
-    if(strstr(errormsg, needle) != NULL) {
-       std::clog << _("No apport report written because the error message indicates its a followup error from a previous failure.") << std::endl;
-       return;
diff --git a/poky/meta/recipes-devtools/apt/apt/noconfigure.patch b/poky/meta/recipes-devtools/apt/apt/noconfigure.patch
deleted file mode 100644
index ebc6720..0000000
--- a/poky/meta/recipes-devtools/apt/apt/noconfigure.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
-
-
-diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc
-index 249542c..0a1911f 100644
---- a/apt-pkg/packagemanager.cc
-+++ b/apt-pkg/packagemanager.cc
-@@ -952,10 +952,12 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c
-       return false;
- 
-    if (Immediate == true) {
-+#if 0
-       // Perform immedate configuration of the package. 
-          if (SmartConfigure(Pkg, Depth + 1) == false)
-             _error->Error(_("Could not perform immediate configuration on '%s'. "
-                "Please see man 5 apt.conf under APT::Immediate-Configure for details. (%d)"),Pkg.FullName().c_str(),2);
-+#endif
-    }
-    
-    return true;
-@@ -1038,6 +1040,7 @@ pkgPackageManager::OrderResult pkgPackageManager::OrderInstall()
-       }
-    }
- 
-+#if 0
-    // Final run through the configure phase
-    if (ConfigureAll() == false)
-       return Failed;
-@@ -1052,6 +1055,7 @@ pkgPackageManager::OrderResult pkgPackageManager::OrderInstall()
- 	 return Failed;
-       }
-    }
-+#endif
- 	 
-    return Completed;
- }
diff --git a/poky/meta/recipes-devtools/apt/apt/nodoc.patch b/poky/meta/recipes-devtools/apt/apt/nodoc.patch
deleted file mode 100644
index 78cf538..0000000
--- a/poky/meta/recipes-devtools/apt/apt/nodoc.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Disable documentation
-
-Upstream-Status: Inappropriate [configuration]
-Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
-
-Index: apt-1.2.24/Makefile
-===================================================================
---- apt-1.2.24.orig/Makefile
-+++ apt-1.2.24/Makefile
-@@ -19,7 +19,7 @@ all headers library clean veryclean bina
- 	$(MAKE) -C cmdline $@
- 	$(MAKE) -C ftparchive $@
- 	$(MAKE) -C dselect $@
--	$(MAKE) -C doc $@
-+#	$(MAKE) -C doc $@
- 	$(MAKE) -C po $@
- 	# FIXME: -C test has issue swith parallel builds, investigate!
- 	-$(MAKE) -C test $@
diff --git a/poky/meta/recipes-devtools/apt/apt/triehash b/poky/meta/recipes-devtools/apt/apt/triehash
new file mode 100755
index 0000000..b08bc6e
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt/triehash
@@ -0,0 +1,728 @@
+#!/usr/bin/perl -w
+#
+# Copyright (C) 2016 Julian Andres Klode <jak@jak-linux.org>
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+=encoding utf8
+
+=head1 NAME
+
+triehash - Generate a perfect hash function derived from a trie.
+
+=cut
+
+use strict;
+use warnings;
+use utf8;
+use Getopt::Long;
+
+=head1 SYNOPSIS
+
+B<triehash> [S<I<option>>] [S<I<input file>>]
+
+=head1 DESCRIPTION
+
+triehash takes a list of words in input file and generates a function and
+an enumeration to describe the word
+
+=head1 INPUT FILE FORMAT
+
+The file consists of multiple lines of the form:
+
+    [label ~ ] word [= value]
+
+This maps word to value, and generates an enumeration with entries of the form:
+
+    label = value
+
+If I<label> is undefined, the word will be used, the minus character will be
+replaced by an underscore. If value is undefined it is counted upwards from
+the last value.
+
+There may also be one line of the format
+
+    [ label ~] = value
+
+Which defines the value to be used for non-existing keys. Note that this also
+changes default value for other keys, as for normal entries. So if you place
+
+    = 0
+
+at the beginning of the file, unknown strings map to 0, and the other strings
+map to values starting with 1. If label is not specified, the default is
+I<Unknown>.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-C>I<.c file> B<--code>=I<.c file>
+
+Generate code in the given file.
+
+=item B<-H>I<header file> B<--header>=I<header file>
+
+Generate a header in the given file, containing a declaration of the hash
+function and an enumeration.
+
+=item B<--enum-name=>I<word>
+
+The name of the enumeration.
+
+=item B<--function-name=>I<word>
+
+The name of the function.
+
+=item B<--label-prefix=>I<word>
+
+The prefix to use for labels.
+
+=item B<--label-uppercase>
+
+Uppercase label names when normalizing them.
+
+=item B<--namespace=>I<name>
+
+Put the function and enum into a namespace (C++)
+
+=item B<--class=>I<name>
+
+Put the function and enum into a class (C++)
+
+=item B<--enum-class>
+
+Generate an enum class instead of an enum (C++)
+
+=item B<--counter-name=>I<name>
+
+Use I<name> for a counter that is set to the latest entry in the enumeration
++ 1. This can be useful for defining array sizes.
+
+=item B<--ignore-case>
+
+Ignore case for words.
+
+=item B<--multi-byte>=I<value>
+
+Generate code reading multiple bytes at once. The value is a string of power
+of twos to enable. The default value is 320 meaning that 8, 4, and single byte
+reads are enabled. Specify 0 to disable multi-byte completely, or add 2 if you
+also want to allow 2-byte reads. 2-byte reads are disabled by default because
+they negatively affect performance on older Intel architectures.
+
+This generates code for both multiple bytes and single byte reads, but only
+enables the multiple byte reads of GNU C compatible compilers, as the following
+extensions are used:
+
+=over 8
+
+=item Byte-aligned integers
+
+We must be able to generate integers that are aligned to a single byte using:
+
+    typedef uint64_t __attribute__((aligned (1))) triehash_uu64;
+
+=item Byte-order
+
+The macros __BYTE_ORDER__ and __ORDER_LITTLE_ENDIAN__ must be defined.
+
+=back
+
+We forcefully disable multi-byte reads on platforms where the variable
+I<__ARM_ARCH> is defined and I<__ARM_FEATURE_UNALIGNED> is not defined,
+as there is a measurable overhead from emulating the unaligned reads on
+ARM.
+
+=item B<--language=>I<language>
+
+Generate a file in the specified language. Currently known are 'C' and 'tree',
+the latter generating a tree.
+
+=item B<--include=>I<header>
+
+Add the header to the include statements of the header file. The value must
+be surrounded by quotes or angle brackets for C code. May be specified multiple
+times.
+
+=back
+
+=cut
+
+my $unknown = -1;
+my $unknown_label = undef;
+my $counter_start = 0;
+my $enum_name = 'PerfectKey';
+my $function_name = 'PerfectHash';
+my $enum_class = 0;
+
+my $code_name = '-';
+my $header_name = '-';
+my $code;
+my $header;
+my $label_prefix = undef;
+my $label_uppercase = 0;
+my $ignore_case = 0;
+my $multi_byte = '320';
+my $language = 'C';
+my $counter_name = undef;
+my @includes = ();
+
+
+Getopt::Long::config('default',
+                     'bundling',
+                     'no_getopt_compat',
+                     'no_auto_abbrev',
+                     'permute',
+                     'auto_help');
+
+GetOptions ('code|C=s' => \$code_name,
+            'header|H=s'   => \$header_name,
+            'function-name=s' => \$function_name,
+            'label-prefix=s' => \$label_prefix,
+            'label-uppercase' => \$label_uppercase,
+            'ignore-case' => \$ignore_case,
+            'enum-name=s' => \$enum_name,
+            'language|l=s' => \$language,
+            'multi-byte=s' => \$multi_byte,
+            'enum-class' => \$enum_class,
+            'include=s' => \@includes,
+            'counter-name=s' => \$counter_name)
+    or die('Could not parse options!');
+
+
+# This implements a simple trie. Each node has three attributes:
+#
+# children - A hash of keys to other nodes
+# value    - The value to be stored here
+# label    - A named representation of the value.
+#
+# The key at each level of the trie can consist of one or more bytes, and the
+# trie can be normalized to a form where all keys at a level have the same
+# length using rebuild_tree().
+package Trie {
+
+    sub new {
+        my $class = shift;
+        my $self = {};
+        bless $self, $class;
+
+        $self->{children} = {};
+        $self->{value} = undef;
+        $self->{label} = undef;
+
+        return $self;
+    }
+
+    # Return the largest power of 2 smaller or equal to the argument
+    sub alignpower2 {
+        my ($self, $length) = @_;
+
+        return 8 if ($length >= 8 && $multi_byte =~ /3/);
+        return 4 if ($length >= 4 && $multi_byte =~ /2/);
+        return 2 if ($length >= 2 && $multi_byte =~ /1/);
+
+        return 1;
+    }
+
+    # Split the key into a head block and a tail
+    sub split_key {
+        my ($self, $key) = @_;
+        my $length = length $key;
+        my $split = $self->alignpower2($length);
+
+        return (substr($key, 0, $split), substr($key, $split));
+    }
+
+    # Given a key, a label, and a value, insert that into the tree, possibly
+    # replacing an existing node.
+    sub insert {
+        my ($self, $key, $label, $value) = @_;
+
+        if (length($key) == 0) {
+            $self->{label} = $label;
+            $self->{value} = $value;
+            return;
+        }
+
+        my ($child, $tail) = $self->split_key($key);
+
+        $self->{children}{$child} = Trie->new if (!defined($self->{children}{$child}));
+
+        $self->{children}{$child}->insert($tail, $label, $value);
+    }
+
+    # Construct a new trie that only contains words of a given length. This
+    # is used to split up the common trie after knowing all words, so we can
+    # switch on the expected word length first, and have the per-trie function
+    # implement simple longest prefix matching.
+    sub filter_depth {
+        my ($self, $togo) = @_;
+
+        my $new = Trie->new;
+
+        if ($togo != 0) {
+            my $found = 0;
+            foreach my $key (sort keys %{$self->{children}}) {
+                if ($togo > length($key) || defined $self->{children}{$key}->{value}) {
+                    my $child = $self->{children}{$key}->filter_depth($togo - length($key));
+
+                    $new->{children}{$key}= $child if defined $child;
+                    $found = 1 if defined $child;
+                }
+            }
+            return if (!$found);
+        } else {
+            $new->{value} = $self->{value};
+            $new->{label} = $self->{label};
+        }
+
+        return $new;
+    }
+
+    # (helper for rebuild_tree)
+    # Reinsert all value nodes into the specified $trie, prepending $prefix
+    # to their $paths.
+    sub reinsert_value_nodes_into {
+        my ($self, $trie, $prefix) = @_;
+
+        $trie->insert($prefix, $self->{label}, $self->{value}) if (defined $self->{value});
+
+        foreach my $key (sort keys %{$self->{children}}) {
+            $self->{children}{$key}->reinsert_value_nodes_into($trie, $prefix . $key);
+        }
+    }
+
+    # (helper for rebuild_tree)
+    # Find the earliest point to split a key. Normally, we split at the maximum
+    # power of 2 that is greater or equal than the length of the key. When we
+    # are building an ASCII-optimised case-insensitive trie that simply ORs
+    # each byte with 0x20, we need to split at the first ambiguous character:
+    #
+    # For example, the words a-bc and a\rbc are identical in such a situation:
+    #       '-' | 0x20 == '-' == '\r' | 0x20
+    # We cannot simply switch on all 4 bytes at once, but need to split before
+    # the ambiguous character so we can process the ambiguous character on its
+    # own.
+    sub find_earlier_split {
+        my ($self, $key) = @_;
+
+        if ($ignore_case) {
+            for my $i (0..length($key)-1) {
+                # If the key starts with an ambiguous character, we need to
+                # take only it. Otherwise, we need to take everything
+                # before the character.
+                return $self->alignpower2($i || 1) if (main::ambiguous(substr($key, $i, 1)));
+            }
+        }
+        return $self->alignpower2(length $key);
+    }
+
+    # This rebuilds the trie, splitting each key before ambiguous characters
+    # as explained in find_earlier_split(), and then chooses the smallest
+    # such split at each level, so that all keys at all levels have the same
+    # length (so we can use a multi-byte switch).
+    sub rebuild_tree {
+        my $self = shift;
+        # Determine if/where we need to split before an ambiguous character
+        my $new_split = 99999999999999999;
+        foreach my $key (sort keys %{$self->{children}}) {
+            my $special_length = $self->find_earlier_split($key);
+            $new_split = $special_length if ($special_length < $new_split);
+        }
+
+        # Start building a new uniform trie
+        my $newself = Trie->new;
+        $newself->{label} = $self->{label};
+        $newself->{value} = $self->{value};
+        $newself->{children} = {};
+
+        foreach my $key (sort keys %{$self->{children}}) {
+            my $head = substr($key, 0, $new_split);
+            my $tail = substr($key, $new_split);
+            # Rebuild the child node at $head, pushing $tail downwards
+            $newself->{children}{$head} //= Trie->new;
+            $self->{children}{$key}->reinsert_value_nodes_into($newself->{children}{$head}, $tail);
+            # We took up to one special character of each key label. There might
+            # be more, so we need to rebuild recursively.
+            $newself->{children}{$head} = $newself->{children}{$head}->rebuild_tree();
+        }
+
+        return $newself;
+    }
+}
+
+# Code generator for C and C++
+package CCodeGen {
+    my $static = ($code_name eq $header_name) ? "static " : "";
+    my $enum_specifier = $enum_class ? "enum class" : "enum";
+
+    sub new {
+        my $class = shift;
+        my $self = {};
+        bless $self, $class;
+
+        return $self;
+    }
+
+    sub open_output {
+        my $self = shift;
+        if ($code_name ne '-') {
+            open($code, '>', $code_name) or die "Cannot open $code_name: $!" ;
+        } else {
+            $code = *STDOUT;
+        }
+        if($code_name eq $header_name) {
+            $header = $code;
+        } elsif ($header_name ne '-') {
+            open($header, '>', $header_name) or die "Cannot open $header_name: $!" ;
+        } else {
+            $header = *STDOUT;
+        }
+    }
+
+    sub mangle_label {
+        my ($self, $label) = @_;
+
+        $label = $label_prefix . $label if defined($label_prefix);
+        $label = uc $label if $label_uppercase;
+
+        return $label;
+    }
+
+    sub word_to_label {
+        my ($self, $word) = @_;
+
+        $word =~ s/_/__/g;
+        $word =~ s/-/_/g;
+
+        return $self->mangle_label($word);
+    }
+
+    # Return a case label, by shifting and or-ing bytes in the word
+    sub case_label {
+        my ($self, $key) = @_;
+
+        return sprintf("'%s'", substr($key, 0, 1)) if not $multi_byte;
+
+        my $output = '0';
+
+        for my $i (0..length($key)-1) {
+            $output .= sprintf("| onechar('%s', %d, %d)", substr($key, $i, 1), 8 * $i, 8*length($key));
+        }
+
+        return $output;
+    }
+
+    # Return an appropriate read instruction for $length bytes from $offset
+    sub switch_key {
+        my ($self, $offset, $length) = @_;
+
+        return "string[$offset]" if $length == 1;
+        return sprintf("*((triehash_uu%s*) &string[$offset])", $length * 8);
+    }
+
+    # Render the trie so that it matches the longest prefix.
+    sub print_table {
+        my ($self, $trie, $fh, $indent, $index) = @_;
+        $indent //= 0;
+        $index //= 0;
+
+        # If we have children, try to match them.
+        if (%{$trie->{children}}) {
+            # The difference between lowercase and uppercase alphabetical characters
+            # is that they have one bit flipped. If we have alphabetical characters
+            # in the search space, and the entire search space works fine if we
+            # always turn on the flip, just OR the character we are switching over
+            # with the bit.
+            my $want_use_bit = 0;
+            my $can_use_bit = 1;
+            my $key_length = 0;
+            foreach my $key (sort keys %{$trie->{children}}) {
+                $can_use_bit &= not main::ambiguous($key);
+                $want_use_bit |= ($key =~ /^[a-zA-Z]+$/);
+                $key_length = length($key);
+            }
+
+            if ($ignore_case && $can_use_bit && $want_use_bit) {
+                printf { $fh } (('    ' x $indent) . "switch(%s | 0x%s) {\n", $self->switch_key($index, $key_length), '20' x $key_length);
+            } else {
+                printf { $fh } (('    ' x $indent) . "switch(%s) {\n", $self->switch_key($index, $key_length));
+            }
+
+            my $notfirst = 0;
+            foreach my $key (sort keys %{$trie->{children}}) {
+                if ($notfirst) {
+                    printf { $fh } ('    ' x $indent . "    break;\n");
+                }
+                if ($ignore_case) {
+                    printf { $fh } ('    ' x $indent . "case %s:\n", $self->case_label(lc($key)));
+                    printf { $fh } ('    ' x $indent . "case %s:\n", $self->case_label(uc($key))) if lc($key) ne uc($key) && !($can_use_bit && $want_use_bit);
+                } else {
+                    printf { $fh } ('    ' x $indent . "case %s:\n", $self->case_label($key));
+                }
+
+                $self->print_table($trie->{children}{$key}, $fh, $indent + 1, $index + length($key));
+
+                $notfirst=1;
+            }
+
+            printf { $fh } ('    ' x $indent . "}\n");
+        }
+
+
+        # This node has a value, so it is a possible end point. If no children
+        # matched, we have found our longest prefix.
+        if (defined $trie->{value}) {
+            printf { $fh } ('    ' x $indent . "return %s;\n", ($enum_class ? "${enum_name}::" : '').$trie->{label});
+        }
+
+    }
+
+    sub print_words {
+        my ($self, $trie, $fh, $indent, $sofar) = @_;
+
+        $indent //= 0;
+        $sofar //= '';
+
+
+        printf { $fh } ('    ' x $indent."%s = %s,\n", $trie->{label}, $trie->{value}) if defined $trie->{value};
+
+        foreach my $key (sort keys %{$trie->{children}}) {
+            $self->print_words($trie->{children}{$key}, $fh, $indent, $sofar . $key);
+        }
+    }
+
+    sub print_functions {
+        my ($self, $trie, %lengths) = @_;
+        foreach my $local_length (sort { $a <=> $b } (keys %lengths)) {
+            print { $code } ("static enum ${enum_name} ${function_name}${local_length}(const char *string)\n");
+            print { $code } ("{\n");
+            $self->print_table($trie->filter_depth($local_length)->rebuild_tree(), $code, 1);
+            printf { $code } ("    return %s$unknown_label;\n", ($enum_class ? "${enum_name}::" : ''));
+            print { $code } ("}\n");
+        }
+    }
+
+    sub main {
+        my ($self, $trie, $num_values, %lengths) = @_;
+        print { $header } ("#ifndef TRIE_HASH_${function_name}\n");
+        print { $header } ("#define TRIE_HASH_${function_name}\n");
+        print { $header } ("#include <stddef.h>\n");
+        print { $header } ("#include <stdint.h>\n");
+        foreach my $include (@includes) {
+            print { $header } ("#include $include\n");
+        }
+        printf { $header } ("enum { $counter_name = $num_values };\n") if (defined($counter_name));
+        print { $header } ("${enum_specifier} ${enum_name} {\n");
+        $self->print_words($trie, $header, 1);
+        printf { $header } ("    $unknown_label = $unknown,\n");
+        print { $header } ("};\n");
+        print { $header } ("${static}enum ${enum_name} ${function_name}(const char *string, size_t length);\n");
+
+        print { $code } ("#include \"$header_name\"\n") if ($header_name ne $code_name);
+
+        if ($multi_byte) {
+            print { $code } ("#ifdef __GNUC__\n");
+            foreach my $i ((16, 32, 64)) {
+                print { $code } ("typedef uint${i}_t __attribute__((aligned (1))) triehash_uu${i};\n");
+                print { $code } ("typedef char static_assert${i}[__alignof__(triehash_uu${i}) == 1 ? 1 : -1];\n");
+            }
+
+            print { $code } ("#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__\n");
+            print { $code } ("#define onechar(c, s, l) (((uint64_t)(c)) << (s))\n");
+            print { $code } ("#else\n");
+            print { $code } ("#define onechar(c, s, l) (((uint64_t)(c)) << (l-8-s))\n");
+            print { $code } ("#endif\n");
+            print { $code } ("#if (!defined(__ARM_ARCH) || defined(__ARM_FEATURE_UNALIGNED)) && !defined(TRIE_HASH_NO_MULTI_BYTE)\n");
+            print { $code } ("#define TRIE_HASH_MULTI_BYTE\n");
+            print { $code } ("#endif\n");
+            print { $code } ("#endif /*GNUC */\n");
+
+            print { $code } ("#ifdef TRIE_HASH_MULTI_BYTE\n");
+            $self->print_functions($trie, %lengths);
+            $multi_byte = 0;
+            print { $code } ("#else\n");
+            $self->print_functions($trie, %lengths);
+            print { $code } ("#endif /* TRIE_HASH_MULTI_BYTE */\n");
+        } else {
+            $self->print_functions($trie, %lengths);
+        }
+
+        print { $code } ("${static}enum ${enum_name} ${function_name}(const char *string, size_t length)\n");
+        print { $code } ("{\n");
+        print { $code } ("    switch (length) {\n");
+        foreach my $local_length (sort { $a <=> $b } (keys %lengths)) {
+            print { $code } ("    case $local_length:\n");
+            print { $code } ("        return ${function_name}${local_length}(string);\n");
+        }
+        print { $code } ("    default:\n");
+        printf { $code } ("        return %s$unknown_label;\n", ($enum_class ? "${enum_name}::" : ''));
+        print { $code } ("    }\n");
+        print { $code } ("}\n");
+
+        # Print end of header here, in case header and code point to the same file
+        print { $header } ("#endif                       /* TRIE_HASH_${function_name} */\n");
+    }
+}
+
+# A character is ambiguous if the 1<<5 (0x20) bit does not correspond to the
+# lower case bit. A word is ambiguous if any character is. This definition is
+# used to check if we can perform the |0x20 optimization when building a case-
+# insensitive trie.
+sub ambiguous {
+    my $word = shift;
+
+    foreach my $char (split //, $word) {
+        # If 0x20 does not solely indicate lowercase, it is ambiguous
+        return 1 if ord(lc($char)) != (ord($char) | 0x20);
+        return 1 if ord(uc($char)) != (ord($char) & ~0x20);
+    }
+
+    return 0;
+}
+
+sub build_trie {
+    my $codegen = shift;
+    my $trie = Trie->new;
+
+    my $counter = $counter_start;
+    my $prev_value;
+    my %lengths;
+
+    open(my $input, '<', $ARGV[0]) or die "Cannot open $ARGV[0]: $!";
+    while (my $line = <$input>) {
+        my ($label, $word, $value) = $line =~ m{
+            (?:\s*([^~\s]+)\s*~)?      # Label ~
+            (?:\s*([^~=\s]+))?         # Word
+            (?:\s*=\s*([^\s]+)\s+)?    # = Value
+            \s*
+        }x;
+
+        if (defined $word) {
+            $label //= $codegen->word_to_label($word);
+            $value //= defined $prev_value ? $prev_value + 1 : 0;
+
+            $trie->insert($word, $label, $value);
+            $lengths{length($word)} = 1;
+        } elsif (defined $value) {
+            $unknown = $value;
+            $unknown_label = $codegen->mangle_label($label) if defined $label;
+        } else {
+            die "Invalid line: $line";
+        }
+
+        $prev_value = $value;
+        $counter = $value + 1 if $value >= $counter;
+    }
+
+    $unknown_label //= $codegen->mangle_label('Unknown');
+
+    return ($trie, $counter, %lengths);
+}
+
+# Generates an ASCII art tree
+package TreeCodeGen {
+
+    sub new {
+        my $class = shift;
+        my $self = {};
+        bless $self, $class;
+
+        return $self;
+    }
+
+    sub mangle_label {
+        my ($self, $label) = @_;
+        return $label;
+    }
+
+    sub word_to_label {
+        my ($self, $word) = @_;
+        return $word;
+    }
+
+    sub main {
+        my ($self, $trie, $counter, %lengths) = @_;
+        printf { $code } ("┌────────────────────────────────────────────────────┐\n");
+        printf { $code } ("│                   Initial trie                     │\n");
+        printf { $code } ("└────────────────────────────────────────────────────┘\n");
+        $self->print($trie);
+        printf { $code } ("┌────────────────────────────────────────────────────┐\n");
+        printf { $code } ("│                   Rebuilt trie                     │\n");
+        printf { $code } ("└────────────────────────────────────────────────────┘\n");
+        $self->print($trie->rebuild_tree());
+
+        foreach my $local_length (sort { $a <=> $b } (keys %lengths)) {
+            printf { $code } ("┌────────────────────────────────────────────────────┐\n");
+            printf { $code } ("│              Trie for words of length %-4d         │\n", $local_length);
+            printf { $code } ("└────────────────────────────────────────────────────┘\n");
+            $self->print($trie->filter_depth($local_length)->rebuild_tree());
+        }
+    }
+
+    sub open_output {
+        my $self = shift;
+        if ($code_name ne '-') {
+            open($code, '>:encoding(utf8)', $code_name) or die "Cannot open $ARGV[0]: $!" ;
+        } else {
+            $code = *STDOUT;
+            binmode($code, ':encoding(utf8)');
+        }
+    }
+
+    # Print a trie
+    sub print {
+        my ($self, $trie, $depth) = @_;
+        $depth //= 0;
+
+        print { $code } (' → ') if defined($trie->{label});
+        print { $code } ($trie->{label} // '', "\n");
+        foreach my $key (sort keys %{$trie->{children}}) {
+            print { $code } ('│   ' x ($depth), "├── $key");
+            $self->print($trie->{children}{$key}, $depth + 1);
+        }
+    }
+}
+
+my %codegens = (
+    C => 'CCodeGen',
+    tree => 'TreeCodeGen',
+);
+
+
+defined($codegens{$language}) or die "Unknown language $language. Valid choices: ", join(', ', keys %codegens);
+my $codegen = $codegens{$language}->new();
+my ($trie, $counter, %lengths) = build_trie($codegen);
+
+$codegen->open_output();
+$codegen->main($trie, $counter, %lengths);
+
+
+=head1 LICENSE
+
+triehash is available under the MIT/Expat license, see the source code
+for more information.
+
+=head1 AUTHOR
+
+Julian Andres Klode <jak@jak-linux.org>
+
+=cut
+
diff --git a/poky/meta/recipes-devtools/apt/apt/truncate-filename.patch b/poky/meta/recipes-devtools/apt/apt/truncate-filename.patch
deleted file mode 100644
index db1c42b..0000000
--- a/poky/meta/recipes-devtools/apt/apt/truncate-filename.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-strutl.cc: the filename can't be longer than 255
-
-The URItoFileName translates the path into the filename, but the
-filename can't be longer than 255 according to
-/usr/include/linux/limits.h.
-
-Truncate it when it is longer than 240 (leave some spaces for
-".Packages" and "._Release" suffix)
-
-Upstream-Status: Pending
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- apt-pkg/contrib/strutl.cc |    7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
---- a/apt-pkg/contrib/strutl.cc
-+++ b/apt-pkg/contrib/strutl.cc
-@@ -399,7 +399,12 @@ string URItoFileName(const string &URI)
-    // "\x00-\x20{}|\\\\^\\[\\]<>\"\x7F-\xFF";
-    string NewURI = QuoteString(U,"\\|{}[]<>\"^~_=!@#$%^&*");
-    replace(NewURI.begin(),NewURI.end(),'/','_');
--   return NewURI;
-+
-+   // Truncate from the head when it is longer than 240
-+   if(NewURI.length() > 240)
-+       return NewURI.substr(NewURI.length() - 240, NewURI.length() - 1);
-+   else
-+       return NewURI;
- }
- 									/*}}}*/
- // Base64Encode - Base64 Encoding routine for short strings		/*{{{*/
--- 
-1.7.10.4
-
diff --git a/poky/meta/recipes-devtools/apt/apt/use-host.patch b/poky/meta/recipes-devtools/apt/apt/use-host.patch
deleted file mode 100644
index b30fcff..0000000
--- a/poky/meta/recipes-devtools/apt/apt/use-host.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Pending
-
-Index: apt-0.9.7.7/configure.ac
-===================================================================
---- apt-0.9.7.7.orig/configure.ac
-+++ apt-0.9.7.7/configure.ac
-@@ -112,7 +112,7 @@ dnl This is often the dpkg architecture
- dnl First check against the full canonical canoncial-system-type in $target
- dnl and if that fails, just look for the cpu
- AC_MSG_CHECKING(debian architecture)
--archset="`dpkg-architecture -qDEB_HOST_ARCH`"
-+archset="`echo $host_alias|cut -d'-' -f1`"
- if test "x$archset" = "x"; then
-    AC_MSG_ERROR([failed: use --host= or output from dpkg-architecture])
- fi
diff --git a/poky/meta/recipes-devtools/apt/apt_1.2.31.bb b/poky/meta/recipes-devtools/apt/apt_1.2.31.bb
deleted file mode 100644
index ae0bce9..0000000
--- a/poky/meta/recipes-devtools/apt/apt_1.2.31.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DEPENDS = "curl db zlib"
-RDEPENDS_${PN} = "dpkg bash debianutils"
-require apt.inc
-
-require apt-package.inc
-
-PACKAGECONFIG ??= "lzma"
-PACKAGECONFIG[lzma] = "ac_cv_lib_lzma_lzma_easy_encoder=yes,ac_cv_lib_lzma_lzma_easy_encoder=no,xz"
-PACKAGECONFIG[bz2] = "ac_cv_lib_bz2_BZ2_bzopen=yes,ac_cv_lib_bz2_BZ2_bzopen=no,bzip2"
-PACKAGECONFIG[lz4] = "ac_cv_lib_lz4_LZ4F_createCompressionContext=yes,ac_cv_lib_lz4_LZ4F_createCompressionContext=no,lz4"
-
-FILES_${PN} += "${bindir}/apt-key"
-apt-manpages += "doc/apt-key.8"
-
-do_install_append() {
-    #Write the correct apt-architecture to apt.conf
-    APT_CONF=${D}/etc/apt/apt.conf
-    echo 'APT::Architecture "${DPKG_ARCH}";' > ${APT_CONF}
-    oe_libinstall -so -C bin libapt-private ${D}${libdir}/
-}
diff --git a/poky/meta/recipes-devtools/apt/apt_1.8.2.1.bb b/poky/meta/recipes-devtools/apt/apt_1.8.2.1.bb
new file mode 100644
index 0000000..bd1f4f3
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt_1.8.2.1.bb
@@ -0,0 +1,106 @@
+SUMMARY = "Advanced front-end for dpkg"
+LICENSE = "GPLv2.0+"
+SECTION = "base"
+
+# Triehash script taken from https://github.com/julian-klode/triehash
+SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \
+           file://triehash \
+           file://0001-Disable-documentation-directory-altogether.patch \
+           file://0001-Fix-musl-build.patch \
+           file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \
+           "
+     
+SRC_URI_append_class-native = " \
+           file://0001-Do-not-init-tables-from-dpkg-configuration.patch \
+           file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
+           file://0001-Do-not-configure-packages-on-installation.patch \
+           "
+
+SRC_URI[sha256sum] = "6d447f2e9437ec24e78350b63bb0592bee1f050811d51990b0c783183b0983f8"
+LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+# the package is taken from snapshots.debian.org; that source is static and goes stale
+# so we check the latest upstream from a directory that does get updated
+UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apt/"
+
+inherit cmake perlnative bash-completion upstream-version-is-even
+
+BBCLASSEXTEND = "native"
+
+DEPENDS += "virtual/libiconv virtual/libintl db gnutls lz4 zlib bzip2 xz"
+
+EXTRA_OECMAKE_append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False -DUSE_NLS=False -DDPKG_DATADIR=${datadir}/dpkg -DTRIEHASH_EXECUTABLE=${WORKDIR}/triehash"
+
+do_configure_prepend () {
+    echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >>  ${WORKDIR}/toolchain.cmake
+
+}
+
+# Unfortunately apt hardcodes this all over the place
+FILES_${PN} += "${prefix}/lib/dpkg ${prefix}/lib/apt"
+RDEPENDS_${PN} += "bash perl dpkg"
+
+do_install_append_class-native() {
+    cat > ${D}${sysconfdir}/apt/apt.conf.sample << EOF
+Dir "${STAGING_DIR_NATIVE}/"
+{
+   State "var/lib/apt/"
+   {
+      Lists "#APTCONF#/lists/";
+      status "#ROOTFS#/var/lib/dpkg/status";
+   };
+   Cache "var/cache/apt/"
+   {
+      Archives "archives/";
+      pkgcache "";
+      srcpkgcache "";
+   };
+   Bin "${STAGING_BINDIR_NATIVE}/"
+   {
+      methods "${STAGING_LIBDIR}/apt/methods/";
+      gzip "/bin/gzip";
+      dpkg "dpkg";
+      dpkg-source "dpkg-source";
+      dpkg-buildpackage "dpkg-buildpackage";
+      apt-get "apt-get";
+      apt-cache "apt-cache";
+   };
+   Etc "#APTCONF#"
+   {
+      Preferences "preferences";
+   };
+   Log "var/log/apt";
+};
+
+APT
+{
+  Install-Recommends "true";
+  Immediate-Configure "false";
+  Architecture "i586";
+  Get
+  {
+     Assume-Yes "true";
+  };
+};
+
+Acquire
+{
+  AllowInsecureRepositories "true";
+};
+
+DPkg::Options {"--root=#ROOTFS#";"--admindir=#ROOTFS#/var/lib/dpkg";"--force-all";"--no-debsig"};
+DPkg::Path "";
+EOF
+}
+
+do_install_append_class-target() {
+    #Write the correct apt-architecture to apt.conf
+    APT_CONF=${D}/etc/apt/apt.conf
+    echo 'APT::Architecture "${DPKG_ARCH}";' > ${APT_CONF}
+}
+
+# Avoid non-reproducible -src package
+do_install_append () {
+        sed -i -e "s,${B},,g" \
+            ${B}/apt-pkg/tagfile-keys.cc
+}
diff --git a/poky/meta/recipes-devtools/apt/files/apt.conf b/poky/meta/recipes-devtools/apt/files/apt.conf
deleted file mode 100644
index c95a5b0..0000000
--- a/poky/meta/recipes-devtools/apt/files/apt.conf
+++ /dev/null
@@ -1,42 +0,0 @@
-Dir "${STAGING_DIR_NATIVE}/"
-{
-   State "var/lib/apt/"
-   {
-      Lists "#APTCONF#/lists/";
-      status "#ROOTFS#/var/lib/dpkg/status";
-   };
-   Cache "var/cache/apt/"
-   {
-      Archives "archives/";
-      pkgcache "";
-      srcpkgcache "";
-   };
-   Bin "${STAGING_BINDIR_NATIVE}/"
-   {
-      methods "${STAGING_LIBDIR}/apt/methods/";
-      gzip "/bin/gzip";
-      dpkg "dpkg";
-      dpkg-source "dpkg-source";
-      dpkg-buildpackage "dpkg-buildpackage";
-      apt-get "apt-get";
-      apt-cache "apt-cache";
-   };
-   Etc "#APTCONF#"
-   {
-      Preferences "preferences";
-   };
-};
-
-APT
-{
-  Install-Recommends "true";
-  Immediate-Configure "false";
-  Architecture "i586";
-  Get
-  {
-     Assume-Yes "true";
-     Force-Yes "true"
-  };
-};
-
-DPkg::Options {"--root=#ROOTFS#";"--admindir=#ROOTFS#/var/lib/dpkg";"--force-all";"--no-force-overwrite";"--no-debsig"};
diff --git a/poky/meta/recipes-devtools/apt/files/db_linking_hack.patch b/poky/meta/recipes-devtools/apt/files/db_linking_hack.patch
deleted file mode 100644
index a61d4b0..0000000
--- a/poky/meta/recipes-devtools/apt/files/db_linking_hack.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Upstream-Status: Backport
-
-Index: apt-0.7.3/configure.ac
-===================================================================
---- apt-0.7.3.orig/configure.ac	2007-07-01 10:38:45.000000000 +0000
-+++ apt-0.7.3/configure.ac	2007-08-21 13:39:26.000000000 +0000
-@@ -67,8 +67,20 @@
-       [AC_DEFINE(HAVE_BDB)
-        BDBLIB="-ldb"
-        AC_MSG_RESULT(yes)],
--      [BDBLIB=""
--       AC_MSG_RESULT(no)]
-+
-+       LIBS="$LIBS -lpthread"
-+       [AC_MSG_CHECKING(if we can link against BerkeleyDB with pthread)
-+        AC_LINK_IFELSE(
-+        [AC_LANG_PROGRAM(
-+         [#include <db.h>],
-+         [int r, s, t; db_version(&r, &s, &t);]
-+        )],
-+        [AC_DEFINE(HAVE_BDB)
-+         BDBLIB="-ldb -lpthread"
-+         AC_MSG_RESULT(yes)],
-+        [BDBLIB=""
-+         AC_MSG_RESULT(no)]
-+      )]       
-     )]
- )
- 
diff --git a/poky/meta/recipes-devtools/apt/files/environment.patch b/poky/meta/recipes-devtools/apt/files/environment.patch
deleted file mode 100644
index 9a03038..0000000
--- a/poky/meta/recipes-devtools/apt/files/environment.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Backport
-
-Index: apt-0.6.46.2/buildlib/environment.mak.in
-===================================================================
---- apt-0.6.46.2.orig/buildlib/environment.mak.in	2007-03-29 11:38:58.000000000 +0100
-+++ apt-0.6.46.2/buildlib/environment.mak.in	2007-03-29 11:39:12.000000000 +0100
-@@ -62,7 +62,7 @@
- 
- # Shared library things
- HOST_OS = @host_os@
--ifneq ($(words $(filter linux-gnu gnu% %gnu,$(HOST_OS))),0)
-+ifneq ($(words $(filter linux-gnu linux-gnueabi gnu% %gnu,$(HOST_OS))),0)
-    SONAME_MAGIC=-Wl,-soname -Wl,
-    LFLAGS_SO=
- else
diff --git a/poky/meta/recipes-devtools/apt/files/no-curl.patch b/poky/meta/recipes-devtools/apt/files/no-curl.patch
deleted file mode 100644
index 0838552..0000000
--- a/poky/meta/recipes-devtools/apt/files/no-curl.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-From 5d61ac822fd9a3871cd5089389c210606232ecdc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
-Date: Thu, 26 May 2016 15:34:45 -0500
-Subject: [PATCH] Upstream-Status: Inappropriate [configuration]
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
----
- configure.ac     | 7 -------
- methods/makefile | 7 -------
- 2 files changed, 14 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index e47f459..cd24264 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -83,13 +83,6 @@ AC_CHECK_HEADER(db.h,
- 
- LIBS="$saveLIBS"
- 
--AC_CHECK_LIB(curl, curl_easy_init,
--     [AC_CHECK_HEADER(curl/curl.h,
--        curl_ok=yes,
--        curl_ok=no)],
--     AC_MSG_ERROR([failed: I need CURL due https support]),
--)
--
- AC_SUBST(BDBLIB)
- 
- HAVE_ZLIB=no
-diff --git a/methods/makefile b/methods/makefile
-index 3274e92..255086b 100644
---- a/methods/makefile
-+++ b/methods/makefile
-@@ -51,13 +51,6 @@ LIB_MAKES = apt-pkg/makefile
- SOURCE = http.cc http_main.cc rfc2553emu.cc connect.cc server.cc
- include $(PROGRAM_H)
- 
--# The https method
--PROGRAM=https
--SLIBS = -lapt-pkg -lcurl $(INTLLIBS) -lresolv
--LIB_MAKES = apt-pkg/makefile
--SOURCE = https.cc server.cc
--include $(PROGRAM_H)
--
- # The ftp method
- PROGRAM=ftp
- SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS) -lresolv
--- 
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/automake/automake/automake-replace-w-option-in-shebangs-with-modern-use-warnings.patch b/poky/meta/recipes-devtools/automake/automake/automake-replace-w-option-in-shebangs-with-modern-use-warnings.patch
index 1592c02..0e84c4b 100644
--- a/poky/meta/recipes-devtools/automake/automake/automake-replace-w-option-in-shebangs-with-modern-use-warnings.patch
+++ b/poky/meta/recipes-devtools/automake/automake/automake-replace-w-option-in-shebangs-with-modern-use-warnings.patch
@@ -1,4 +1,4 @@
-From 081385f4d4bba367afad3bff1fa034f5263305e6 Mon Sep 17 00:00:00 2001
+From 857c843d4bcf576467b505eb05a47f3e7d32caaa Mon Sep 17 00:00:00 2001
 From: Serhii Popovych <spopovyc@cisco.com>
 Date: Wed, 10 Feb 2016 17:07:32 +0000
 Subject: [PATCH] perl: Replace -w option in shebangs with modern "use
@@ -23,16 +23,16 @@
  2 files changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/bin/aclocal.in b/bin/aclocal.in
-index b3715d9..461d453 100644
+index 9a20325..bd185d4 100644
 --- a/bin/aclocal.in
 +++ b/bin/aclocal.in
 @@ -1,4 +1,4 @@
 -#!@PERL@ -w
 +#!@PERL@
- # -*- perl -*-
+ # aclocal - create aclocal.m4 by scanning configure.ac      -*- perl -*-
  # @configure_input@
- 
-@@ -32,6 +32,7 @@ BEGIN
+ # Copyright (C) 1996-2020 Free Software Foundation, Inc.
+@@ -26,6 +26,7 @@ BEGIN
  }
  
  use strict;
@@ -41,16 +41,16 @@
  use Automake::Config;
  use Automake::General;
 diff --git a/bin/automake.in b/bin/automake.in
-index 8377d20..3a66965 100644
+index 5ed404a..d387b8e 100644
 --- a/bin/automake.in
 +++ b/bin/automake.in
 @@ -1,4 +1,4 @@
 -#!@PERL@ -w
 +#!@PERL@
- # -*- perl -*-
+ # automake - create Makefile.in from Makefile.am            -*- perl -*-
  # @configure_input@
- 
-@@ -28,6 +28,7 @@ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
+ # Copyright (C) 1994-2020 Free Software Foundation, Inc.
+@@ -23,6 +23,7 @@
  package Automake;
  
  use strict;
diff --git a/poky/meta/recipes-devtools/automake/automake_1.16.1.bb b/poky/meta/recipes-devtools/automake/automake_1.16.2.bb
similarity index 89%
rename from poky/meta/recipes-devtools/automake/automake_1.16.1.bb
rename to poky/meta/recipes-devtools/automake/automake_1.16.2.bb
index d82eed3..fd8ed0e 100644
--- a/poky/meta/recipes-devtools/automake/automake_1.16.1.bb
+++ b/poky/meta/recipes-devtools/automake/automake_1.16.2.bb
@@ -28,8 +28,8 @@
             file://0001-build-fix-race-in-parallel-builds.patch \
             "
 
-SRC_URI[md5sum] = "83cc2463a4080efd46a72ba2c9f6b8f5"
-SRC_URI[sha256sum] = "608a97523f97db32f1f5d5615c98ca69326ced2054c9f82e65bade7fc4c9dea8"
+SRC_URI[md5sum] = "f1a14f2ab2b0fb861a011e1d94e589e0"
+SRC_URI[sha256sum] = "b2f361094b410b4acbf4efba7337bdb786335ca09eb2518635a09fb7319ca5c1"
 
 PERL = "${USRBINPATH}/perl"
 PERL_class-native = "${USRBINPATH}/env perl"
diff --git a/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch b/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch
deleted file mode 100644
index 8a41a3a..0000000
--- a/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 31bb81ef15c42b10844eb8af8738f672076edf0e Mon Sep 17 00:00:00 2001
-From: Marko Lindqvist <cazfi74@gmail.com>
-Date: Tue, 21 Apr 2015 00:48:45 -0700
-Subject: [PATCH] doc/local.mk: dont-depend-on-help2man.patch
-
-Upstream-Status: Inappropriate
-
-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
-
-Updated for bison 3.0.4
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
----
- doc/local.mk | 9 +--------
- 1 file changed, 1 insertion(+), 8 deletions(-)
-
-diff --git a/doc/local.mk b/doc/local.mk
-index d12836e..f9bf332 100644
---- a/doc/local.mk
-+++ b/doc/local.mk
-@@ -101,10 +101,7 @@ endif ! CROSS_COMPILING
- ## Man Pages.  ##
- ## ----------- ##
- 
--dist_man_MANS = $(top_srcdir)/doc/bison.1
--
--EXTRA_DIST += $(dist_man_MANS:.1=.x)
--MAINTAINERCLEANFILES += $(dist_man_MANS)
-+EXTRA_DIST += bison.x
- 
- # Differences to ignore when comparing the man page (the date).
- remove_time_stamp = \
-@@ -127,10 +124,6 @@ $(top_srcdir)/doc/bison.1: $(MAN_DEPS)
- 	fi
- 	$(AM_V_at)rm -f $@*.tmp
- 
--if ENABLE_YACC
--nodist_man_MANS = doc/yacc.1
--endif
--
- ## ----------------------------- ##
- ## Graphviz examples generation. ##
- ## ----------------------------- ##
diff --git a/poky/meta/recipes-devtools/bison/bison_3.5.4.bb b/poky/meta/recipes-devtools/bison/bison_3.6.2.bb
similarity index 91%
rename from poky/meta/recipes-devtools/bison/bison_3.5.4.bb
rename to poky/meta/recipes-devtools/bison/bison_3.6.2.bb
index 124bc41..2ec9381 100644
--- a/poky/meta/recipes-devtools/bison/bison_3.5.4.bb
+++ b/poky/meta/recipes-devtools/bison/bison_3.6.2.bb
@@ -10,11 +10,10 @@
 DEPENDS = "bison-native flex-native"
 
 SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \
-           file://dont-depend-on-help2man.patch.patch \
            file://add-with-bisonlocaledir.patch \
            file://0001-bison-fix-the-parallel-build.patch \
-"
-SRC_URI[sha256sum] = "4c17e99881978fa32c05933c5262457fa5b2b611668454f8dc2a695cd6b3720c"
+           "
+SRC_URI[sha256sum] = "4a164b5cc971b896ce976bf4b624fab7279e0729cf983a5135df7e4df0970f6e"
 
 # No point in hardcoding path to m4, just use PATH
 EXTRA_OECONF += "M4=m4"
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.4.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.6.1.bb
similarity index 97%
rename from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.4.1.bb
rename to poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.6.1.bb
index cdc971c..885d79d 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.4.1.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.6.1.bb
@@ -14,7 +14,7 @@
 DEPENDS_append_class-target = " udev"
 RDEPENDS_${PN} = "libgcc"
 
-SRCREV = "3fc2326d3474a5e4df2449f5e3043f7298501334"
+SRCREV = "2a74d408f4b65d603e42f6e7b6b905ac81825fc9"
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
            file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
            "
diff --git a/poky/meta/recipes-devtools/build-compare/build-compare_git.bb b/poky/meta/recipes-devtools/build-compare/build-compare_git.bb
index d2a4b54..74a954d 100644
--- a/poky/meta/recipes-devtools/build-compare/build-compare_git.bb
+++ b/poky/meta/recipes-devtools/build-compare/build-compare_git.bb
@@ -9,9 +9,9 @@
 
 # Date matches entry in build-compare.changes and date of SRCREV.
 #
-SRCREV = "28bf642fcfdab94adb9b847329338005be6f73c7"
+SRCREV = "102d844ce052c6dec6c56ee1d471bde72a1b4633"
 PE = "1"
-PV = "2020.03.31+git${SRCPV}"
+PV = "2020.05.29+git${SRCPV}"
 UPSTREAM_CHECK_COMMITS = "1"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.7.7.bb b/poky/meta/recipes-devtools/ccache/ccache_3.7.7.bb
deleted file mode 100644
index 3e7362b..0000000
--- a/poky/meta/recipes-devtools/ccache/ccache_3.7.7.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ccache.inc
-
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=22d514dbc01fdf9a9784334b6b59417a"
-
-SRC_URI[md5sum] = "500d7bd9ebc6ee3105d7fc332c1ef395"
-SRC_URI[sha256sum] = "9b61f7fab2ec15305ee8382b03365503232dfb04b57414e7b0433768d530fa8a"
diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.7.9.bb b/poky/meta/recipes-devtools/ccache/ccache_3.7.9.bb
new file mode 100644
index 0000000..a4de6c9
--- /dev/null
+++ b/poky/meta/recipes-devtools/ccache/ccache_3.7.9.bb
@@ -0,0 +1,7 @@
+require ccache.inc
+
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=22d514dbc01fdf9a9784334b6b59417a"
+
+SRC_URI[md5sum] = "a4a38afc62ed189904357739fd8f3fb8"
+SRC_URI[sha256sum] = "92838e2133c9e704fdab9ee2608dad86c99021278b9ac47d065aa8ff2ea8ce36"
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.16.5.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.17.3.bb
similarity index 100%
rename from poky/meta/recipes-devtools/cmake/cmake-native_3.16.5.bb
rename to poky/meta/recipes-devtools/cmake/cmake-native_3.17.3.bb
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index 09949b5..7f0307c 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -10,8 +10,8 @@
 BUGTRACKER = "http://public.kitware.com/Bug/my_view_page.php"
 SECTION = "console/utils"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://Copyright.txt;md5=622747147b46f22e1953876a7cba3323 \
-                    file://Source/cmake.h;md5=4494dee184212fc89c469c3acd555a14;beginline=1;endline=3 \
+LIC_FILES_CHKSUM = "file://Copyright.txt;md5=c721f56fce89ba2eadc2fdd8ba1f4d83 \
+                    file://Source/cmake.h;beginline=1;endline=3;md5=4494dee184212fc89c469c3acd555a14 \
                     "
 
 CMAKE_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
@@ -22,7 +22,6 @@
            file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \
 "
 
-SRC_URI[md5sum] = "d86ccaf3d2462b6b5947919abe5b9f15"
-SRC_URI[sha256sum] = "5f760b50b8ecc9c0c37135fae5fbf00a2fef617059aa9d61c1bb91653e5a8bfc"
+SRC_URI[sha256sum] = "0bd60d512275dc9f6ef2a2865426a184642ceb3761794e6b65bff233b91d8c40"
 
 UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
index e2a58d2..f5c1a21 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
@@ -1,4 +1,4 @@
-From ab272d703ce77f323aa1285526559c9efbf85834 Mon Sep 17 00:00:00 2001
+From d4aa2dbdc69774ad668756586d59331ad215a2c6 Mon Sep 17 00:00:00 2001
 From: Cody P Schafer <dev@codyps.com>
 Date: Thu, 27 Apr 2017 11:35:05 -0400
 Subject: [PATCH] CMakeDetermineSystem: use oe environment vars to load default
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch b/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch
index 61c8f27..cf1dda7 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch
@@ -1,4 +1,4 @@
-From 5a86c7fa987bd407f228176df2abeffd015be9ea Mon Sep 17 00:00:00 2001
+From 126994379ea75c8826874656bb55f955182ae911 Mon Sep 17 00:00:00 2001
 From: Otavio Salvador <otavio@ossystems.com.br>
 Date: Wed, 17 Jan 2018 10:02:14 -0200
 Subject: [PATCH] cmake: Prevent the detection of Qt5
@@ -25,7 +25,7 @@
  7 files changed, 8 insertions(+), 9 deletions(-)
 
 diff --git a/Source/QtDialog/CMakeLists.txt b/Source/QtDialog/CMakeLists.txt
-index cb89d19..9e68981 100644
+index 98dd0e2..252302b 100644
 --- a/Source/QtDialog/CMakeLists.txt
 +++ b/Source/QtDialog/CMakeLists.txt
 @@ -3,7 +3,7 @@
@@ -38,18 +38,18 @@
    include_directories(${Qt5Widgets_INCLUDE_DIRS})
    add_definitions(${Qt5Widgets_DEFINITONS})
 diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
-index 57fa7fc..d50c146 100644
+index aff7383..e220503 100644
 --- a/Tests/CMakeLists.txt
 +++ b/Tests/CMakeLists.txt
-@@ -1329,7 +1329,7 @@ ${CMake_SOURCE_DIR}/Utilities/Release/push.bash --dir dev -- '${CMake_BUILD_NIGH
+@@ -215,7 +215,7 @@ if(BUILD_TESTING)
      set(CMake_TEST_Qt5 1)
    endif()
    if(CMake_TEST_Qt5)
 -    find_package(Qt5Widgets QUIET NO_MODULE)
 +    #find_package(Qt5Widgets QUIET NO_MODULE)
    endif()
-   if(CMake_TEST_Qt5 AND Qt5Widgets_FOUND)
-     add_subdirectory(Qt5Autogen)
+ 
+   if(NOT CMake_TEST_EXTERNAL_CMAKE)
 diff --git a/Tests/Qt4And5Automoc/CMakeLists.txt b/Tests/Qt4And5Automoc/CMakeLists.txt
 index ad74961..a9dd74b 100644
 --- a/Tests/Qt4And5Automoc/CMakeLists.txt
@@ -96,10 +96,10 @@
  set(CMAKE_CXX_STANDARD 11)
  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/output/bin)
 diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
-index 6b2f117..1002005 100644
+index e9f8bca..3a2da34 100644
 --- a/Tests/RunCMake/CMakeLists.txt
 +++ b/Tests/RunCMake/CMakeLists.txt
-@@ -376,7 +376,7 @@ else()
+@@ -396,7 +396,7 @@ else()
  endif()
  
  find_package(Qt4 QUIET)
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.16.5.bb b/poky/meta/recipes-devtools/cmake/cmake_3.17.3.bb
similarity index 100%
rename from poky/meta/recipes-devtools/cmake/cmake_3.16.5.bb
rename to poky/meta/recipes-devtools/cmake/cmake_3.17.3.bb
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.7.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.10.bb
similarity index 95%
rename from poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.7.bb
rename to poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.10.bb
index c6a53ff..13bfa21 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.7.bb
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.10.bb
@@ -8,7 +8,7 @@
            file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
            "
 
-SRCREV = "4ab6b56b8b718396386982afba4ade297c14d91a"
+SRCREV = "9f3f3be6359d8f9b6b269e28d9ae1f279cc5f3aa"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/tweak-options-require-tar-1.27.patch b/poky/meta/recipes-devtools/dpkg/dpkg/tweak-options-require-tar-1.27.patch
index e911991..ac59dce 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/tweak-options-require-tar-1.27.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/tweak-options-require-tar-1.27.patch
@@ -1,3 +1,8 @@
+From 48bcc51ce042d1b779b34fae454c52b15bdd9cae Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Fri, 22 Feb 2019 01:47:16 -0500
+Subject: [PATCH] dpkg: 1.18.25 -> 1.19.4
+
 GNU tar >= 1.27 is required for --owner=NAME:ID and --group=NAME:ID. And fails
 to build .deb packages with error:
 
@@ -11,9 +16,13 @@
 Upstream-Status: Inappropriate [cross build specific]
 
 Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
 ---
+ dpkg-deb/build.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
 diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c
-index 68d187511..86fe22e25 100644
+index 8436839..67c0c20 100644
 --- a/dpkg-deb/build.c
 +++ b/dpkg-deb/build.c
 @@ -462,7 +462,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.7.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.20.0.bb
similarity index 87%
rename from poky/meta/recipes-devtools/dpkg/dpkg_1.19.7.bb
rename to poky/meta/recipes-devtools/dpkg/dpkg_1.20.0.bb
index 50fe54d..1e822bb 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.7.bb
+++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.20.0.bb
@@ -19,5 +19,5 @@
                                 file://tweak-options-require-tar-1.27.patch \
 "
 
-SRC_URI[md5sum] = "60f57c5494e6dfa177504d47bfa0e383"
-SRC_URI[sha256sum] = "4c27fededf620c0aa522fff1a48577ba08144445341257502e7730f2b1a296e8"
+SRC_URI[md5sum] = "f88f077236a3ff3decae3b25c989893d"
+SRC_URI[sha256sum] = "b633cc2b0e030efb61e11029d8a3fb1123f719864c9992da2e52b471c96d0900"
diff --git a/poky/meta/recipes-devtools/gdb/gdb-9.1.inc b/poky/meta/recipes-devtools/gdb/gdb-9.2.inc
similarity index 88%
rename from poky/meta/recipes-devtools/gdb/gdb-9.1.inc
rename to poky/meta/recipes-devtools/gdb/gdb-9.2.inc
index d019e6b..017b61e 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-9.1.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb-9.2.inc
@@ -17,5 +17,5 @@
            file://0010-Fix-invalid-sigprocmask-call.patch \
            file://0011-gdbserver-ctrl-c-handling.patch \
            "
-SRC_URI[md5sum] = "f7e9f6236c425097d9e5f18a6ac40655"
-SRC_URI[sha256sum] = "699e0ec832fdd2f21c8266171ea5bf44024bd05164fdf064e4d10cc4cf0d1737"
+SRC_URI[md5sum] = "db95524e554870209ab7d9f8fd8dc557"
+SRC_URI[sha256sum] = "360cd7ae79b776988e89d8f9a01c985d0b1fa21c767a4295e5f88cb49175c555"
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_9.1.bb b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_9.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb-cross-canadian_9.1.bb
rename to poky/meta/recipes-devtools/gdb/gdb-cross-canadian_9.2.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross_9.1.bb b/poky/meta/recipes-devtools/gdb/gdb-cross_9.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb-cross_9.1.bb
rename to poky/meta/recipes-devtools/gdb/gdb-cross_9.2.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb_9.1.bb b/poky/meta/recipes-devtools/gdb/gdb_9.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb_9.1.bb
rename to poky/meta/recipes-devtools/gdb/gdb_9.2.bb
diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
index 48b7e6d..9d1874c 100644
--- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
+++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
@@ -8,8 +8,8 @@
 
 INHIBIT_DEFAULT_DEPS = "1"
 
-SRCREV = "5256817ace8493502ec88501a19e4051c2e220b0"
-PV = "20200117+git${SRCPV}"
+SRCREV = "e78c96e5288993aaea3ec44e5c6ee755c668da79"
+PV = "20200515+git${SRCPV}"
 
 SRC_URI = "git://git.savannah.gnu.org/config.git \
            file://gnu-configize.in"
diff --git a/poky/meta/recipes-devtools/go/go-1.14.inc b/poky/meta/recipes-devtools/go/go-1.14.inc
index c52593d..d729b65 100644
--- a/poky/meta/recipes-devtools/go/go-1.14.inc
+++ b/poky/meta/recipes-devtools/go/go-1.14.inc
@@ -1,7 +1,7 @@
 require go-common.inc
 
 GO_BASEVERSION = "1.14"
-GO_MINOR = ".1"
+GO_MINOR = ".3"
 PV .= "${GO_MINOR}"
 FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
 
@@ -18,5 +18,4 @@
     file://0008-use-GOBUILDMODE-to-set-buildmode.patch \
 "
 SRC_URI_append_libc-musl = " file://0009-ld-replace-glibc-dynamic-linker-with-musl.patch"
-
-SRC_URI[main.sha256sum] = "2ad2572115b0d1b4cb4c138e6b3a31cee6294cb48af75ee86bec3dca04507676"
+SRC_URI[main.sha256sum] = "93023778d4d1797b7bc6a53e86c3a9b150c923953225f8a48a2d5fabc971af56"
diff --git a/poky/meta/recipes-devtools/help2man/help2man-native_1.47.11.bb b/poky/meta/recipes-devtools/help2man/help2man-native_1.47.15.bb
similarity index 69%
rename from poky/meta/recipes-devtools/help2man/help2man-native_1.47.11.bb
rename to poky/meta/recipes-devtools/help2man/help2man-native_1.47.15.bb
index a60e851..4f80a2b 100644
--- a/poky/meta/recipes-devtools/help2man/help2man-native_1.47.11.bb
+++ b/poky/meta/recipes-devtools/help2man/help2man-native_1.47.15.bb
@@ -1,12 +1,11 @@
 SUMMARY = "Program for creating simple man pages"
 SECTION = "devel"
 LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
 DEPENDS = "autoconf-native automake-native"
 
 SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "dd322adcaede5bd5eaed075ff8971bc1"
-SRC_URI[sha256sum] = "5985b257f86304c8791842c0c807a37541d0d6807ee973000cf8a3fe6ad47b88"
+SRC_URI[sha256sum] = "c25a35b30eceb315361484b0ff1f81c924e8ee5c8881576f1ee762f001dbcd1c"
 
 inherit autotools native
 
diff --git a/poky/meta/recipes-devtools/jquery/jquery_3.5.0.bb b/poky/meta/recipes-devtools/jquery/jquery_3.5.1.bb
similarity index 67%
rename from poky/meta/recipes-devtools/jquery/jquery_3.5.0.bb
rename to poky/meta/recipes-devtools/jquery/jquery_3.5.1.bb
index 5c6f9cd..b4d7e80 100644
--- a/poky/meta/recipes-devtools/jquery/jquery_3.5.0.bb
+++ b/poky/meta/recipes-devtools/jquery/jquery_3.5.1.bb
@@ -2,7 +2,7 @@
 HOMEPAGE = "https://jquery.com/"
 LICENSE = "MIT"
 SECTION = "devel"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/${BP}.js;startline=8;endline=10;md5=b1e67ece919e852643f1541a54492d65"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/${BP}.js;beginline=8;endline=10;md5=ebd7bc5d23ab165188e526a0c65d24bb"
 
 SRC_URI = "\
     https://code.jquery.com/${BP}.js;name=js \
@@ -10,9 +10,9 @@
     https://code.jquery.com/${BP}.min.map;name=map \
     "
 
-SRC_URI[js.sha256sum] = "aff01a147aeccc9b70a5efad1f2362fd709f3316296ec460d94aa7d31decdb37"
-SRC_URI[min.sha256sum] = "c4dccdd9ae25b64078e0c73f273de94f8894d5c99e4741645ece29aeefc9c5a4"
-SRC_URI[map.sha256sum] = "3149351c8cbc3fb230bbf6188617c7ffda77d9e14333f4f5f0aa1aae379df892"
+SRC_URI[js.sha256sum] = "416a3b2c3bf16d64f6b5b6d0f7b079df2267614dd6847fc2f3271b4409233c37"
+SRC_URI[min.sha256sum] = "f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d"
+SRC_URI[map.sha256sum] = "511d6f6d3e7acec78cd2505f04282b6e01329b4c24931f39d91739d0d1ddeef8"
 
 UPSTREAM_CHECK_REGEX = "jquery-(?P<pver>\d+(\.\d+)+)\.js"
 
diff --git a/poky/meta/recipes-devtools/json-c/json-c/add-disable-werror-option-to-configure.patch b/poky/meta/recipes-devtools/json-c/json-c/add-disable-werror-option-to-configure.patch
deleted file mode 100644
index 0c20c84..0000000
--- a/poky/meta/recipes-devtools/json-c/json-c/add-disable-werror-option-to-configure.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-json-c: Backport --disable-werror patch to allow compilation under icecc
-
-icecc preprocesses source files locally before shipping them off to be compiled
-on remote hosts. This preprocessing removes comments, including /* fallthough */
-comments in switch statements that normally prevent an implicit-fallthrough
-warning, see https://github.com/icecc/icecream/issues/419
-
-Rather than turning off -Werror, the upstream project has implemented a
-configure option, --disable-werror, in response to Ross's
-https://github.com/json-c/json-c/issues/489
-
-This patch from
-https://github.com/json-c/json-c/commit/21c886534f8927fdc0fb5f8647394f3e0e0874b8
-
-Upstream-Status: Backport [Not yet released]
-Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
-
-From 21c886534f8927fdc0fb5f8647394f3e0e0874b8 Mon Sep 17 00:00:00 2001
-From: Pierce Lopez <pierce.lopez@gmail.com>
-Date: Sun, 9 Jun 2019 10:52:08 -0400
-Subject: [PATCH] build: add --disable-werror option to configure
-
-to omit -Werror compiler option
----
- configure.ac | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 272ea6af9c..798fd5b747 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -165,7 +165,12 @@ AS_IF([test "x$enable_Bsymbolic" = "xcheck"],
- AS_IF([test "x$enable_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbolic-functions])
- AC_SUBST(JSON_BSYMBOLIC_LDFLAGS)
- 
--AX_APPEND_COMPILE_FLAGS([-Wall -Werror -Wcast-qual -Wno-error=deprecated-declarations])
-+AC_ARG_ENABLE([werror],
-+    AS_HELP_STRING([--disable-werror], [avoid treating compiler warnings as fatal errors]))
-+
-+AS_IF([test "x$enable_werror" != "xno"], [AX_APPEND_COMPILE_FLAGS([-Werror])])
-+
-+AX_APPEND_COMPILE_FLAGS([-Wall -Wcast-qual -Wno-error=deprecated-declarations])
- AX_APPEND_COMPILE_FLAGS([-Wextra -Wwrite-string -Wno-unused-parameter])
- AX_APPEND_COMPILE_FLAGS([-D_GNU_SOURCE])
- 
diff --git a/poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb b/poky/meta/recipes-devtools/json-c/json-c_0.14.bb
similarity index 67%
rename from poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb
rename to poky/meta/recipes-devtools/json-c/json-c_0.14.bb
index 522879f..99fde87 100644
--- a/poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb
+++ b/poky/meta/recipes-devtools/json-c/json-c_0.14.bb
@@ -4,19 +4,14 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2"
 
-SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \
-           file://add-disable-werror-option-to-configure.patch \
-           "
-SRC_URI[md5sum] = "04969ad59cc37bddd83741a08b98f350"
-SRC_URI[sha256sum] = "b87e608d4d3f7bfdd36ef78d56d53c74e66ab278d318b71e6002a369d36f4873"
+SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz"
+SRC_URI[sha256sum] = "b377de08c9b23ca3b37d9a9828107dff1de5ce208ff4ebb35005a794f30c6870"
 
 UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
 UPSTREAM_CHECK_REGEX = "json-c-(?P<pver>\d+(\.\d+)+)-\d+"
 
 RPROVIDES_${PN} = "libjson"
 
-inherit autotools
-
-EXTRA_OECONF = "--disable-werror"
+inherit cmake
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-meson.build-do-not-install-python-gi-bindings.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-meson.build-do-not-install-python-gi-bindings.patch
deleted file mode 100644
index a97fb73..0000000
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-meson.build-do-not-install-python-gi-bindings.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From d7eeac90fe02ccf5c5e4334e41ec75fc33803643 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 31 Mar 2020 16:12:28 +0200
-Subject: [PATCH] meson.build: do not install python gi bindings
-
-These are unnecessary for oe-core, and the install location
-is incorrectly determined using native python.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- meson.build | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index a8b02b4..8ff737b 100644
---- a/meson.build
-+++ b/meson.build
-@@ -171,4 +171,3 @@ configure_file(
- )
- 
- subdir('modulemd')
--subdir('bindings/python')
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
index d440e60..fda01b8 100644
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
@@ -4,17 +4,16 @@
 
 SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https \
            file://0001-modulemd-generate-the-manpage-only-if-the-feature-is.patch \
-           file://0002-meson.build-do-not-install-python-gi-bindings.patch \
            "
 
-PV = "2.9.2"
-SRCREV = "780750eab8a0587b20d033f335301f16d00ab9c9"
+PV = "2.9.4"
+SRCREV = "c7254db07b21495fc9bd247c5b17ee20149c05e3"
 
 S = "${WORKDIR}/git"
 
-inherit meson gobject-introspection
+inherit meson gobject-introspection python3-dir
 
-EXTRA_OEMESON = "-Ddeveloper_build=false -Dwith_docs=false -Drpmio=disabled -Dlibmagic=disabled -Dwith_manpages=disabled"
+EXTRA_OEMESON = "-Ddeveloper_build=false -Dwith_docs=false -Drpmio=disabled -Dlibmagic=disabled -Dwith_manpages=disabled -Dgobject_overrides_dir_py3=${PYTHON_SITEPACKAGES_DIR}/gi/overrides"
 
 DEPENDS += "glib-2.0 libyaml glib-2.0-native python3"
 
@@ -23,3 +22,5 @@
 GIR_MESON_OPTION = 'skip_introspection'
 GIR_MESON_ENABLE_FLAG = 'false'
 GIR_MESON_DISABLE_FLAG = 'true'
+
+FILES_${PN} += "${libdir}/${PYTHON_DIR}/*"
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.11.2.bb b/poky/meta/recipes-devtools/librepo/librepo_1.11.3.bb
similarity index 93%
rename from poky/meta/recipes-devtools/librepo/librepo_1.11.2.bb
rename to poky/meta/recipes-devtools/librepo/librepo_1.11.3.bb
index 6a0a59f..3e74531 100644
--- a/poky/meta/recipes-devtools/librepo/librepo_1.11.2.bb
+++ b/poky/meta/recipes-devtools/librepo/librepo_1.11.3.bb
@@ -8,7 +8,7 @@
            file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
            "
 
-SRCREV = "67c2d1f83f1bf87be3f26ba730fce7fbdf0c9fba"
+SRCREV = "59b3f76ca6e79786a213cda72ecafa232d30553f"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc
index 0a58c97..12bc086 100644
--- a/poky/meta/recipes-devtools/meson/meson.inc
+++ b/poky/meta/recipes-devtools/meson/meson.inc
@@ -9,16 +9,14 @@
 
 SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${PV}.tar.gz \
            file://0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch \
-           file://0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch \
            file://0003-native_bindir.patch \
            file://0001-python-module-do-not-manipulate-the-environment-when.patch \
            file://disable-rpath-handling.patch \
            file://cross-prop-default.patch \
-           file://0001-mesonbuild-environment.py-check-environment-for-vari.patch \
            file://0001-modules-python.py-do-not-substitute-python-s-install.patch \
+           file://0001-gnome.py-prefix-g-i-paths-with-PKG_CONFIG_SYSROOT_DI.patch \
            "
-SRC_URI[sha256sum] = "3e8f830f33184397c2eb0b651ec502adb63decb28978bdc84b3558d71284c21f"
-SRC_URI[md5sum] = "80303535995fcae72bdb887df102b421"
+SRC_URI[sha256sum] = "a7716eeae8f8dff002e4147642589ab6496ff839e4376a5aed761f83c1fa0455"
 
 SRC_URI_append_class-native = " \
     file://0001-Make-CPU-family-warnings-fatal.patch \
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
index e64488b..01a8bb3 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
@@ -1,4 +1,4 @@
-From ee638fd4a299bfc53a2238e9f71ae310c8d97460 Mon Sep 17 00:00:00 2001
+From 830db2c7a136b2446d740c9ca025374352ffd16d Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Tue, 3 Jul 2018 13:59:09 +0100
 Subject: [PATCH] Make CPU family warnings fatal
@@ -12,10 +12,10 @@
  2 files changed, 2 insertions(+), 4 deletions(-)
 
 diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
-index 0f277a7..24578ea 100644
+index 17058df..18bbf86 100644
 --- a/mesonbuild/envconfig.py
 +++ b/mesonbuild/envconfig.py
-@@ -192,7 +192,7 @@ class MachineInfo:
+@@ -225,7 +225,7 @@ class MachineInfo:
 
          cpu_family = literal['cpu_family']
          if cpu_family not in known_cpu_families:
@@ -25,10 +25,10 @@
          endian = literal['endian']
          if endian not in ('little', 'big'):
 diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index dc8b14f..3aab71e 100644
+index a2f78a4..59fcb07 100644
 --- a/mesonbuild/environment.py
 +++ b/mesonbuild/environment.py
-@@ -354,9 +354,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
+@@ -364,9 +364,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
          trial = 'parisc'
 
      if trial not in known_cpu_families:
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-gnome.py-prefix-g-i-paths-with-PKG_CONFIG_SYSROOT_DI.patch b/poky/meta/recipes-devtools/meson/meson/0001-gnome.py-prefix-g-i-paths-with-PKG_CONFIG_SYSROOT_DI.patch
new file mode 100644
index 0000000..35c18f0
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/0001-gnome.py-prefix-g-i-paths-with-PKG_CONFIG_SYSROOT_DI.patch
@@ -0,0 +1,41 @@
+From 7be634fa9705d0367f48a91305f9acb642ff0a11 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 27 May 2020 16:43:05 +0000
+Subject: [PATCH] gnome.py: prefix g-i paths with PKG_CONFIG_SYSROOT_DIR
+
+When using sysroots for builds, the standard target paths for the
+tools need to be prefixed (pkg-config is not clever enough to
+determine when a custom variable is a path)
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mesonbuild/modules/gnome.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
+index 89d5d5d..d75f2e5 100644
+--- a/mesonbuild/modules/gnome.py
++++ b/mesonbuild/modules/gnome.py
+@@ -739,17 +739,17 @@ class GnomeModule(ExtensionModule):
+         if giscanner.found():
+             giscanner_path = giscanner.get_command()[0]
+             if not any(x in giscanner_path for x in gi_util_dirs_check):
+-                giscanner = self.gir_dep.get_pkgconfig_variable('g_ir_scanner', {})
++                giscanner = os.environ['PKG_CONFIG_SYSROOT_DIR'] + self.gir_dep.get_pkgconfig_variable('g_ir_scanner', {})
+         else:
+-            giscanner = self.gir_dep.get_pkgconfig_variable('g_ir_scanner', {})
++            giscanner = os.environ['PKG_CONFIG_SYSROOT_DIR'] + self.gir_dep.get_pkgconfig_variable('g_ir_scanner', {})
+ 
+         gicompiler = self.interpreter.find_program_impl('g-ir-compiler')
+         if gicompiler.found():
+             gicompiler_path = gicompiler.get_command()[0]
+             if not any(x in gicompiler_path for x in gi_util_dirs_check):
+-                gicompiler = self.gir_dep.get_pkgconfig_variable('g_ir_compiler', {})
++                gicompiler = os.environ['PKG_CONFIG_SYSROOT_DIR'] + self.gir_dep.get_pkgconfig_variable('g_ir_compiler', {})
+         else:
+-            gicompiler = self.gir_dep.get_pkgconfig_variable('g_ir_compiler', {})
++            gicompiler = os.environ['PKG_CONFIG_SYSROOT_DIR'] + self.gir_dep.get_pkgconfig_variable('g_ir_compiler', {})
+ 
+         ns = kwargs.pop('namespace')
+         nsversion = kwargs.pop('nsversion')
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch
deleted file mode 100644
index f445623..0000000
--- a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From a72dc2b1cddcf180ce782860896deae0b12d5000 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 25 Mar 2019 18:52:48 +0100
-Subject: [PATCH] mesonbuild/environment.py: check environment for various
- binaries
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- mesonbuild/environment.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 9a029f4..0cfdf9c 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -448,7 +448,7 @@ class Environment:
-             config = MesonConfigFile.from_config_parser(
-                 coredata.load_configs(self.coredata.cross_files))
-             properties.host = Properties(config.get('properties', {}), False)
--            binaries.host = BinaryTable(config.get('binaries', {}), False)
-+            binaries.host = BinaryTable(config.get('binaries', {}), True)
-             if 'host_machine' in config:
-                 machines.host = MachineInfo.from_literal(config['host_machine'])
-             if 'target_machine' in config:
diff --git a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
index d2c3f8c..246c4d7 100644
--- a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
@@ -1,4 +1,4 @@
-From 9c221c74bd306dfa6fec22c8f156eb9d4e4f7fcb Mon Sep 17 00:00:00 2001
+From 45df8f0a71c6b60cb98a336f8690af04965dfa9b Mon Sep 17 00:00:00 2001
 From: Peter Kjellerstedt <pkj@axis.com>
 Date: Thu, 26 Jul 2018 16:32:49 +0200
 Subject: [PATCH] Support building allarch recipes again
@@ -13,10 +13,10 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
-index 24578ea..216e71f 100644
+index 18bbf86..e76315e 100644
 --- a/mesonbuild/envconfig.py
 +++ b/mesonbuild/envconfig.py
-@@ -36,6 +36,7 @@ _T = typing.TypeVar('_T')
+@@ -36,6 +36,7 @@ _T = T.TypeVar('_T')
 
 
  known_cpu_families = (
diff --git a/poky/meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch b/poky/meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch
deleted file mode 100644
index 61b26bb..0000000
--- a/poky/meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 9ccaed380780178c4dab3a681f652ac7cd27452d Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 4 Aug 2017 16:18:47 +0300
-Subject: [PATCH] gobject-introspection: determine g-ir-scanner and
- g-ir-compiler paths from pkgconfig
-
-Do not hardcode the name of those binaries; gobject-introspection
-provides them via pkgconfig, and they can be set to something else
-(for example when cross-compiling).
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- mesonbuild/modules/gnome.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
-index 7c5a363..0002498 100644
---- a/mesonbuild/modules/gnome.py
-+++ b/mesonbuild/modules/gnome.py
-@@ -744,15 +744,15 @@ class GnomeModule(ExtensionModule):
-         if kwargs.get('install_dir'):
-             raise MesonException('install_dir is not supported with generate_gir(), see "install_dir_gir" and "install_dir_typelib"')
- 
--        giscanner = self.interpreter.find_program_impl('g-ir-scanner')
--        gicompiler = self.interpreter.find_program_impl('g-ir-compiler')
--
-         girtargets = [self._unwrap_gir_target(arg, state) for arg in args]
- 
-         if len(girtargets) > 1 and any([isinstance(el, build.Executable) for el in girtargets]):
-             raise MesonException('generate_gir only accepts a single argument when one of the arguments is an executable')
- 
-         self.gir_dep, pkgargs = self._get_gir_dep(state)
-+        giscanner = os.environ['PKG_CONFIG_SYSROOT_DIR'] + self.gir_dep.get_pkgconfig_variable('g_ir_scanner', {})
-+        gicompiler = os.environ['PKG_CONFIG_SYSROOT_DIR'] + self.gir_dep.get_pkgconfig_variable('g_ir_compiler', {})
-+
- 
-         ns = kwargs.pop('namespace')
-         nsversion = kwargs.pop('nsversion')
diff --git a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
index a5baca0..64e9fae 100644
--- a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
@@ -1,4 +1,4 @@
-From e76726321067748362b39937bd1e663a1a948ad5 Mon Sep 17 00:00:00 2001
+From da2091f6dfe978fc6140fc2d01bcafbbfae8d8db Mon Sep 17 00:00:00 2001
 From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
 Date: Wed, 15 Nov 2017 15:05:01 +0100
 Subject: [PATCH] native_bindir
@@ -22,10 +22,10 @@
  2 files changed, 14 insertions(+), 11 deletions(-)
 
 diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
-index 40e304c..4b687df 100644
+index 50f4179..e1529d8 100644
 --- a/mesonbuild/dependencies/base.py
 +++ b/mesonbuild/dependencies/base.py
-@@ -184,7 +184,7 @@ class Dependency:
+@@ -157,7 +157,7 @@ class Dependency:
      def get_exe_args(self, compiler):
          return []
 
@@ -34,16 +34,16 @@
          raise DependencyException('{!r} is not a pkgconfig dependency'.format(self.name))
 
      def get_configtool_variable(self, variable_name):
-@@ -247,7 +247,7 @@ class InternalDependency(Dependency):
-         self.sources = sources
+@@ -225,7 +225,7 @@ class InternalDependency(Dependency):
          self.ext_deps = ext_deps
+         self.variables = variables
 
 -    def get_pkgconfig_variable(self, variable_name, kwargs):
 +    def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):
          raise DependencyException('Method "get_pkgconfig_variable()" is '
                                    'invalid for an internal dependency')
 
-@@ -673,15 +673,18 @@ class PkgConfigDependency(ExternalDependency):
+@@ -633,15 +633,18 @@ class PkgConfigDependency(ExternalDependency):
          return s.format(self.__class__.__name__, self.name, self.is_found,
                          self.version_reqs)
 
@@ -65,7 +65,7 @@
          # Always copy the environment since we're going to modify it
          # with pkg-config variables
          if env is None:
-@@ -701,7 +704,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -667,7 +670,7 @@ class PkgConfigDependency(ExternalDependency):
          targs = tuple(args)
          cache = PkgConfigDependency.pkgbin_cache
          if (self.pkgbin, targs, fenv) not in cache:
@@ -74,7 +74,7 @@
          return cache[(self.pkgbin, targs, fenv)]
 
      def _convert_mingw_paths(self, args: T.List[str]) -> T.List[str]:
-@@ -907,7 +910,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -876,7 +879,7 @@ class PkgConfigDependency(ExternalDependency):
                                        (self.name, out_raw))
          self.link_args, self.raw_link_args = self._search_libs(out, out_raw)
 
@@ -83,7 +83,7 @@
          options = ['--variable=' + variable_name, self.name]
 
          if 'define_variable' in kwargs:
-@@ -920,7 +923,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -889,7 +892,7 @@ class PkgConfigDependency(ExternalDependency):
 
              options = ['--define-variable=' + '='.join(definition)] + options
 
@@ -93,10 +93,10 @@
          if ret != 0:
              if self.required:
 diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py
-index da411ef..856506a 100644
+index 741f0b8..134dd54 100644
 --- a/mesonbuild/dependencies/ui.py
 +++ b/mesonbuild/dependencies/ui.py
-@@ -330,7 +330,7 @@ class QtBaseDependency(ExternalDependency):
+@@ -320,7 +320,7 @@ class QtBaseDependency(ExternalDependency):
          self.bindir = self.get_pkgconfig_host_bins(core)
          if not self.bindir:
              # If exec_prefix is not defined, the pkg-config file is broken
@@ -105,7 +105,7 @@
              if prefix:
                  self.bindir = os.path.join(prefix, 'bin')
 
-@@ -508,7 +508,7 @@ class Qt4Dependency(QtBaseDependency):
+@@ -524,7 +524,7 @@ class Qt4Dependency(QtBaseDependency):
          applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease']
          for application in applications:
              try:
@@ -114,7 +114,7 @@
              except MesonException:
                  pass
 
-@@ -518,7 +518,7 @@ class Qt5Dependency(QtBaseDependency):
+@@ -534,7 +534,7 @@ class Qt5Dependency(QtBaseDependency):
          QtBaseDependency.__init__(self, 'qt5', env, kwargs)
 
      def get_pkgconfig_host_bins(self, core):
diff --git a/poky/meta/recipes-devtools/meson/meson/disable-rpath-handling.patch b/poky/meta/recipes-devtools/meson/meson/disable-rpath-handling.patch
index 4b1fb57..38e50d7 100644
--- a/poky/meta/recipes-devtools/meson/meson/disable-rpath-handling.patch
+++ b/poky/meta/recipes-devtools/meson/meson/disable-rpath-handling.patch
@@ -1,4 +1,9 @@
-We need to allow our rpaths generated through the compiler flags to make it into 
+From 3af10fa8cd4e97181288d72227dea712290fd5e6 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Fri, 23 Nov 2018 15:28:28 +0000
+Subject: [PATCH] meson: Disable rpath stripping at install time
+
+We need to allow our rpaths generated through the compiler flags to make it into
 our binaries. Therefore disable the meson manipulations of these unless there
 is a specific directive to do something differently in the project.
 
@@ -6,13 +11,17 @@
 
 Upstream-Status: Submitted [https://github.com/mesonbuild/meson/issues/2567]
 
-Index: meson-0.47.2/mesonbuild/minstall.py
-===================================================================
---- meson-0.47.2.orig/mesonbuild/minstall.py
-+++ meson-0.47.2/mesonbuild/minstall.py
-@@ -486,8 +486,11 @@ class Installer:
-                         printed_symlink_error = True
-             if os.path.isfile(outname):
+---
+ mesonbuild/minstall.py | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py
+index ace0569..85bd8df 100644
+--- a/mesonbuild/minstall.py
++++ b/mesonbuild/minstall.py
+@@ -508,8 +508,11 @@ class Installer:
+             if file_copied:
+                 self.did_install_something = True
                  try:
 -                    depfixer.fix_rpath(outname, install_rpath, final_path,
 -                                       install_name_mappings, verbose=False)
diff --git a/poky/meta/recipes-devtools/meson/meson_0.53.2.bb b/poky/meta/recipes-devtools/meson/meson_0.54.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/meson/meson_0.53.2.bb
rename to poky/meta/recipes-devtools/meson/meson_0.54.2.bb
diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.53.2.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.54.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/meson/nativesdk-meson_0.53.2.bb
rename to poky/meta/recipes-devtools/meson/nativesdk-meson_0.54.2.bb
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/fix-phdrs.patch b/poky/meta/recipes-devtools/patchelf/patchelf/fix-phdrs.patch
new file mode 100644
index 0000000..d087bd7
--- /dev/null
+++ b/poky/meta/recipes-devtools/patchelf/patchelf/fix-phdrs.patch
@@ -0,0 +1,37 @@
+When running patchelf on some existing patchelf'd binaries to change to longer 
+RPATHS, ldd would report the binaries as invalid. The output of objdump -x on 
+those libraryies should show the top of the .dynamic section is getting trashed,
+something like:
+
+0x600000001 0x0000000000429000
+0x335000 0x0000000000335000
+0xc740 0x000000000000c740
+0x1000 0x0000000000009098
+SONAME libglib-2.0.so.0
+
+(which should be RPATH and DT_NEEDED entries)
+
+This was tracked down to the code which injects the PT_LOAD section.
+
+The issue is that if the program headers were previously relocated to the end 
+of the file which was how patchelf operated previously, the relocation code 
+wouldn't work properly on a second run as it now assumes they're located after 
+the elf header. This change forces them back to immediately follow the elf
+header which is where the code has made space for them.
+
+Upstream-Status: Submitted [https://github.com/NixOS/patchelf/pull/202]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+RP 2020/6/2
+
+Index: git/src/patchelf.cc
+===================================================================
+--- git.orig/src/patchelf.cc
++++ git/src/patchelf.cc
+@@ -762,6 +762,7 @@ void ElfFile<ElfFileParamNames>::rewrite
+     }
+ 
+     /* Add a segment that maps the replaced sections into memory. */
++    wri(hdr->e_phoff, sizeof(Elf_Ehdr));
+     phdrs.resize(rdi(hdr->e_phnum) + 1);
+     wri(hdr->e_phnum, rdi(hdr->e_phnum) + 1);
+     Elf_Phdr & phdr = phdrs[rdi(hdr->e_phnum) - 1];
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf_0.10.bb b/poky/meta/recipes-devtools/patchelf/patchelf_0.10.bb
index d29e094..84e6407 100644
--- a/poky/meta/recipes-devtools/patchelf/patchelf_0.10.bb
+++ b/poky/meta/recipes-devtools/patchelf/patchelf_0.10.bb
@@ -1,6 +1,7 @@
 SRC_URI = "git://github.com/NixOS/patchelf;protocol=https \
            file://handle-read-only-files.patch \
            file://fix-adjusting-startPage.patch \
+           file://fix-phdrs.patch \
            "
 
 LICENSE = "GPLv3"
diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
index 0bff979..6a437e7 100644
--- a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
+++ b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
@@ -9,8 +9,8 @@
            file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \
            file://0001-convert-shebang-from-python-to-python3.patch \
            "
-SRC_URI[md5sum] = "cd631c761f141d382b4e1b31c8232fc0"
-SRC_URI[sha256sum] = "93ee59ec38f3bf8f9a42d5f4301f60e6825a4a6385a145f70badcd2bf2a11134"
+SRC_URI[md5sum] = "70e6c294f8dffa8d630eda1b0d42ae4d"
+SRC_URI[sha256sum] = "e0781ec6627e85f2a618478ee278893343fb8b40577b4c74b2ec15c7a5b8f698"
 
 UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.3.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.4.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.3.bb
rename to poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.4.bb
diff --git a/poky/meta/recipes-devtools/python/files/0001-bpo-39503-CVE-2020-8492-Fix-AbstractBasicAuthHandler.patch b/poky/meta/recipes-devtools/python/files/0001-bpo-39503-CVE-2020-8492-Fix-AbstractBasicAuthHandler.patch
deleted file mode 100644
index e16b99b..0000000
--- a/poky/meta/recipes-devtools/python/files/0001-bpo-39503-CVE-2020-8492-Fix-AbstractBasicAuthHandler.patch
+++ /dev/null
@@ -1,248 +0,0 @@
-From 0b297d4ff1c0e4480ad33acae793fbaf4bf015b4 Mon Sep 17 00:00:00 2001
-From: Victor Stinner <vstinner@python.org>
-Date: Thu, 2 Apr 2020 02:52:20 +0200
-Subject: [PATCH] bpo-39503: CVE-2020-8492: Fix AbstractBasicAuthHandler
- (GH-18284)
-
-Upstream-Status: Backport
-(https://github.com/python/cpython/commit/0b297d4ff1c0e4480ad33acae793fbaf4bf015b4)
-
-CVE: CVE-2020-8492
-
-The AbstractBasicAuthHandler class of the urllib.request module uses
-an inefficient regular expression which can be exploited by an
-attacker to cause a denial of service. Fix the regex to prevent the
-catastrophic backtracking. Vulnerability reported by Ben Caller
-and Matt Schwager.
-
-AbstractBasicAuthHandler of urllib.request now parses all
-WWW-Authenticate HTTP headers and accepts multiple challenges per
-header: use the realm of the first Basic challenge.
-
-Co-Authored-By: Serhiy Storchaka <storchaka@gmail.com>
-Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
----
- Lib/test/test_urllib2.py                      | 90 ++++++++++++-------
- Lib/urllib/request.py                         | 69 ++++++++++----
- .../2020-03-25-16-02-16.bpo-39503.YmMbYn.rst  |  3 +
- .../2020-01-30-16-15-29.bpo-39503.B299Yq.rst  |  5 ++
- 4 files changed, 115 insertions(+), 52 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Library/2020-03-25-16-02-16.bpo-39503.YmMbYn.rst
- create mode 100644 Misc/NEWS.d/next/Security/2020-01-30-16-15-29.bpo-39503.B299Yq.rst
-
-diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py
-index 8abedaac98..e69ac3e213 100644
---- a/Lib/test/test_urllib2.py
-+++ b/Lib/test/test_urllib2.py
-@@ -1446,40 +1446,64 @@ class HandlerTests(unittest.TestCase):
-         bypass = {'exclude_simple': True, 'exceptions': []}
-         self.assertTrue(_proxy_bypass_macosx_sysconf('test', bypass))
- 
--    def test_basic_auth(self, quote_char='"'):
--        opener = OpenerDirector()
--        password_manager = MockPasswordManager()
--        auth_handler = urllib.request.HTTPBasicAuthHandler(password_manager)
--        realm = "ACME Widget Store"
--        http_handler = MockHTTPHandler(
--            401, 'WWW-Authenticate: Basic realm=%s%s%s\r\n\r\n' %
--            (quote_char, realm, quote_char))
--        opener.add_handler(auth_handler)
--        opener.add_handler(http_handler)
--        self._test_basic_auth(opener, auth_handler, "Authorization",
--                              realm, http_handler, password_manager,
--                              "http://acme.example.com/protected",
--                              "http://acme.example.com/protected",
--                              )
--
--    def test_basic_auth_with_single_quoted_realm(self):
--        self.test_basic_auth(quote_char="'")
--
--    def test_basic_auth_with_unquoted_realm(self):
--        opener = OpenerDirector()
--        password_manager = MockPasswordManager()
--        auth_handler = urllib.request.HTTPBasicAuthHandler(password_manager)
--        realm = "ACME Widget Store"
--        http_handler = MockHTTPHandler(
--            401, 'WWW-Authenticate: Basic realm=%s\r\n\r\n' % realm)
--        opener.add_handler(auth_handler)
--        opener.add_handler(http_handler)
--        with self.assertWarns(UserWarning):
-+    def check_basic_auth(self, headers, realm):
-+        with self.subTest(realm=realm, headers=headers):
-+            opener = OpenerDirector()
-+            password_manager = MockPasswordManager()
-+            auth_handler = urllib.request.HTTPBasicAuthHandler(password_manager)
-+            body = '\r\n'.join(headers) + '\r\n\r\n'
-+            http_handler = MockHTTPHandler(401, body)
-+            opener.add_handler(auth_handler)
-+            opener.add_handler(http_handler)
-             self._test_basic_auth(opener, auth_handler, "Authorization",
--                                realm, http_handler, password_manager,
--                                "http://acme.example.com/protected",
--                                "http://acme.example.com/protected",
--                                )
-+                                  realm, http_handler, password_manager,
-+                                  "http://acme.example.com/protected",
-+                                  "http://acme.example.com/protected")
-+
-+    def test_basic_auth(self):
-+        realm = "realm2@example.com"
-+        realm2 = "realm2@example.com"
-+        basic = f'Basic realm="{realm}"'
-+        basic2 = f'Basic realm="{realm2}"'
-+        other_no_realm = 'Otherscheme xxx'
-+        digest = (f'Digest realm="{realm2}", '
-+                  f'qop="auth, auth-int", '
-+                  f'nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", '
-+                  f'opaque="5ccc069c403ebaf9f0171e9517f40e41"')
-+        for realm_str in (
-+            # test "quote" and 'quote'
-+            f'Basic realm="{realm}"',
-+            f"Basic realm='{realm}'",
-+
-+            # charset is ignored
-+            f'Basic realm="{realm}", charset="UTF-8"',
-+
-+            # Multiple challenges per header
-+            f'{basic}, {basic2}',
-+            f'{basic}, {other_no_realm}',
-+            f'{other_no_realm}, {basic}',
-+            f'{basic}, {digest}',
-+            f'{digest}, {basic}',
-+        ):
-+            headers = [f'WWW-Authenticate: {realm_str}']
-+            self.check_basic_auth(headers, realm)
-+
-+        # no quote: expect a warning
-+        with support.check_warnings(("Basic Auth Realm was unquoted",
-+                                     UserWarning)):
-+            headers = [f'WWW-Authenticate: Basic realm={realm}']
-+            self.check_basic_auth(headers, realm)
-+
-+        # Multiple headers: one challenge per header.
-+        # Use the first Basic realm.
-+        for challenges in (
-+            [basic,  basic2],
-+            [basic,  digest],
-+            [digest, basic],
-+        ):
-+            headers = [f'WWW-Authenticate: {challenge}'
-+                       for challenge in challenges]
-+            self.check_basic_auth(headers, realm)
- 
-     def test_proxy_basic_auth(self):
-         opener = OpenerDirector()
-diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
-index 7fe50535da..2a3d71554f 100644
---- a/Lib/urllib/request.py
-+++ b/Lib/urllib/request.py
-@@ -937,8 +937,15 @@ class AbstractBasicAuthHandler:
- 
-     # allow for double- and single-quoted realm values
-     # (single quotes are a violation of the RFC, but appear in the wild)
--    rx = re.compile('(?:.*,)*[ \t]*([^ \t]+)[ \t]+'
--                    'realm=(["\']?)([^"\']*)\\2', re.I)
-+    rx = re.compile('(?:^|,)'   # start of the string or ','
-+                    '[ \t]*'    # optional whitespaces
-+                    '([^ \t]+)' # scheme like "Basic"
-+                    '[ \t]+'    # mandatory whitespaces
-+                    # realm=xxx
-+                    # realm='xxx'
-+                    # realm="xxx"
-+                    'realm=(["\']?)([^"\']*)\\2',
-+                    re.I)
- 
-     # XXX could pre-emptively send auth info already accepted (RFC 2617,
-     # end of section 2, and section 1.2 immediately after "credentials"
-@@ -950,27 +957,51 @@ class AbstractBasicAuthHandler:
-         self.passwd = password_mgr
-         self.add_password = self.passwd.add_password
- 
-+    def _parse_realm(self, header):
-+        # parse WWW-Authenticate header: accept multiple challenges per header
-+        found_challenge = False
-+        for mo in AbstractBasicAuthHandler.rx.finditer(header):
-+            scheme, quote, realm = mo.groups()
-+            if quote not in ['"', "'"]:
-+                warnings.warn("Basic Auth Realm was unquoted",
-+                              UserWarning, 3)
-+
-+            yield (scheme, realm)
-+
-+            found_challenge = True
-+
-+        if not found_challenge:
-+            if header:
-+                scheme = header.split()[0]
-+            else:
-+                scheme = ''
-+            yield (scheme, None)
-+
-     def http_error_auth_reqed(self, authreq, host, req, headers):
-         # host may be an authority (without userinfo) or a URL with an
-         # authority
--        # XXX could be multiple headers
--        authreq = headers.get(authreq, None)
-+        headers = headers.get_all(authreq)
-+        if not headers:
-+            # no header found
-+            return
- 
--        if authreq:
--            scheme = authreq.split()[0]
--            if scheme.lower() != 'basic':
--                raise ValueError("AbstractBasicAuthHandler does not"
--                                 " support the following scheme: '%s'" %
--                                 scheme)
--            else:
--                mo = AbstractBasicAuthHandler.rx.search(authreq)
--                if mo:
--                    scheme, quote, realm = mo.groups()
--                    if quote not in ['"',"'"]:
--                        warnings.warn("Basic Auth Realm was unquoted",
--                                      UserWarning, 2)
--                    if scheme.lower() == 'basic':
--                        return self.retry_http_basic_auth(host, req, realm)
-+        unsupported = None
-+        for header in headers:
-+            for scheme, realm in self._parse_realm(header):
-+                if scheme.lower() != 'basic':
-+                    unsupported = scheme
-+                    continue
-+
-+                if realm is not None:
-+                    # Use the first matching Basic challenge.
-+                    # Ignore following challenges even if they use the Basic
-+                    # scheme.
-+                    return self.retry_http_basic_auth(host, req, realm)
-+
-+        if unsupported is not None:
-+            raise ValueError("AbstractBasicAuthHandler does not "
-+                             "support the following scheme: %r"
-+                             % (scheme,))
- 
-     def retry_http_basic_auth(self, host, req, realm):
-         user, pw = self.passwd.find_user_password(realm, host)
-diff --git a/Misc/NEWS.d/next/Library/2020-03-25-16-02-16.bpo-39503.YmMbYn.rst b/Misc/NEWS.d/next/Library/2020-03-25-16-02-16.bpo-39503.YmMbYn.rst
-new file mode 100644
-index 0000000000..be80ce79d9
---- /dev/null
-+++ b/Misc/NEWS.d/next/Library/2020-03-25-16-02-16.bpo-39503.YmMbYn.rst
-@@ -0,0 +1,3 @@
-+:class:`~urllib.request.AbstractBasicAuthHandler` of :mod:`urllib.request`
-+now parses all WWW-Authenticate HTTP headers and accepts multiple challenges
-+per header: use the realm of the first Basic challenge.
-diff --git a/Misc/NEWS.d/next/Security/2020-01-30-16-15-29.bpo-39503.B299Yq.rst b/Misc/NEWS.d/next/Security/2020-01-30-16-15-29.bpo-39503.B299Yq.rst
-new file mode 100644
-index 0000000000..9f2800581c
---- /dev/null
-+++ b/Misc/NEWS.d/next/Security/2020-01-30-16-15-29.bpo-39503.B299Yq.rst
-@@ -0,0 +1,5 @@
-+CVE-2020-8492: The :class:`~urllib.request.AbstractBasicAuthHandler` class of the
-+:mod:`urllib.request` module uses an inefficient regular expression which can
-+be exploited by an attacker to cause a denial of service. Fix the regex to
-+prevent the catastrophic backtracking. Vulnerability reported by Ben Caller
-+and Matt Schwager.
--- 
-2.24.1
-
diff --git a/poky/meta/recipes-devtools/python/python-cython.inc b/poky/meta/recipes-devtools/python/python-cython.inc
index 437e796..eee567e 100644
--- a/poky/meta/recipes-devtools/python/python-cython.inc
+++ b/poky/meta/recipes-devtools/python/python-cython.inc
@@ -7,8 +7,7 @@
 PYPI_PACKAGE = "Cython"
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[md5sum] = "a899abaa48b68bb679aef45ceb4b89d3"
-SRC_URI[sha256sum] = "232755284f942cbb3b43a06cd85974ef3c970a021aef19b5243c03ee2b08fa05"
+SRC_URI[sha256sum] = "97f98a7dc0d58ea833dc1f8f8b3ce07adf4c0f030d1886c5399a2135ed415258"
 UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar"
 
 inherit pypi
diff --git a/poky/meta/recipes-devtools/python/python-gitdb.inc b/poky/meta/recipes-devtools/python/python-gitdb.inc
index a91bb32..618d85f 100644
--- a/poky/meta/recipes-devtools/python/python-gitdb.inc
+++ b/poky/meta/recipes-devtools/python/python-gitdb.inc
@@ -8,7 +8,7 @@
 
 PYPI_PACKAGE = "gitdb"
 
-SRC_URI[sha256sum] = "6f0ecd46f99bb4874e5678d628c3a198e2b4ef38daea2756a2bfd8df7dd5c1a5"
+SRC_URI[sha256sum] = "c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9"
 
 DEPENDS = "${PYTHON_PN}-async ${PYTHON_PN}-setuptools-native ${PYTHON_PN}-smmap"
 
diff --git a/poky/meta/recipes-devtools/python/python-setuptools.inc b/poky/meta/recipes-devtools/python/python-setuptools.inc
index e9ad93d..c91cca9 100644
--- a/poky/meta/recipes-devtools/python/python-setuptools.inc
+++ b/poky/meta/recipes-devtools/python/python-setuptools.inc
@@ -12,8 +12,8 @@
 
 SRC_URI += "file://0001-change-shebang-to-python3.patch"
 
-SRC_URI[md5sum] = "0c956eea142af9c2b02d72e3c042af30"
-SRC_URI[sha256sum] = "89c6e6011ec2f6d57d43a3f9296c4ef022c2cbf49bab26b407fe67992ae3397f"
+SRC_URI[md5sum] = "6e9de90b242fdd60ef59f497424ce13a"
+SRC_URI[sha256sum] = "145fa62b9d7bb544fce16e9b5a9bf4ab2032d2f758b7cd674af09a92736aff74"
 
 DEPENDS += "${PYTHON_PN}"
 
diff --git a/poky/meta/recipes-devtools/python/python-smmap.inc b/poky/meta/recipes-devtools/python/python-smmap.inc
index b878b4b..7703722 100644
--- a/poky/meta/recipes-devtools/python/python-smmap.inc
+++ b/poky/meta/recipes-devtools/python/python-smmap.inc
@@ -9,10 +9,9 @@
 
 inherit pypi
 
-PYPI_PACKAGE = "smmap2"
+PYPI_PACKAGE = "smmap"
 
-SRC_URI[md5sum] = "1c59a985be5aa645c4c5a4e063a40dd5"
-SRC_URI[sha256sum] = "29a9ffa0497e7f2be94ca0ed1ca1aa3cd4cf25a1f6b4f5f87f74b46ed91d609a"
+SRC_URI[sha256sum] = "9c98bbd1f9786d22f14b3d4126894d56befb835ec90cef151af566c7e19b5d24"
 
 RDEPENDS_${PN} += "${PYTHON_PN}-codecs \
                    ${PYTHON_PN}-mmap \
diff --git a/poky/meta/recipes-devtools/python/python-subunit.inc b/poky/meta/recipes-devtools/python/python-subunit.inc
index afaaa51..fc63b38 100644
--- a/poky/meta/recipes-devtools/python/python-subunit.inc
+++ b/poky/meta/recipes-devtools/python/python-subunit.inc
@@ -6,8 +6,8 @@
 
 PYPI_PACKAGE = "python-subunit"
 
-SRC_URI[md5sum] = "16d468a3aeafe6c60a0c3b2b9132d65b"
-SRC_URI[sha256sum] = "9607edbee4c1e5a30ff88549ce8d9feb0b9bcbcb5e55033a9d76e86075465cbb"
+SRC_URI[md5sum] = "30f1ab20651d94442dd9a7f8c9e8d633"
+SRC_URI[sha256sum] = "042039928120fbf392e8c983d60f3d8ae1b88f90a9f8fd7188ddd9c26cad1e48"
 
 inherit pypi
 
diff --git a/poky/meta/recipes-devtools/python/python-testtools.inc b/poky/meta/recipes-devtools/python/python-testtools.inc
index d0b2e46..f1f1e26 100644
--- a/poky/meta/recipes-devtools/python/python-testtools.inc
+++ b/poky/meta/recipes-devtools/python/python-testtools.inc
@@ -6,8 +6,8 @@
 
 inherit pypi
 
-SRC_URI[md5sum] = "0f0feb915497816cb99e39437494217e"
-SRC_URI[sha256sum] = "5827ec6cf8233e0f29f51025addd713ca010061204fdea77484a2934690a0559"
+SRC_URI[md5sum] = "e8fc7185b47cfb908c641f8c4b2a6add"
+SRC_URI[sha256sum] = "64c974a6cca4385d05f4bbfa2deca1c39ce88ede31c3448bee86a7259a9a61c8"
 
 DEPENDS += " \
     ${PYTHON_PN}-pbr \
diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.16.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.19.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python3-cython_0.29.16.bb
rename to poky/meta/recipes-devtools/python/python3-cython_0.29.19.bb
diff --git a/poky/meta/recipes-devtools/python/python3-gitdb_4.0.4.bb b/poky/meta/recipes-devtools/python/python3-gitdb_4.0.4.bb
deleted file mode 100644
index 2dcd9c8..0000000
--- a/poky/meta/recipes-devtools/python/python3-gitdb_4.0.4.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit setuptools3
-require python-gitdb.inc
-
diff --git a/poky/meta/recipes-devtools/python/python3-gitdb_4.0.5.bb b/poky/meta/recipes-devtools/python/python3-gitdb_4.0.5.bb
new file mode 100644
index 0000000..fe56bf9
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-gitdb_4.0.5.bb
@@ -0,0 +1,4 @@
+inherit setuptools3
+require python-gitdb.inc
+
+SRC_URI[md5sum] = "0e2d3f34efece5deda7c55fede6507cc"
diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.1.1.bb b/poky/meta/recipes-devtools/python/python3-mako_1.1.3.bb
similarity index 75%
rename from poky/meta/recipes-devtools/python/python3-mako_1.1.1.bb
rename to poky/meta/recipes-devtools/python/python3-mako_1.1.3.bb
index bc38009..cda4e99 100644
--- a/poky/meta/recipes-devtools/python/python3-mako_1.1.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-mako_1.1.3.bb
@@ -8,8 +8,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[md5sum] = "2660a4916f2f63456e6885c727b7cd2f"
-SRC_URI[sha256sum] = "2984a6733e1d472796ceef37ad48c26f4a984bb18119bb2dbc37a44d8f6e75a4"
+SRC_URI[sha256sum] = "8195c8c1400ceb53496064314c6736719c6f25e7479cd24c77be3d9361cddc27"
 
 RDEPENDS_${PN} = "${PYTHON_PN}-html \
                   ${PYTHON_PN}-netclient \
diff --git a/poky/meta/recipes-devtools/python/python3-pycairo_1.19.0.bb b/poky/meta/recipes-devtools/python/python3-pycairo_1.19.1.bb
similarity index 84%
rename from poky/meta/recipes-devtools/python/python3-pycairo_1.19.0.bb
rename to poky/meta/recipes-devtools/python/python3-pycairo_1.19.1.bb
index 8f60834..34c8543 100644
--- a/poky/meta/recipes-devtools/python/python3-pycairo_1.19.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pycairo_1.19.1.bb
@@ -13,8 +13,8 @@
 SRC_URI = "https://github.com/pygobject/pycairo/releases/download/v${PV}/pycairo-${PV}.tar.gz"
 UPSTREAM_CHECK_URI = "https://github.com/pygobject/pycairo/releases/"
 
-SRC_URI[md5sum] = "38b84416021640b01250c8f8ec4c52d4"
-SRC_URI[sha256sum] = "4f5ba9374a46c98729dd3727d993f5e17ed0286fd6738ed464fe4efa0612d19c"
+SRC_URI[md5sum] = "59bc5c5d1debc3af0f6791af9d612551"
+SRC_URI[sha256sum] = "2c143183280feb67f5beb4e543fd49990c28e7df427301ede04fc550d3562e84"
 
 S = "${WORKDIR}/pycairo-${PV}"
 
diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.5.2.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.6.1.bb
similarity index 75%
rename from poky/meta/recipes-devtools/python/python3-pygments_2.5.2.bb
rename to poky/meta/recipes-devtools/python/python3-pygments_2.6.1.bb
index 474b954..bffef59 100644
--- a/poky/meta/recipes-devtools/python/python3-pygments_2.5.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygments_2.6.1.bb
@@ -5,8 +5,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e1d7b7bffbfeaa14083fd2bd3236aea8"
 
 inherit setuptools3
-SRC_URI[md5sum] = "465a35559863089d959d783a69f79b9f"
-SRC_URI[sha256sum] = "98c8aa5a9f778fcd1026a17361ddaf7330d1b7c62ae97c3bb0ae73e0b9b6b0fe"
+SRC_URI[md5sum] = "a48c5219de92f12c41acba814730b31a"
+SRC_URI[sha256sum] = "647344a061c249a3b74e230c739f434d7ea4d8b1d5f3721bc0f3558049b38f44"
 
 DEPENDS += "\
             ${PYTHON_PN} \
diff --git a/poky/meta/recipes-devtools/python/python3-pygobject_3.34.0.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.36.1.bb
similarity index 87%
rename from poky/meta/recipes-devtools/python/python3-pygobject_3.34.0.bb
rename to poky/meta/recipes-devtools/python/python3-pygobject_3.36.1.bb
index 6babf0c..0a34d43 100644
--- a/poky/meta/recipes-devtools/python/python3-pygobject_3.34.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygobject_3.36.1.bb
@@ -14,8 +14,8 @@
     http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
     file://0001-Do-not-build-tests.patch \
 "
-SRC_URI[md5sum] = "ca1dc4f31c1d6d283758e8f315a88ab6"
-SRC_URI[sha256sum] = "87e2c9aa785f352ef111dcc5f63df9b85cf6e05e52ff04f803ffbebdacf5271a"
+SRC_URI[md5sum] = "ebfebc4533856572281add29f08412bf"
+SRC_URI[sha256sum] = "d1bf42802d1cec113b5adaa0e7bf7f3745b44521dc2163588d276d5cd61d718f"
 
 UNKNOWN_CONFIGURE_WHITELIST = "introspection"
 
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools/0001-change-shebang-to-python3.patch b/poky/meta/recipes-devtools/python/python3-setuptools/0001-change-shebang-to-python3.patch
index 33af8da..6dcf527 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools/0001-change-shebang-to-python3.patch
+++ b/poky/meta/recipes-devtools/python/python3-setuptools/0001-change-shebang-to-python3.patch
@@ -8,8 +8,7 @@
 Signed-off-by: Changqing Li <changqing.li@windriver.com>
 ---
  pkg_resources/_vendor/appdirs.py   | 2 +-
- setuptools/command/easy_install.py | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
+ 1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/pkg_resources/_vendor/appdirs.py b/pkg_resources/_vendor/appdirs.py
 index ae67001..933e398 100644
@@ -21,16 +20,6 @@
  # -*- coding: utf-8 -*-
  # Copyright (c) 2005-2010 ActiveState Software Inc.
  # Copyright (c) 2013 Eddy Petrișor
-diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
-index abca1ae..6bcdc98 100644
---- a/setuptools/command/easy_install.py
-+++ b/setuptools/command/easy_install.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- Easy Install
- ------------
 -- 
 2.24.1
 
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_45.2.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_47.1.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python3-setuptools_45.2.0.bb
rename to poky/meta/recipes-devtools/python/python3-setuptools_47.1.1.bb
diff --git a/poky/meta/recipes-devtools/python/python3-six_1.14.0.bb b/poky/meta/recipes-devtools/python/python3-six_1.14.0.bb
deleted file mode 100644
index 151c366..0000000
--- a/poky/meta/recipes-devtools/python/python3-six_1.14.0.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-inherit setuptools3
-require python-six.inc
-
-SRC_URI[md5sum] = "21674588a57e649d1a6d977ec3122140"
-SRC_URI[sha256sum] = "236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a"
diff --git a/poky/meta/recipes-devtools/python/python3-six_1.15.0.bb b/poky/meta/recipes-devtools/python/python3-six_1.15.0.bb
new file mode 100644
index 0000000..6c6f3f9
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-six_1.15.0.bb
@@ -0,0 +1,5 @@
+inherit setuptools3
+require python-six.inc
+
+SRC_URI[md5sum] = "9f90a0eaa0ea7747fda01ca79d21ebcb"
+SRC_URI[sha256sum] = "30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"
diff --git a/poky/meta/recipes-devtools/python/python3-smmap_2.0.5.bb b/poky/meta/recipes-devtools/python/python3-smmap_3.0.4.bb
similarity index 97%
rename from poky/meta/recipes-devtools/python/python3-smmap_2.0.5.bb
rename to poky/meta/recipes-devtools/python/python3-smmap_3.0.4.bb
index e87b8df8..5f0f341 100644
--- a/poky/meta/recipes-devtools/python/python3-smmap_2.0.5.bb
+++ b/poky/meta/recipes-devtools/python/python3-smmap_3.0.4.bb
@@ -1,2 +1,3 @@
 inherit setuptools3
 require python-smmap.inc
+
diff --git a/poky/meta/recipes-devtools/python/python3-subunit_1.3.0.bb b/poky/meta/recipes-devtools/python/python3-subunit_1.4.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python3-subunit_1.3.0.bb
rename to poky/meta/recipes-devtools/python/python3-subunit_1.4.0.bb
diff --git a/poky/meta/recipes-devtools/python/python3-testtools_2.3.0.bb b/poky/meta/recipes-devtools/python/python3-testtools_2.4.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python3-testtools_2.3.0.bb
rename to poky/meta/recipes-devtools/python/python3-testtools_2.4.0.bb
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch b/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
index acf8e1e..3e471b9 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
@@ -1,16 +1,17 @@
-From 85e8f86ad2b7dec0848cd55b8e810a5e2722b20a Mon Sep 17 00:00:00 2001
+From b880e78bf4a1852e260188e6df3ec6034403d2fc Mon Sep 17 00:00:00 2001
 From: Jeremy Puhlman <jpuhlman@mvista.com>
 Date: Wed, 4 Mar 2020 00:06:42 +0000
 Subject: [PATCH] Don't search system for headers/libraries
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
+
 ---
  setup.py | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/setup.py b/setup.py
-index 9da1b3a..59782c0 100644
+index 7208cd0..c0bd0ad 100644
 --- a/setup.py
 +++ b/setup.py
 @@ -674,8 +674,8 @@ class PyBuildExt(build_ext):
@@ -24,6 +25,3 @@
          # lib_dirs and inc_dirs are used to search for files;
          # if a file is found in one of those directories, it can
          # be assumed that no additional -I,-L directives are needed.
--- 
-2.24.1
-
diff --git a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
index e7af3c6..2b68c0a 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
@@ -1,4 +1,4 @@
-From 7ada9c749f6beb51c13a3debc850755e911548a6 Mon Sep 17 00:00:00 2001
+From bc59d49efff41051034d7fbf5d0c8505e4c3134b Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 31 Jan 2019 16:46:30 +0100
 Subject: [PATCH] distutils/sysconfig: append
diff --git a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
index 61ac3e7..820fb98 100644
--- a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
+++ b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
@@ -1,4 +1,4 @@
-From 251347fc970a397a9cd63ed3f87c5e6c52e15187 Mon Sep 17 00:00:00 2001
+From 064187668fcbefdd39a8cde372bf651124c3e578 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 14 May 2013 15:00:26 -0700
 Subject: [PATCH] python3: Add target and native recipes
diff --git a/poky/meta/recipes-devtools/python/python3_3.8.2.bb b/poky/meta/recipes-devtools/python/python3_3.8.3.bb
similarity index 98%
rename from poky/meta/recipes-devtools/python/python3_3.8.2.bb
rename to poky/meta/recipes-devtools/python/python3_3.8.3.bb
index 0474f07..4367923 100644
--- a/poky/meta/recipes-devtools/python/python3_3.8.2.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.8.3.bb
@@ -32,7 +32,6 @@
            file://0001-configure.ac-fix-LIBPL.patch \
            file://0001-python3-Do-not-hardcode-lib-for-distutils.patch \
            file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \
-           file://0001-bpo-39503-CVE-2020-8492-Fix-AbstractBasicAuthHandler.patch \
            "
 
 SRC_URI_append_class-native = " \
@@ -41,8 +40,8 @@
            file://0001-Don-t-search-system-for-headers-libraries.patch \
            "
 
-SRC_URI[md5sum] = "e9d6ebc92183a177b8e8a58cad5b8d67"
-SRC_URI[sha256sum] = "2646e7dc233362f59714c6193017bb2d6f7b38d6ab4a0cb5fbac5c36c4d845df"
+SRC_URI[md5sum] = "3000cf50aaa413052aef82fd2122ca78"
+SRC_URI[sha256sum] = "dfab5ec723c218082fe3d5d7ae17ecbdebffa9a1aea4d64aa3a2ecdd2e795864"
 
 # exclude pre-releases for both python 2.x and 3.x
 UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Bump-up-the-limit-of-signature-header-to-64MB.patch b/poky/meta/recipes-devtools/rpm/files/0001-Bump-up-the-limit-of-signature-header-to-64MB.patch
new file mode 100644
index 0000000..0a19c12
--- /dev/null
+++ b/poky/meta/recipes-devtools/rpm/files/0001-Bump-up-the-limit-of-signature-header-to-64MB.patch
@@ -0,0 +1,62 @@
+From e8bf0eba7143abb6e69db82ee747a0c6790dd00a Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 3 Jun 2020 10:25:24 +0800
+Subject: [PATCH] Bump up the limit of signature header to 64MB
+
+Since commits [Place file signatures into the signature header where they
+belong][1] applied, run `rpm -Kv **.rpm' failed if signature header
+is larger than 64KB. Here are steps:
+
+1) A unsigned rpm package, the size is 227560 bytes
+$ ls -al xz-src-5.2.5-r0.corei7_64.rpm
+-rw-------. 1 mockbuild 1000 227560 Jun  3 09:59
+
+2) Sign the rpm package
+$ rpmsign --addsign ... xz-src-5.2.5-r0.corei7_64.rpm
+
+3) The size of signed rpm is 312208 bytes
+$ ls -al xz-src-5.2.5-r0.corei7_64.rpm
+-rw-------. 1 mockbuild 1000 312208 Jun  3 09:48
+
+4) Run `rpm -Kv' failed with signature hdr data out of range
+$ rpm -Kv xz-src-5.2.5-r0.corei7_64.rpm
+xz-src-5.2.5-r0.corei7_64.rpm:
+error: xz-src-5.2.5-r0.corei7_64.rpm: signature hdr data: BAD, no. of
+bytes(88864) out of range
+
+From 1) and 3), the size of signed rpm package increased
+312208 - 227560 = 84648, so the check of dl_max (64KB,65536)
+is not enough.
+
+As [1] said:
+
+    This also means the signature header can be MUCH bigger than ever
+    before,so bump up the limit (to 64MB, arbitrary something for now)
+
+So [1] missed to multiply by 1024.
+
+[1] https://github.com/rpm-software-management/rpm/commit/f558e886050c4e98f6cdde391df679a411b3f62c
+
+Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/486579912381ede82172dc6d0ff3941a6d0536b5]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ lib/header.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/header.c b/lib/header.c
+index 9ec7ed0..cbf6890 100644
+--- a/lib/header.c
++++ b/lib/header.c
+@@ -1906,7 +1906,7 @@ rpmRC hdrblobRead(FD_t fd, int magic, int exact_size, rpmTagVal regionTag, hdrbl
+ 
+     if (regionTag == RPMTAG_HEADERSIGNATURES) {
+ 	il_max = 32;
+-	dl_max = 64 * 1024;
++	dl_max = 64 * 1024 * 1024;
+     }
+ 
+     memset(block, 0, sizeof(block));
+-- 
+2.25.4
+
diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.15.1.bb b/poky/meta/recipes-devtools/rpm/rpm_4.15.1.bb
index 8add142..cbe1acf 100644
--- a/poky/meta/recipes-devtools/rpm/rpm_4.15.1.bb
+++ b/poky/meta/recipes-devtools/rpm/rpm_4.15.1.bb
@@ -40,6 +40,7 @@
            file://0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch \
            file://0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch \
            file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \
+           file://0001-Bump-up-the-limit-of-signature-header-to-64MB.patch \
            "
 
 PE = "1"
diff --git a/poky/meta/recipes-devtools/strace/strace_5.5.bb b/poky/meta/recipes-devtools/strace/strace_5.6.bb
similarity index 89%
rename from poky/meta/recipes-devtools/strace/strace_5.5.bb
rename to poky/meta/recipes-devtools/strace/strace_5.6.bb
index ae552da..53679cd 100644
--- a/poky/meta/recipes-devtools/strace/strace_5.5.bb
+++ b/poky/meta/recipes-devtools/strace/strace_5.6.bb
@@ -15,8 +15,8 @@
            file://uintptr_t.patch \
            file://0001-strace-fix-reproducibilty-issues.patch \
            "
-SRC_URI[md5sum] = "dbce2e84632b39a4ed86b9fc60447af9"
-SRC_URI[sha256sum] = "9f58958c8e59ea62293d907d10572e352b582bd7948ed21aa28ebb47e5bf30ff"
+SRC_URI[md5sum] = "f8e0394d4e537b3faadf0a72f5d1d17e"
+SRC_URI[sha256sum] = "189968eeae06ed9e20166ec55a830943c84374676a457c9fe010edc7541f1b01"
 
 inherit autotools ptest
 
@@ -27,7 +27,7 @@
 PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,bluez5"
 PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
 
-EXTRA_OECONF += "--enable-mpers=no"
+EXTRA_OECONF += "--enable-mpers=no --disable-gcc-Werror"
 
 CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext"
 
diff --git a/poky/meta/recipes-devtools/vala/vala_0.46.6.bb b/poky/meta/recipes-devtools/vala/vala_0.46.6.bb
deleted file mode 100644
index 66f6203..0000000
--- a/poky/meta/recipes-devtools/vala/vala_0.46.6.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI += "file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \
-           file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \
-           "
-
-SRC_URI[md5sum] = "d9af125648505503b139ebc2d2c9eee5"
-SRC_URI[sha256sum] = "ef31649932872f094971d46453b21c60a41661670f98afa334062425b4aec47a"
diff --git a/poky/meta/recipes-devtools/vala/vala_0.48.6.bb b/poky/meta/recipes-devtools/vala/vala_0.48.6.bb
new file mode 100644
index 0000000..9dace13
--- /dev/null
+++ b/poky/meta/recipes-devtools/vala/vala_0.48.6.bb
@@ -0,0 +1,7 @@
+require ${BPN}.inc
+
+SRC_URI += "file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \
+           file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \
+           "
+
+SRC_URI[sha256sum] = "d18d08ed030ce0e0f044f4c15c9df3c25b15beaf8700e45e43b736a6debf9707"
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-gcc10-arm64-build-needs-__getauxval-for-linking-with.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-gcc10-arm64-build-needs-__getauxval-for-linking-with.patch
deleted file mode 100644
index 9afa7f6..0000000
--- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-gcc10-arm64-build-needs-__getauxval-for-linking-with.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-From abbc0761fa0349d49b10dc8c0f10af6bc0578c40 Mon Sep 17 00:00:00 2001
-From: Mark Wielaard <mark@klomp.org>
-Date: Tue, 12 May 2020 16:58:36 +0200
-Subject: [PATCH 1/2] gcc10 arm64 build needs __getauxval for linking with
- libgcc
-
-Provide a new library libgcc-sup-<platform>.a that contains symbols
-needed by libgcc. This needs to be linked after -lgcc to provide
-any symbols missing which would normally be provided by glibc.
-At the moment this only provides __getauxval on arm64 linux.
-
-https://bugs.kde.org/show_bug.cgi?id=421321
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=abbc0761fa0349d49b10dc8c0f10af6bc0578c40]
-
----
- Makefile.tool.am         |  3 +-
- coregrind/Makefile.am    | 26 +++++++++++++++++
- coregrind/m_libgcc_sup.c | 61 ++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 89 insertions(+), 1 deletion(-)
- create mode 100644 coregrind/m_libgcc_sup.c
-
-diff --git a/Makefile.tool.am b/Makefile.tool.am
-index cc2fa0ee6..2bf90de5d 100644
---- a/Makefile.tool.am
-+++ b/Makefile.tool.am
-@@ -17,7 +17,8 @@ TOOL_DEPENDENCIES_@VGCONF_PLATFORM_SEC_CAPS@ = \
- endif
- 
- 
--TOOL_LDADD_COMMON = -lgcc
-+TOOL_LDADD_COMMON = -lgcc \
-+	$(top_builddir)/coregrind/libgcc-sup-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
- TOOL_LDADD_@VGCONF_PLATFORM_PRI_CAPS@ = \
- 	$(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_PRI_CAPS@) $(TOOL_LDADD_COMMON)
- if VGCONF_HAVE_PLATFORM_SEC
-diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am
-index 6a1a925fb..1753fb633 100644
---- a/coregrind/Makefile.am
-+++ b/coregrind/Makefile.am
-@@ -542,6 +542,32 @@ libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_DEPENDENCIES = \
-     libnolto_coregrind-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
- endif
- 
-+#----------------------------------------------------------------------------
-+# libgcc-sup-<platform>.a
-+# Special supplemental library for functions normally supplied by glibc
-+# used by libgcc.
-+#----------------------------------------------------------------------------
-+
-+pkglib_LIBRARIES  += libgcc-sup-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
-+if VGCONF_HAVE_PLATFORM_SEC
-+pkglib_LIBRARIES += libgcc-sup-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
-+endif
-+
-+libgcc_sup_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \
-+	m_libgcc_sup.c
-+libgcc_sup_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS = \
-+	$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
-+libgcc_sup_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS = \
-+	$(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@)
-+if VGCONF_HAVE_PLATFORM_SEC
-+libgcc_sup_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \
-+	m_libgcc_sup.c
-+libgcc_sup_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS = \
-+	$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
-+libgcc_sup_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS = \
-+	$(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@)
-+endif
-+
- #----------------------------------------------------------------------------
- # libreplacemalloc_toolpreload-<platform>.a
- #----------------------------------------------------------------------------
-diff --git a/coregrind/m_libgcc_sup.c b/coregrind/m_libgcc_sup.c
-new file mode 100644
-index 000000000..e29325459
---- /dev/null
-+++ b/coregrind/m_libgcc_sup.c
-@@ -0,0 +1,61 @@
-+/* -*- mode: C; c-basic-offset: 3; -*- */
-+
-+/*--------------------------------------------------------------------*/
-+/*--- Supplemental functions for libgcc normally provided by glibc ---*/
-+/*--------------------------------------------------------------------*/
-+
-+/*
-+   This file is part of Valgrind, a dynamic binary instrumentation
-+   framework.
-+
-+   Copyright (C) 2020 Mark Wielaard
-+      mark@klomp.org
-+
-+   This program is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU General Public License as
-+   published by the Free Software Foundation; either version 2 of the
-+   License, or (at your option) any later version.
-+
-+   This program is distributed in the hope that it will be useful, but
-+   WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License
-+   along with this program; if not, see <http://www.gnu.org/licenses/>.
-+
-+   The GNU General Public License is contained in the file COPYING.
-+*/
-+
-+#include "config.h"
-+#include "pub_core_basics.h"
-+#include "pub_core_clientstate.h"
-+
-+/*====================================================================*/
-+/*=== arm64 libgcc support function for init_have_lse_atomics      ===*/
-+/*====================================================================*/
-+
-+#if defined(VGP_arm64_linux)
-+struct auxv
-+{
-+   Word a_type;
-+   union {
-+      void *a_ptr;
-+      Word a_val;
-+   } u;
-+};
-+#define AT_NULL 0
-+
-+unsigned long int __getauxval (unsigned long int type);
-+unsigned long int __getauxval (unsigned long int type)
-+{
-+   struct auxv *p;
-+   for (p = (struct auxv *) VG_(client_auxv);
-+        p != NULL && p->a_type != AT_NULL;
-+        p++)
-+      if (p->a_type == type)
-+         return p->u.a_val;
-+
-+   return 0;
-+}
-+#endif
--- 
-2.26.2
-
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-Make-pthread_detatch-call-portable-across-plat.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-Make-pthread_detatch-call-portable-across-plat.patch
deleted file mode 100644
index f407d81..0000000
--- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-Make-pthread_detatch-call-portable-across-plat.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 92fcf75d6d3903e45492b041bf4ad07787d2e58a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 27 Jan 2020 19:50:04 -0800
-Subject: [PATCH] drd/tests/pth_detached3: Make pthread_detach() call portable
- across platforms
-
-pthread_t is opaque type therefore we can not apply simple arithmetic to
-variables of pthread_t type this test needs to pass a invalid pthread_t
-handle, typcasting to uintptr_t works too and is portable across glibc and
-musl
-
-Fixes
-| pth_detached3.c:24:25: error: invalid use of undefined type 'struct __pthread'
-|    24 |   pthread_detach(thread + 8);
-|       |                         ^
-
-[ bvanassche: reformatted patch description and fixed up line numbers ]
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=92fcf75d6d3903e45492b041bf4ad07787d2e58a]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- drd/tests/pth_detached3.c           | 3 ++-
- drd/tests/pth_detached3.stderr.exp1 | 4 ++--
- drd/tests/pth_detached3.stderr.exp2 | 4 ++--
- 3 files changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/drd/tests/pth_detached3.c b/drd/tests/pth_detached3.c
-index c02eef1..efeb15b 100644
---- a/drd/tests/pth_detached3.c
-+++ b/drd/tests/pth_detached3.c
-@@ -4,6 +4,7 @@
- #include <errno.h>
- #include <pthread.h>
- #include <stdio.h>
-+#include <stdint.h>
- 
- static void* thread_func(void* arg)
- {
-@@ -21,7 +22,7 @@ int main(int argc, char** argv)
-   pthread_detach(thread);
- 
-   /* Invoke pthread_detach() with an invalid thread ID. */
--  pthread_detach(thread + 8);
-+  pthread_detach((pthread_t)((uintptr_t)thread + 8));
- 
-   fprintf(stderr, "Finished.\n");
- 
-diff --git a/drd/tests/pth_detached3.stderr.exp1 b/drd/tests/pth_detached3.stderr.exp1
-index 58412ec..8dd58ba 100644
---- a/drd/tests/pth_detached3.stderr.exp1
-+++ b/drd/tests/pth_detached3.stderr.exp1
-@@ -1,11 +1,11 @@
- 
- pthread_detach(): invalid thread ID 0x........
-    at 0x........: pthread_detach (drd_pthread_intercepts.c:?)
--   by 0x........: main (pth_detached3.c:21)
-+   by 0x........: main (pth_detached3.c:22)
- 
- pthread_detach(): invalid thread ID 0x........
-    at 0x........: pthread_detach (drd_pthread_intercepts.c:?)
--   by 0x........: main (pth_detached3.c:24)
-+   by 0x........: main (pth_detached3.c:25)
- 
- Finished.
- 
-diff --git a/drd/tests/pth_detached3.stderr.exp2 b/drd/tests/pth_detached3.stderr.exp2
-index bdc5cf8..e82dee1 100644
---- a/drd/tests/pth_detached3.stderr.exp2
-+++ b/drd/tests/pth_detached3.stderr.exp2
-@@ -2,12 +2,12 @@
- pthread_detach(): invalid thread ID 0x........
-    at 0x........: vgDrd_set_joinable (drd_pthread_intercepts.c:?)
-    by 0x........: pthread_detach (drd_pthread_intercepts.c:?)
--   by 0x........: main (pth_detached3.c:21)
-+   by 0x........: main (pth_detached3.c:22)
- 
- pthread_detach(): invalid thread ID 0x........
-    at 0x........: vgDrd_set_joinable (drd_pthread_intercepts.c:?)
-    by 0x........: pthread_detach (drd_pthread_intercepts.c:?)
--   by 0x........: main (pth_detached3.c:24)
-+   by 0x........: main (pth_detached3.c:25)
- 
- Finished.
- 
--- 
-2.9.3
-
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch
index 75bb0aa..4570f63 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch
@@ -4,7 +4,8 @@
 Subject: [PATCH] Fix out of tree builds.
 
 The paths to these files need to be fully specified in
-the out of tree build case. glibc-2.X.supp is a generated file so the full path
+the out of tree build case. glibc-2.X.supp is a generated file so the
+full path
 is deliberately not specified in that case.
 
 RP 2013/03/23
@@ -16,81 +17,81 @@
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
 ---
- configure.ac | 68 ++++++++++++++++++++++++++--------------------------
- 1 file changed, 34 insertions(+), 34 deletions(-)
+ configure.ac | 66 ++++++++++++++++++++++++++--------------------------
+ 1 file changed, 33 insertions(+), 33 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index c18ae5f2a..99667ce57 100644
+index 524230d..54861c5 100755
 --- a/configure.ac
 +++ b/configure.ac
-@@ -392,50 +392,50 @@ case "${host_os}" in
+@@ -396,50 +396,50 @@ case "${host_os}" in
  	     9.*)
  		  AC_MSG_RESULT([Darwin 9.x (${kernel}) / Mac OS X 10.5 Leopard])
  		  AC_DEFINE([DARWIN_VERS], DARWIN_10_5, [Darwin / Mac OS X version])
 -		  DEFAULT_SUPP="darwin9.supp ${DEFAULT_SUPP}"
 -		  DEFAULT_SUPP="darwin9-drd.supp ${DEFAULT_SUPP}"
-+ 		  DEFAULT_SUPP="$srcdir/darwin9.supp ${DEFAULT_SUPP}"
-+ 		  DEFAULT_SUPP="$srcdir/darwin9-drd.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin9.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin9-drd.supp ${DEFAULT_SUPP}"
  		  ;;
  	     10.*)
  		  AC_MSG_RESULT([Darwin 10.x (${kernel}) / Mac OS X 10.6 Snow Leopard])
  		  AC_DEFINE([DARWIN_VERS], DARWIN_10_6, [Darwin / Mac OS X version])
 -		  DEFAULT_SUPP="darwin10.supp ${DEFAULT_SUPP}"
 -		  DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+		  DEFAULT_SUPP="$srcdir/darwin10.supp ${DEFAULT_SUPP}"
-+		  DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin10.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
  		  ;;
  	     11.*)
  		  AC_MSG_RESULT([Darwin 11.x (${kernel}) / Mac OS X 10.7 Lion])
  		  AC_DEFINE([DARWIN_VERS], DARWIN_10_7, [Darwin / Mac OS X version])
 -		  DEFAULT_SUPP="darwin11.supp ${DEFAULT_SUPP}"
 -		  DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+		  DEFAULT_SUPP="$srcdir/darwin11.supp ${DEFAULT_SUPP}"
-+		  DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin11.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
  		  ;;
  	     12.*)
  		  AC_MSG_RESULT([Darwin 12.x (${kernel}) / Mac OS X 10.8 Mountain Lion])
  		  AC_DEFINE([DARWIN_VERS], DARWIN_10_8, [Darwin / Mac OS X version])
 -		  DEFAULT_SUPP="darwin12.supp ${DEFAULT_SUPP}"
 -		  DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+		  DEFAULT_SUPP="$srcdir/darwin12.supp ${DEFAULT_SUPP}"
-+		  DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin12.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
  		  ;;
  	     13.*)
  		  AC_MSG_RESULT([Darwin 13.x (${kernel}) / Mac OS X 10.9 Mavericks])
  		  AC_DEFINE([DARWIN_VERS], DARWIN_10_9, [Darwin / Mac OS X version])
 -		  DEFAULT_SUPP="darwin13.supp ${DEFAULT_SUPP}"
 -		  DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+		  DEFAULT_SUPP="$srcdir/darwin13.supp ${DEFAULT_SUPP}"
-+		  DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin13.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
  		  ;;
  	     14.*)
  		  AC_MSG_RESULT([Darwin 14.x (${kernel}) / Mac OS X 10.10 Yosemite])
  		  AC_DEFINE([DARWIN_VERS], DARWIN_10_10, [Darwin / Mac OS X version])
 -		  DEFAULT_SUPP="darwin14.supp ${DEFAULT_SUPP}"
 -		  DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+		  DEFAULT_SUPP="$srcdir/darwin14.supp ${DEFAULT_SUPP}"
-+		  DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin14.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
  		  ;;
  	     15.*)
  		  AC_MSG_RESULT([Darwin 15.x (${kernel}) / Mac OS X 10.11 El Capitan])
  		  AC_DEFINE([DARWIN_VERS], DARWIN_10_11, [Darwin / Mac OS X version])
 -		  DEFAULT_SUPP="darwin15.supp ${DEFAULT_SUPP}"
 -		  DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+		  DEFAULT_SUPP="$srcdir/darwin15.supp ${DEFAULT_SUPP}"
-+		  DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin15.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
  		  ;;
  	     16.*)
  		  AC_MSG_RESULT([Darwin 16.x (${kernel}) / macOS 10.12 Sierra])
  		  AC_DEFINE([DARWIN_VERS], DARWIN_10_12, [Darwin / Mac OS X version])
 -		  DEFAULT_SUPP="darwin16.supp ${DEFAULT_SUPP}"
 -		  DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+		  DEFAULT_SUPP="$srcdir/darwin16.supp ${DEFAULT_SUPP}"
-+		  DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin16.supp ${DEFAULT_SUPP}"
++                  DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
  		  ;;
  	     17.*)
  		  AC_MSG_RESULT([Darwin 17.x (${kernel}) / macOS 10.13 High Sierra])
-@@ -460,7 +460,7 @@ case "${host_os}" in
+@@ -464,7 +464,7 @@ case "${host_os}" in
                   DEFAULT_SUPP="solaris12.supp ${DEFAULT_SUPP}"
                   ;;
               *)
@@ -99,7 +100,7 @@
                   ;;
  	esac
          ;;
-@@ -468,7 +468,7 @@ case "${host_os}" in
+@@ -472,7 +472,7 @@ case "${host_os}" in
       solaris2.12*)
          AC_MSG_RESULT([ok (${host_os})])
          VGCONF_OS="solaris"
@@ -108,33 +109,33 @@
          ;;
  
       *) 
-@@ -1051,29 +1051,29 @@ AC_MSG_CHECKING([the glibc version])
+@@ -1095,29 +1095,29 @@ AC_MSG_CHECKING([the glibc version])
  case "${GLIBC_VERSION}" in
       2.2)
  	AC_MSG_RESULT(${GLIBC_VERSION} family)
 -	DEFAULT_SUPP="glibc-2.2.supp ${DEFAULT_SUPP}"
 -	DEFAULT_SUPP="glibc-2.2-LinuxThreads-helgrind.supp ${DEFAULT_SUPP}"
 -	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="$srcdir/glibc-2.2.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="$srcdir/glibc-2.2-LinuxThreads-helgrind.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++        DEFAULT_SUPP="$srcdir/glibc-2.2.supp ${DEFAULT_SUPP}"
++        DEFAULT_SUPP="$srcdir/glibc-2.2-LinuxThreads-helgrind.supp ${DEFAULT_SUPP}"
++        DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
  	;;
       2.[[3-6]])
  	AC_MSG_RESULT(${GLIBC_VERSION} family)
 -	DEFAULT_SUPP="glibc-${GLIBC_VERSION}.supp ${DEFAULT_SUPP}"
 -	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
 -	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="$srcdir/glibc-${GLIBC_VERSION}.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++        DEFAULT_SUPP="$srcdir/glibc-${GLIBC_VERSION}.supp ${DEFAULT_SUPP}"
++        DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++        DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
  	;;
       2.[[7-9]])
  	AC_MSG_RESULT(${GLIBC_VERSION} family)
  	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
 -	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
 -	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++        DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++        DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
  	;;
       2.10|2.11)
  	AC_MSG_RESULT(${GLIBC_VERSION} family)
@@ -143,23 +144,23 @@
  	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
 -	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
 -	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++        DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++        DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
  	;;
       2.*)
  	AC_MSG_RESULT(${GLIBC_VERSION} family)
-@@ -1082,8 +1082,8 @@ case "${GLIBC_VERSION}" in
+@@ -1126,8 +1126,8 @@ case "${GLIBC_VERSION}" in
  	AC_DEFINE([GLIBC_MANDATORY_INDEX_AND_STRLEN_REDIRECT], 1,
  		  [Define to 1 if index() and strlen() have been optimized heavily (x86 glibc >= 2.12)])
  	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
 -	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
 -	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+	DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++        DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++        DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
  	;;
       darwin)
  	AC_MSG_RESULT(Darwin)
-@@ -1093,7 +1093,7 @@ case "${GLIBC_VERSION}" in
+@@ -1137,7 +1137,7 @@ case "${GLIBC_VERSION}" in
       bionic)
  	AC_MSG_RESULT(Bionic)
  	AC_DEFINE([BIONIC_LIBC], 1, [Define to 1 if you're using Bionic])
@@ -168,7 +169,7 @@
  	;;
       solaris)
  	AC_MSG_RESULT(Solaris)
-@@ -1120,11 +1120,11 @@ if test "$VGCONF_OS" != "solaris"; then
+@@ -1164,8 +1164,8 @@ if test "$VGCONF_OS" != "solaris"; then
      # attempt to detect whether such libraries are installed on the
      # build machine (or even if any X facilities are present); just
      # add the suppressions antidisirregardless.
@@ -176,13 +177,9 @@
 -    DEFAULT_SUPP="xfree-3.supp ${DEFAULT_SUPP}"
 +    DEFAULT_SUPP="$srcdir/xfree-4.supp ${DEFAULT_SUPP}"
 +    DEFAULT_SUPP="$srcdir/xfree-3.supp ${DEFAULT_SUPP}"
- 
-     # Add glibc and X11 suppressions for exp-sgcheck
--    DEFAULT_SUPP="exp-sgcheck.supp ${DEFAULT_SUPP}"
-+    DEFAULT_SUPP="$srcdir/exp-sgcheck.supp ${DEFAULT_SUPP}"
  fi
  
  
 -- 
-2.17.0
+2.17.1
 
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0004-pth_atfork1.c-Define-error-API-for-musl.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0004-pth_atfork1.c-Define-error-API-for-musl.patch
deleted file mode 100644
index 1cb7062..0000000
--- a/poky/meta/recipes-devtools/valgrind/valgrind/0004-pth_atfork1.c-Define-error-API-for-musl.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From fb77fef4f866dac7bcc6d1ae025da60564869f84 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 10 Jun 2017 01:06:11 -0700
-Subject: [PATCH 4/6] pth_atfork1.c: Define error() API for musl
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- none/tests/pth_atfork1.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/none/tests/pth_atfork1.c b/none/tests/pth_atfork1.c
-index 34201ef..b7f5f2d 100644
---- a/none/tests/pth_atfork1.c
-+++ b/none/tests/pth_atfork1.c
-@@ -18,7 +18,7 @@
-    Boston, MA 02111-1307, USA.  */
- 
- #include <errno.h>
--#if !defined(__APPLE__) && !defined(__sun)
-+#if !defined(__APPLE__) && !defined(__sun) && defined(__GLIBC__)
- # include <error.h>
- #endif
- #include <stdlib.h>
-@@ -27,7 +27,7 @@
- #include <sys/wait.h>
- #include <stdio.h>
- 
--#if defined(__APPLE__) || defined(__sun)
-+#if defined(__APPLE__) || defined(__sun) || (defined(__linux__) && !defined(__GLIBC__))
- #include <string.h>  /* strerror */
- static void error (int status, int errnum, char* msg)
- {
--- 
-2.13.1
-
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.16.0.bb
similarity index 95%
rename from poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
rename to poky/meta/recipes-devtools/valgrind/valgrind_3.16.0.bb
index a764d18..5402f39 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
+++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.16.0.bb
@@ -3,7 +3,7 @@
 BUGTRACKER = "http://valgrind.org/support/bug_reports.html"
 LICENSE = "GPLv2 & GPLv2+ & BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://include/pub_tool_basics.h;beginline=6;endline=29;md5=d4de0407239381463cf01dd276d7c22e \
+                    file://include/pub_tool_basics.h;beginline=6;endline=29;md5=41c410e8d3f305aee7aaa666b2e4f366 \
                     file://include/valgrind.h;beginline=1;endline=56;md5=ad3b317f3286b6b704575d9efe6ca5df \
                     file://COPYING.DOCS;md5=24ea4c7092233849b4394699333b5c56"
 
@@ -27,7 +27,6 @@
            file://0001-sigqueue-Rename-_sifields-to-__si_fields-on-musl.patch \
            file://0002-context-APIs-are-not-available-on-musl.patch \
            file://0003-correct-include-directive-path-for-config.h.patch \
-           file://0004-pth_atfork1.c-Define-error-API-for-musl.patch \
            file://0005-tc20_verifywrap.c-Fake-__GLIBC_PREREQ-with-musl.patch \
            file://0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch \
            file://0002-memcheck-x86-Define-__THROW-if-not-defined.patch \
@@ -40,12 +39,10 @@
            file://0001-adjust-path-filter-for-2-memcheck-tests.patch \
            file://s390x_vec_op_t.patch \
            file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \
-           file://0001-tests-Make-pthread_detatch-call-portable-across-plat.patch \
            file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \
-           file://0001-gcc10-arm64-build-needs-__getauxval-for-linking-with.patch \
            "
-SRC_URI[md5sum] = "46e5fbdcbc3502a5976a317a0860a975"
-SRC_URI[sha256sum] = "417c7a9da8f60dd05698b3a7bc6002e4ef996f14c13f0ff96679a16873e78ab1"
+SRC_URI[md5sum] = "495b30af5e5ed62ebb9bb777ee19b27f"
+SRC_URI[sha256sum] = "582d5127ba56dfeaab4c6ced92a742b2921148e28a5d55055aedd8f75f1cf633"
 UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar"
 
 COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux'