poky: subtree update:03d4d9d68f..52a625582e

Alejandro Enedino Hernandez Samaniego (2):
      documentation: Update multiconfig syntax and explanation on BBMULTICONFIG
      bitbake: bitbake-user-manual: Update multiconfig syntax and explanation of BBMULTICONFIG

Alexander Kanavin (27):
      ethtool, libcap: fix upstream version check
      socat: turn hard readline dependency into an option
      perl: make gdbm optional
      python3: make gdbm optional
      python3: un-break disabling the readline PACKAGECONFIG
      libcheck: split /usr/bin/checkmk into its own package
      iproute2: make elfutils support optional
      bind: do not RDEPEND on bash
      elfutils: do not depend on target libtool
      license.bbclass: split incompatible license check into a helper function
      license_image.bbclass: check and reject packages which have incompatible licenses
      runqemu: unset another environment variable for 'egl-headless'
      gobject-introspection: update to 1.62.0
      glib-2.0: upgrade to 2.62.1
      glib-networking: update to 2.62.1
      epiphany: upgrade 3.32.4 -> 3.34.1
      webkitgtk: update 2.24.4 -> 2.26.1
      gtk-doc: upgrade 1.31 -> 1.32
      libdazzle: upgrade 3.32.3 -> 3.34.1
      libsecret: upgrade 0.19.0 -> 0.19.1
      mpg123: upgrade 1.25.11 -> 1.25.12
      p11-kit: upgrade 0.23.16.1 -> 0.23.18.1
      vala: upgrade 0.44.7 -> 0.46.3
      meson: update to 0.52.0
      libmodulemd-v1: introduce the recipe
      libmodulemd: remove the recipe
      createrepo-c: upgrade to 0.15.1

Alistair Francis (1):
      gdb: Bump from 8.3 to 8.3.1

Bruce Ashfield (2):
      linux-yocto-rt/5.2: update to -rt9
      linux-yocto/5.2: fix strace/ptrace long runtime issues

Changqing Li (1):
      llvm: remove -mlongcall from CXXFLAGS for powerpc

Chen Qi (2):
      python: CVE-2019-16056
      python3: CVE-2019-16056

Christophe PRIOUZEAU (23):
      ovmf: Clarify BSD license variant
      wpa-supplicant: Clarify BSD license variant
      cmake: Clarify BSD license variant
      flex: Clarify BSD license variant
      file: Clarify BSD license variant
      python-async: Clarify BSD license variant
      python-smmap: Clarify BSD license variant
      libtirpc: Clarify BSD license variant
      libarchive: Clarify BSD license variant
      pbzip2: Clarify BSD license variant
      lighttpd: Clarify BSD license variant
      rpcbind: Clarify BSD license variant
      tcp-wrappers: Clarify BSD license variant
      libxpm: Clarify BSD license variant
      libogg: Clarify BSD license variant
      libvorbis: Clarify BSD license variant
      libtheora: Clarify BSD license variant
      speex: Clarify BSD license variant
      speexdsp: Clarify BSD license variant
      libwebp: Clarify BSD license variant
      libpcre: Clarify BSD license variant
      p11-kit: Clarify BSD license variant
      libpcap: Clarify BSD license variant

David Reyna (1):
      bitbake: toaster: Enable Zeus branch in place of Thud

Jaewon Lee (1):
      devtool/standard.py: Not filtering devtool workspace for devtool finish

Joerg Vehlow (1):
      runqemu: Remove disabling of high resolution timer

Kai Kang (1):
      dnf.py: check busybox for case test_dnf_installroot

Khem Raj (7):
      musl: Update to latest
      qemu: Add ppc64 to QEMU_TARGETS
      ghostscript: Disable libpaper
      perl: Handle PACKAGES_DYNAMIC for perl-native
      gnu-efi: Do not use gcc-only options when building with clang
      llvm: Update to 9.0.0
      glib-2.0: Fix build with clang compiler

Martin Jansa (1):
      kernel-devicetree.bbclass: add missing backslash

Maxime Roussin-BĂ©langer (4):
      meta: add missing some description in devtools
      meta: simplify over descriptive descriptions in devtools
      shadow: update homepage and bugtracker
      meta: add missing description in recipes-extended

Michael Cooper (1):
      wic/direct: Partition numbering is broken for MBR primary partition #4

Michael Halstead (1):
      uninative: Update to 2.7 release

Peiran Hong (1):
      dbus: Change path of system_bus_socket from /var/run/dbus/ to /run/dbus/

Philip Balister (1):
      oe.svg: Copy artwork from openembedded-classic.

Richard Purdie (8):
      layer.conf: Update for zeus series
      layer.conf: Update for zeus series
      bitbake: bitbake: Update to version 1.44.0
      poky.conf: Bump version for 3.0 zeus release
      build-appliance-image: Update to master head revision
      scripts/gen-lockedsig-cache: Don't list paths which don't exist
      readline-native: Fix builds on tumbleweed
      build-appliance-image: Update to master head revision

Ross Burton (15):
      meson: fix RDEPENDS
      meson: update patch status
      meson: fix cross detection
      systemd: don't install udev.pc manually
      systemd: don't install systemd-hwdb-update.service
      insane: add check for perllocal.pod
      ref-system-requirements: update support distribution list
      toolchain-scripts: export READELF
      harfbuzz: add PACKAGECONFIGs for all the optional dependencies
      oeqa/sdk: improve Meson test
      pango: remove obsolete libtool FILES
      bluez5: add needed character encoding for ptests
      oeqa/selftest/imagefeatures: improve test_hypervisor_fmts
      poky: add Ubuntu 19.04 as a supported distribution
      kernel-dev: don't use _append +=

Trevor Gamblin (3):
      watchdog: fix PIDFile path in existing patch
      lib/oe/terminal.py: fix gnome-terminal start behavior
      systemd.bbclass: add RMINITDIR for nativesdk builds

Zang Ruochen (8):
      libpcap:upgrade 1.9.0 -> 1.9.1
      sqlite3:upgrade 3.29 -> 3.30
      expat:upgrade 2.2.8 -> 2.2.9
      librepo:upgrade 1.10.5 -> 1.10.6
      msmtp:upgrade 1.8.5 -> 1.8.6
      libxfont2:upgrade 2.0.3 -> 2.0.4
      fribidi:upgrade 1.0.5 -> 1.0.7
      iso-codes:upgrade 4.3 -> 4.4

Change-Id: I15802c5814d0dbfd90f16d392dbd975f917a8032
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/poky/meta/recipes-devtools/apt/apt.inc b/poky/meta/recipes-devtools/apt/apt.inc
index b855099..50c4d84 100644
--- a/poky/meta/recipes-devtools/apt/apt.inc
+++ b/poky/meta/recipes-devtools/apt/apt.inc
@@ -1,4 +1,7 @@
 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"
 
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index 3711f18..d8a9e2d 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -2,10 +2,14 @@
 # Released under the MIT license (see packages/COPYING)
 
 SUMMARY = "Cross-platform, open-source make system"
+DESCRIPTION = "CMake is used to control the software compilation process \
+using simple platform and compiler independent configuration files. CMake \
+generates native makefiles and workspaces that can be used in the compiler \
+environment of your choice."
 HOMEPAGE = "http://www.cmake.org/"
 BUGTRACKER = "http://public.kitware.com/Bug/my_view_page.php"
 SECTION = "console/utils"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://Copyright.txt;md5=622747147b46f22e1953876a7cba3323 \
                     file://Source/cmake.h;md5=4494dee184212fc89c469c3acd555a14;beginline=1;endline=3 \
                     "
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.0.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.1.bb
similarity index 87%
rename from poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.0.bb
rename to poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.1.bb
index ae0a35d..797db73 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.0.bb
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.1.bb
@@ -8,16 +8,16 @@
            file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
            "
 
-SRCREV = "2077ba104eae04bb819e9e0c906c8c835b62e7a6"
+SRCREV = "bc67f19ed09593e3886ebeee2391e9d51cc3439f"
 
 S = "${WORKDIR}/git"
 
-DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm libmodulemd"
+DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm"
 DEPENDS_append_class-native = " file-replacement-native"
 
 inherit cmake pkgconfig bash-completion distutils3-base
 
-EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF -DENABLE_DRPM=OFF"
+EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF -DENABLE_DRPM=OFF -DWITH_LIBMODULEMD=OFF"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb b/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb
index 7dc4e41..10220eb 100644
--- a/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb
+++ b/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb
@@ -1,4 +1,6 @@
 SUMMARY = "GNU unit testing framework, written in Expect and Tcl"
+DESCRIPTION = "DejaGnu is a framework for testing other programs. Its purpose \
+is to provide a single front end for all tests."
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 SECTION = "devel"
diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.2.2.bb b/poky/meta/recipes-devtools/dnf/dnf_4.2.2.bb
index c777733..f38167f 100644
--- a/poky/meta/recipes-devtools/dnf/dnf_4.2.2.bb
+++ b/poky/meta/recipes-devtools/dnf/dnf_4.2.2.bb
@@ -1,4 +1,7 @@
 SUMMARY = "Package manager forked from Yum, using libsolv as a dependency resolver"
+DESCRIPTION = "Software package manager that installs, updates, and removes \
+packages on RPM-based Linux distributions. It automatically computes \
+dependencies and determines the actions required to install packages."
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://PACKAGE-LICENSING;md5=4a0548e303dbc77f067335b4d688e745 \
@@ -71,7 +74,7 @@
 do_install_append_class-nativesdk() {
         create_wrapper ${D}/${bindir}/dnf \
                 RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \
-                RPM_NO_CHROOT_FOR_SCRIPTS=1 
+                RPM_NO_CHROOT_FOR_SCRIPTS=1
 }
 
 SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.177.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.177.bb
index 78c3791..8187942 100644
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.177.bb
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.177.bb
@@ -3,7 +3,7 @@
 SECTION = "base"
 LICENSE = "GPLv2 & LGPLv3+ & GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "libtool bzip2 zlib virtual/libintl"
+DEPENDS = "bzip2 zlib virtual/libintl"
 DEPENDS_append_libc-musl = " argp-standalone fts musl-obstack "
 # The Debian patches below are from:
 # http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.176-1.debian.tar.xz
diff --git a/poky/meta/recipes-devtools/file/file_5.37.bb b/poky/meta/recipes-devtools/file/file_5.37.bb
index 803aa9a..a840dbc 100644
--- a/poky/meta/recipes-devtools/file/file_5.37.bb
+++ b/poky/meta/recipes-devtools/file/file_5.37.bb
@@ -5,7 +5,7 @@
 SECTION = "console/utils"
 
 # two clause BSD
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=0251eaec1188b20d9a72c502ecfdda1b"
 
 DEPENDS = "zlib file-replacement-native"
diff --git a/poky/meta/recipes-devtools/flex/flex_2.6.0.bb b/poky/meta/recipes-devtools/flex/flex_2.6.0.bb
index 12ce0cb..9bdd99c 100644
--- a/poky/meta/recipes-devtools/flex/flex_2.6.0.bb
+++ b/poky/meta/recipes-devtools/flex/flex_2.6.0.bb
@@ -3,7 +3,7 @@
 lexical patterns in text."
 HOMEPAGE = "http://sourceforge.net/projects/flex/"
 SECTION = "devel"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 
 DEPENDS = "${@bb.utils.contains('PTEST_ENABLED', '1', 'bison-native flex-native', '', d)}"
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/gdb/gdb-8.3.inc b/poky/meta/recipes-devtools/gdb/gdb-8.3.1.inc
similarity index 85%
rename from poky/meta/recipes-devtools/gdb/gdb-8.3.inc
rename to poky/meta/recipes-devtools/gdb/gdb-8.3.1.inc
index 070c17d..39f1c48 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-8.3.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb-8.3.1.inc
@@ -16,7 +16,6 @@
            file://0009-Change-order-of-CFLAGS.patch \
            file://0010-resolve-restrict-keyword-conflict.patch \
            file://0011-Fix-invalid-sigprocmask-call.patch \
-           file://CVE-2017-9778.patch \
            "
-SRC_URI[md5sum] = "bbd95b2f9b34621ad7a19a3965476314"
-SRC_URI[sha256sum] = "802f7ee309dcc547d65a68d61ebd6526762d26c3051f52caebe2189ac1ffd72e"
+SRC_URI[md5sum] = "73b6a5d8141672c62bf851cd34c4aa83"
+SRC_URI[sha256sum] = "1e55b4d7cdca7b34be12f4ceae651623aa73b2fd640152313f9f66a7149757c4"
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.bb b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.bb
rename to poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.1.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross_8.3.bb b/poky/meta/recipes-devtools/gdb/gdb-cross_8.3.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb-cross_8.3.bb
rename to poky/meta/recipes-devtools/gdb/gdb-cross_8.3.1.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch b/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch
deleted file mode 100644
index f142ed0..0000000
--- a/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 6ad3791f095cfc1b0294f62c4b3a524ba735595e Mon Sep 17 00:00:00 2001
-From: Sandra Loosemore <sandra@codesourcery.com>
-Date: Thu, 25 Apr 2019 07:27:02 -0700
-Subject: [PATCH] Detect invalid length field in debug frame FDE header.
-
-GDB was failing to catch cases where a corrupt ELF or core file
-contained an invalid length value in a Dwarf debug frame FDE header.
-It was checking for buffer overflow but not cases where the length was
-negative or caused pointer wrap-around.
-
-In addition to the additional validity check, this patch cleans up the
-multiple signed/unsigned conversions on the length field so that an
-unsigned representation is used consistently throughout.
-
-This patch fixes CVE-2017-9778 and PR gdb/21600.
-
-2019-04-25  Sandra Loosemore  <sandra@codesourcery.com>
-	    Kang Li <kanglictf@gmail.com>
-
-	PR gdb/21600
-
-	* dwarf2-frame.c (read_initial_length): Be consistent about using
-	unsigned representation of length.
-	(decode_frame_entry_1): Likewise.  Check for wraparound of
-	end pointer as well as buffer overflow.
-
-Upstream-Status: Backport
-CVE: CVE-2017-9778
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- gdb/ChangeLog      | 10 ++++++++++
- gdb/dwarf2-frame.c | 14 +++++++-------
- 2 files changed, 17 insertions(+), 7 deletions(-)
-
-diff --git a/gdb/ChangeLog b/gdb/ChangeLog
-index 1c125de..d028d2b 100644
---- a/gdb/ChangeLog
-+++ b/gdb/ChangeLog
-@@ -1,3 +1,13 @@
-+2019-04-25  Sandra Loosemore  <sandra@codesourcery.com>
-+	Kang Li <kanglictf@gmail.com>
-+
-+	PR gdb/21600
-+
-+	* dwarf2-frame.c (read_initial_length): Be consistent about using
-+	unsigned representation of length.
-+	(decode_frame_entry_1): Likewise.  Check for wraparound of
-+	end pointer as well as buffer overflow.
-+
- 2019-05-11  Joel Brobecker  <brobecker@adacore.com>
- 
- 	* version.in: Set GDB version number to 8.3.
-diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c
-index 178ac44..dc5d3b3 100644
---- a/gdb/dwarf2-frame.c
-+++ b/gdb/dwarf2-frame.c
-@@ -1488,7 +1488,7 @@ static ULONGEST
- read_initial_length (bfd *abfd, const gdb_byte *buf,
- 		     unsigned int *bytes_read_ptr)
- {
--  LONGEST result;
-+  ULONGEST result;
- 
-   result = bfd_get_32 (abfd, buf);
-   if (result == 0xffffffff)
-@@ -1789,7 +1789,7 @@ decode_frame_entry_1 (struct comp_unit *unit, const gdb_byte *start,
- {
-   struct gdbarch *gdbarch = get_objfile_arch (unit->objfile);
-   const gdb_byte *buf, *end;
--  LONGEST length;
-+  ULONGEST length;
-   unsigned int bytes_read;
-   int dwarf64_p;
-   ULONGEST cie_id;
-@@ -1800,15 +1800,15 @@ decode_frame_entry_1 (struct comp_unit *unit, const gdb_byte *start,
-   buf = start;
-   length = read_initial_length (unit->abfd, buf, &bytes_read);
-   buf += bytes_read;
--  end = buf + length;
--
--  /* Are we still within the section?  */
--  if (end > unit->dwarf_frame_buffer + unit->dwarf_frame_size)
--    return NULL;
-+  end = buf + (size_t) length;
- 
-   if (length == 0)
-     return end;
- 
-+  /* Are we still within the section?  */
-+  if (end <= buf || end > unit->dwarf_frame_buffer + unit->dwarf_frame_size)
-+    return NULL;
-+
-   /* Distinguish between 32 and 64-bit encoded frame info.  */
-   dwarf64_p = (bytes_read == 12);
- 
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gdb/gdb_8.3.bb b/poky/meta/recipes-devtools/gdb/gdb_8.3.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb_8.3.bb
rename to poky/meta/recipes-devtools/gdb/gdb_8.3.1.bb
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb
index 4ff294c..3f11e02 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb
+++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb
@@ -13,7 +13,7 @@
 
 S = "${WORKDIR}/git"
 
-DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd json-c swig-native"
+DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd-v1 json-c swig-native"
 
 inherit gtk-doc gobject-introspection cmake pkgconfig distutils3-base
 
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1/0001-Do-not-generate-gtkdoc-or-python-bindings.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1/0001-Do-not-generate-gtkdoc-or-python-bindings.patch
new file mode 100644
index 0000000..d950ad5
--- /dev/null
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1/0001-Do-not-generate-gtkdoc-or-python-bindings.patch
@@ -0,0 +1,60 @@
+From 71c51206e037c0bb5759e01b307b7ce1d5934703 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 6 Sep 2019 17:07:00 +0200
+Subject: [PATCH] Do not generate gtkdoc or python bindings
+
+All of these really need a configuration option.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ meson.build          | 12 ------------
+ modulemd/meson.build |  8 --------
+ 2 files changed, 20 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 155c9e7..fe35d5e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -51,25 +51,13 @@ gnome = import('gnome')
+ pkg = import('pkgconfig')
+ gobject = dependency('gobject-2.0')
+ yaml = dependency('yaml-0.1')
+-gtkdoc = dependency('gtk-doc')
+ 
+ glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix')
+-glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
+ 
+ sh = find_program('sh')
+ sed = find_program('sed')
+ test = find_program('test')
+ 
+-ret = run_command ([test, '-e', join_paths(glib_docpath, 'glib/index.html')])
+-if ret.returncode() != 0
+-  error('Missing documentation for GLib.')
+-endif
+-
+-ret = run_command ([test, '-e', join_paths(glib_docpath, 'gobject/index.html')])
+-if ret.returncode() != 0
+-  error('Missing documentation for GObject.')
+-endif
+-
+ python_name = get_option('python_name')
+ 
+ if python_name != ''
+diff --git a/modulemd/meson.build b/modulemd/meson.build
+index 9a164b5..349c982 100644
+--- a/modulemd/meson.build
++++ b/modulemd/meson.build
+@@ -523,11 +523,3 @@ configure_file(
+   configuration : xcdata
+ )
+ 
+-gnome.gtkdoc(
+-    'modulemd-1.0',
+-    install_dir: 'modulemd-1.0',
+-    src_dir : './modulemd',
+-    main_xml : 'modulemd-docs.xml',
+-    install : true,
+-)
+-
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1/0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch
similarity index 78%
rename from poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch
rename to poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1/0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch
index 2598c17..847b5f7 100644
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1/0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch
@@ -1,4 +1,4 @@
-From 74ea6a665d0f3417e75f1d3d02f27a12f128ec70 Mon Sep 17 00:00:00 2001
+From 4e67f6049b3f822fe6f5af46790a51ace581bf82 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 6 Nov 2018 13:41:29 +0100
 Subject: [PATCH] spec_tmpl.sh: use /bin/sh, not /usr/bin/sh
@@ -11,7 +11,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/spec_tmpl.sh b/spec_tmpl.sh
-index 14e895a..fc80fc6 100755
+index 0238087..126853c 100755
 --- a/spec_tmpl.sh
 +++ b/spec_tmpl.sh
 @@ -1,4 +1,4 @@
@@ -19,4 +19,4 @@
 +#!/bin/sh
  
  version=$1
- libmodulemd_v1_version=$2
+ template=$2
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1_git.bb
similarity index 63%
rename from poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
rename to poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1_git.bb
index 63d3fad..9790470 100644
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1_git.bb
@@ -2,20 +2,20 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=25a3927bff3ee4f5b21bcb0ed3fcd6bb"
 
-SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https \
+SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https;branch=1.x-maint \
            file://0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch \
-           file://0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch \
-           file://0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch \
+           file://0001-Do-not-generate-gtkdoc-or-python-bindings.patch \
            "
 
-PV = "2.6.0"
-SRCREV = "7c7f88258491866cdb86d26cadfce37a78f242ec"
+PV = "1.8.15"
+SRCREV = "2d461725f781c6fdcf32893d8dcfa40bcef8dda5"
+UPSTREAM_CHECK_GITTAGREGEX = "libmodulemd-(?P<pver>1.*\d)"
 
 S = "${WORKDIR}/git"
 
 inherit meson gobject-introspection
 
-EXTRA_OEMESON = "-Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=true"
+EXTRA_OEMESON = "-Ddeveloper_build=false"
 
 DEPENDS += "glib-2.0 libyaml glib-2.0-native python3"
 
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch
deleted file mode 100644
index 1568d25..0000000
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From b651551134cf170038b3e01812e3767969506491 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 21 May 2019 17:59:26 +0200
-Subject: [PATCH] v1/meson.build: explicitly specify the v1 library in
- pkgconfig
-
-Otherwise there would be '-lmodulemd' which resolves
-to v2 version if both v2 and v1 are present in the sysroot.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- modulemd/v1/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modulemd/v1/meson.build b/modulemd/v1/meson.build
-index 4d54e69..9144ca2 100644
---- a/modulemd/v1/meson.build
-+++ b/modulemd/v1/meson.build
-@@ -325,7 +325,7 @@ configure_file(
- )
- 
- pkg.generate(
--    libraries : modulemd_v1_lib,
-+    libraries : '-l:libmodulemd.so.1',
-     subdirs : v1_header_path,
-     version : libmodulemd_v1_version,
-     name : 'modulemd',
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch
deleted file mode 100644
index 0b75356..0000000
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 4a2a592c5a3898df37ff231d9c410f0fd32f5d5d Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 6 Nov 2018 13:43:00 +0100
-Subject: [PATCH] modulemd/v[12]/meson.build: do not generate gtkdoc or python
- bindings
-
-All of these really need a configuration option.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- meson.build             |  3 +--
- modulemd/v1/meson.build |  8 --------
- modulemd/v2/meson.build | 12 ------------
- 3 files changed, 1 insertion(+), 22 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 5a0cd3d..f51b16e 100644
---- a/meson.build
-+++ b/meson.build
-@@ -52,7 +52,6 @@ gnome = import('gnome')
- pkg = import('pkgconfig')
- gobject = dependency('gobject-2.0')
- yaml = dependency('yaml-0.1')
--gtkdoc = dependency('gtk-doc')
- 
- sh = find_program('sh')
- sed = find_program('sed')
-@@ -127,4 +126,4 @@ configure_file(
- )
- 
- subdir('modulemd')
--subdir('bindings/python')
-+
-diff --git a/modulemd/v1/meson.build b/modulemd/v1/meson.build
-index ddc95a1..e85fafd 100644
---- a/modulemd/v1/meson.build
-+++ b/modulemd/v1/meson.build
-@@ -356,11 +356,3 @@ configure_file(
-   configuration : xcdata
- )
- 
--gnome.gtkdoc(
--    'modulemd-1.0',
--    install_dir: 'modulemd-1.0',
--    src_dir : './modulemd/v1',
--    main_xml : 'modulemd-v1-docs.xml',
--    install : true,
--)
--
-diff --git a/modulemd/v2/meson.build b/modulemd/v2/meson.build
-index 93c7fbd..0d9ed24 100644
---- a/modulemd/v2/meson.build
-+++ b/modulemd/v2/meson.build
-@@ -285,15 +285,3 @@ configure_file(
-   configuration : xcdata
- )
- 
--gnome.gtkdoc(
--    'modulemd-2.0',
--    install_dir: 'modulemd-2.0',
--    src_dir : './modulemd/v2',
--    main_xml : 'modulemd-v2-docs.xml',
--    gobject_typesfile : join_paths(meson.current_build_dir(), 'modulemd-2.0.types'),
--    dependencies : [
--        modulemd_v2_dep,
--    ],
--    install : true,
--)
--
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.10.5.bb b/poky/meta/recipes-devtools/librepo/librepo_1.10.6.bb
similarity index 93%
rename from poky/meta/recipes-devtools/librepo/librepo_1.10.5.bb
rename to poky/meta/recipes-devtools/librepo/librepo_1.10.6.bb
index 87d64bf..cf4de22 100644
--- a/poky/meta/recipes-devtools/librepo/librepo_1.10.5.bb
+++ b/poky/meta/recipes-devtools/librepo/librepo_1.10.6.bb
@@ -8,7 +8,7 @@
            file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
            "
 
-SRCREV = "385e2ced1083cac0bcb19e30500311f6923e6dfc"
+SRCREV = "2ec349f1c686c1704dc83da6c118035ff57c8dea"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
index 789c308..d75c94e 100644
--- a/poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
+++ b/poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
@@ -1,13 +1,11 @@
-From 4c08879d2dfbe7face4e679ac8499dc7bff2dd20 Mon Sep 17 00:00:00 2001
+From dbeecdb307be8b783b42cbc89dcb9c5e7f528989 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 21 May 2016 00:33:20 +0000
-Subject: [PATCH 06/19] llvm: TargetLibraryInfo: Undefine libc functions if
- they are macros
+Subject: [PATCH] llvm: TargetLibraryInfo: Undefine libc functions if they are macros
 
 musl defines some functions as macros and not inline functions
 if this is the case then make sure to undefine them
 
-Upstream-Status: Pending
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
  .../llvm/Analysis/TargetLibraryInfo.def       | 21 +++++++++++++++++++
@@ -87,6 +85,3 @@
  TLI_DEFINE_ENUM_INTERNAL(tmpfile64)
  TLI_DEFINE_STRING_INTERNAL("tmpfile64")
  /// int toascii(int c);
--- 
-2.22.0
-
diff --git a/poky/meta/recipes-devtools/llvm/llvm/0007-llvm-allow-env-override-of-exe-path.patch b/poky/meta/recipes-devtools/llvm/llvm/0007-llvm-allow-env-override-of-exe-path.patch
index f47080c..58dce51 100644
--- a/poky/meta/recipes-devtools/llvm/llvm/0007-llvm-allow-env-override-of-exe-path.patch
+++ b/poky/meta/recipes-devtools/llvm/llvm/0007-llvm-allow-env-override-of-exe-path.patch
@@ -1,14 +1,13 @@
-From b66d6f39a374b8df41e7235351e5dee2e81f440c Mon Sep 17 00:00:00 2001
+From 61b00e1e051e367f5483d7b5253b6c85a9e8a90f Mon Sep 17 00:00:00 2001
 From: Martin Kelly <mkelly@xevo.com>
 Date: Fri, 19 May 2017 00:22:57 -0700
-Subject: [PATCH 07/19] llvm: allow env override of exe path
+Subject: [PATCH] llvm: allow env override of exe path
 
 When using a native llvm-config from inside a sysroot, we need llvm-config to
 return the libraries, include directories, etc. from inside the sysroot rather
 than from the native sysroot. Thus provide an env override for calling
 llvm-config from a target sysroot.
 
-Upstream-Status: Pending
 Signed-off-by: Martin Kelly <mkelly@xevo.com>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
@@ -33,6 +32,3 @@
    // This just needs to be some symbol in the binary; C++ doesn't
    // allow taking the address of ::main however.
    void *P = (void *)(intptr_t)GetExecutablePath;
--- 
-2.22.0
-
diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb
index 08b19a3..5f9277f 100644
--- a/poky/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb
@@ -3,10 +3,10 @@
 
 DESCRIPTION = "The LLVM Compiler Infrastructure"
 HOMEPAGE = "http://llvm.org"
-LICENSE = "NCSA"
+LICENSE = "Apache-2.0-with-LLVM-exception"
 SECTION = "devel"
 
-LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c6b766a4e85dd28301eeed54a6684648"
+LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
 
 DEPENDS = "libffi libxml2 zlib libedit ninja-native llvm-native"
 
@@ -16,17 +16,17 @@
 
 PROVIDES += "llvm${PV}"
 
+MAJOR_VERSION = "9"
+MINOR_VERSION = "0"
+PATCH_VERSION = "0"
+
+PV = "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}"
+
 LLVM_RELEASE = "${PV}"
 LLVM_DIR = "llvm${LLVM_RELEASE}"
 
-SRCREV = "19a71f6bdf2dddb10764939e7f0ec2b98dba76c9"
-
 BRANCH = "release/${MAJOR_VERSION}.x"
-MAJOR_VERSION = "8"
-MINOR_VERSION = "0"
-PATCH_VERSION = "1"
-SOLIBVER = "1"
-PV = "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}"
+SRCREV = "0399d5a9682b3cef71c653373e38890c63c4c365"
 SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH} \
            file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch;striplevel=2 \
            file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
@@ -45,6 +45,7 @@
     elif re.match(r'aarch64$', a):                      return 'AArch64'
     elif re.match(r'aarch64_be$', a):                   return 'AArch64'
     elif re.match(r'mips(isa|)(32|64|)(r6|)(el|)$', a): return 'Mips'
+    elif re.match(r'riscv(32|64)(eb|)$', a):            return 'RISCV'
     elif re.match(r'p(pc|owerpc)(|64)', a):             return 'PowerPC'
     else:
         raise bb.parse.SkipRecipe("Cannot map '%s' to a supported LLVM architecture" % a)
@@ -86,8 +87,6 @@
                   -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \
                  "
 
-CXXFLAGS_append_class-target_powerpc = " -mlongcall"
-
 do_configure_prepend() {
 # Fix paths in llvm-config
 	sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp
@@ -158,7 +157,7 @@
 "
 
 FILES_${PN}-liboptremarks += "\
-    ${libdir}/${LLVM_DIR}/libOptRemarks.so.* \
+    ${libdir}/${LLVM_DIR}/libRemarks.so.* \
 "
 
 FILES_${PN}-llvmhello = "\
@@ -167,7 +166,7 @@
 
 FILES_${PN}-dev += " \
     ${libdir}/${LLVM_DIR}/llvm-config \
-    ${libdir}/${LLVM_DIR}/libOptRemarks.so \
+    ${libdir}/${LLVM_DIR}/libRemarks.so \
     ${libdir}/${LLVM_DIR}/libLLVM-${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}.so \
 "
 
diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc
index 6de109d..ae0091c 100644
--- a/poky/meta/recipes-devtools/meson/meson.inc
+++ b/poky/meta/recipes-devtools/meson/meson.inc
@@ -1,5 +1,8 @@
 HOMEPAGE = "http://mesonbuild.com"
 SUMMARY = "A high performance build system"
+DESCRIPTION = "Meson is a build system designed to increase programmer \
+productivity. It does this by providing a fast, simple and easy to use \
+interface for modern software development tools and practices."
 
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
@@ -11,14 +14,11 @@
            file://0001-python-module-do-not-manipulate-the-environment-when.patch \
            file://disable-rpath-handling.patch \
            file://cross-prop-default.patch \
-           file://0001-environment.py-detect-windows-also-if-the-system-str.patch \
-           file://0001-mesonbuild-environment.py-do-not-determine-whether-a.patch \
            file://0001-mesonbuild-environment.py-check-environment-for-vari.patch \
            file://0001-modules-python.py-do-not-substitute-python-s-install.patch \
-           file://vala-cross-compile.patch \
            "
-SRC_URI[sha256sum] = "23688f0fc90be623d98e80e1defeea92bbb7103bf9336a5f5b9865d36e892d76"
-SRC_URI[md5sum] = "d46c4a8e3cfd27f90e2c6fe4a69e574b"
+SRC_URI[sha256sum] = "d60f75f0dedcc4fd249dbc7519d6f3ce6df490033d276ef1cf27453ef4938d32"
+SRC_URI[md5sum] = "7ea7772414dda8ae11072244bf7ba991"
 
 SRC_URI_append_class-native = " \
     file://0001-Make-CPU-family-warnings-fatal.patch \
@@ -29,6 +29,6 @@
 
 inherit setuptools3
 
-RDEPENDS_${PN} = "ninja python3-core python3-modules"
+RDEPENDS_${PN} = "ninja python3-modules python3-pkg-resources"
 
 FILES_${PN} += "${datadir}/polkit-1"
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 444fc08..fc55dca 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 f70fee13e4dbc757cd8153cd42d92fa9394fb542 Mon Sep 17 00:00:00 2001
+From c07d29b715209cd5d75b142a00a540d45b00c36d 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,7 +12,7 @@
  2 files changed, 2 insertions(+), 4 deletions(-)
 
 diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
-index 03c6346..86b350b 100644
+index a59cd89..17de654 100644
 --- a/mesonbuild/envconfig.py
 +++ b/mesonbuild/envconfig.py
 @@ -186,7 +186,7 @@ class MachineInfo:
@@ -25,10 +25,10 @@
          endian = literal['endian']
          if endian not in ('little', 'big'):
 diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 0cfdf9c..40aa189 100644
+index 3704921..f1988f2 100644
 --- a/mesonbuild/environment.py
 +++ b/mesonbuild/environment.py
-@@ -262,9 +262,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
+@@ -251,9 +251,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-environment.py-detect-windows-also-if-the-system-str.patch b/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch
deleted file mode 100644
index 37b5356..0000000
--- a/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From b52e47c9d61dc4c930cfc7236fbeb70338c3b953 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 25 Mar 2019 17:17:06 +0100
-Subject: [PATCH] environment.py: detect windows also if the system string
- contains 'mingw'
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- mesonbuild/envconfig.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
-index 03c6346..a59cd89 100644
---- a/mesonbuild/envconfig.py
-+++ b/mesonbuild/envconfig.py
-@@ -198,7 +198,7 @@ class MachineInfo:
-         """
-         Machine is windows?
-         """
--        return self.system in {'windows', 'mingw'}
-+        return self.system == 'windows' or 'mingw' in self.system
- 
-     def is_cygwin(self) -> bool:
-         """
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch b/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
index 7c3238b..471f150 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
@@ -1,4 +1,4 @@
-From 1afbf5ccff56e582229c8f673f50aedf2b24117e Mon Sep 17 00:00:00 2001
+From d3ef01a4208a801acad380a4aaceb6a21f8fa603 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 4 Aug 2017 16:16:41 +0300
 Subject: [PATCH] gtkdoc: fix issues that arise when cross-compiling
@@ -20,11 +20,11 @@
  1 file changed, 4 insertions(+)
 
 diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
-index bf49770..7c5a363 100644
+index bcf77b9..6a4b472 100644
 --- a/mesonbuild/modules/gnome.py
 +++ b/mesonbuild/modules/gnome.py
-@@ -972,6 +972,10 @@ This will become a hard error in the future.''')
-                 '--mode=' + mode]
+@@ -974,6 +974,10 @@ This will become a hard error in the future.''')
+             args.append('--{}={}'.format(program_name, path))
          if namespace:
              args.append('--namespace=' + namespace)
 +        gtkdoc_exe_wrapper = state.environment.properties.host.get('gtkdoc_exe_wrapper', None)
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch
deleted file mode 100644
index 8cb1187..0000000
--- a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From ec9c4a22424a5d55fcf213a55d03f096ec24bcae Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 25 Mar 2019 18:18:33 +0100
-Subject: [PATCH] mesonbuild/environment.py: do not determine whether a build
- is cross by comparing architectures
-
-This can, and does, go wrong when our host architecture is same as the target one(e.g. x86_64).
-
-Upstream-Status: Pending
-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 84a7596..9a029f4 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -520,7 +520,7 @@ class Environment:
-         self.first_invocation = True
- 
-     def is_cross_build(self) -> bool:
--        return not self.machines.matches_build_machine(MachineChoice.HOST)
-+        return self.need_exe_wrapper()
- 
-     def dump_coredata(self):
-         return coredata.save(self.coredata, self.get_build_dir())
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 8ad86a4..b8837d7 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 3009a1c2f1b736b836a057d84dc11f379cba99cf Mon Sep 17 00:00:00 2001
+From 263fc0e26e1fd92e25fa3ef93f4a549dcebc5887 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,7 +13,7 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
-index 86b350b..aa426ca 100644
+index 17de654..2d2deef 100644
 --- a/mesonbuild/envconfig.py
 +++ b/mesonbuild/envconfig.py
 @@ -36,6 +36,7 @@ _T = typing.TypeVar('_T')
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 57de598..76cc493 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 ac38495de38a1ea42e2bc09a2f23c2e945fbc22d Mon Sep 17 00:00:00 2001
+From 4a1d676522d6b56cbe9a45c3b040afaa27d37f78 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 21da8e2..7d1ef85 100644
+index 3c55a56..eb52fd1 100644
 --- a/mesonbuild/dependencies/base.py
 +++ b/mesonbuild/dependencies/base.py
-@@ -155,7 +155,7 @@ class Dependency:
+@@ -185,7 +185,7 @@ class Dependency:
      def get_exe_args(self, compiler):
          return []
  
@@ -34,7 +34,7 @@
          raise DependencyException('{!r} is not a pkgconfig dependency'.format(self.name))
  
      def get_configtool_variable(self, variable_name):
-@@ -214,7 +214,7 @@ class InternalDependency(Dependency):
+@@ -248,7 +248,7 @@ class InternalDependency(Dependency):
          self.sources = sources
          self.ext_deps = ext_deps
  
@@ -43,7 +43,7 @@
          raise DependencyException('Method "get_pkgconfig_variable()" is '
                                    'invalid for an internal dependency')
  
-@@ -639,15 +639,18 @@ class PkgConfigDependency(ExternalDependency):
+@@ -670,15 +670,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:
-@@ -663,7 +666,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -698,7 +701,7 @@ class PkgConfigDependency(ExternalDependency):
          targs = tuple(args)
          cache = PkgConfigDependency.pkgbin_cache
          if (self.pkgbin, targs, fenv) not in cache:
@@ -74,16 +74,16 @@
          return cache[(self.pkgbin, targs, fenv)]
  
      def _convert_mingw_paths(self, args):
-@@ -845,7 +848,7 @@ class PkgConfigDependency(ExternalDependency):
-                                       (self.name, out_raw))
-         self.link_args, self.raw_link_args = self._search_libs(out, out_raw)
+@@ -926,7 +929,7 @@ class PkgConfigDependency(ExternalDependency):
+             mlog.warning('Could not determine complete list of dependencies for %s' % self.name)
+         self.link_args, self.raw_link_args = self._search_libs(out, out_raw, out_all)
  
 -    def get_pkgconfig_variable(self, variable_name, kwargs):
 +    def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):
          options = ['--variable=' + variable_name, self.name]
  
          if 'define_variable' in kwargs:
-@@ -858,7 +861,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -939,7 +942,7 @@ class PkgConfigDependency(ExternalDependency):
  
              options = ['--define-variable=' + '='.join(definition)] + options
  
diff --git a/poky/meta/recipes-devtools/meson/meson/vala-cross-compile.patch b/poky/meta/recipes-devtools/meson/meson/vala-cross-compile.patch
deleted file mode 100644
index 816f810..0000000
--- a/poky/meta/recipes-devtools/meson/meson/vala-cross-compile.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 77c3e6a4aaed07e626f4bf4deb7eb66e0f03a33d Mon Sep 17 00:00:00 2001
-From: James Westman <flyingpimonster@flyingpimonster.net>
-Date: Mon, 24 Jun 2019 12:04:12 -0500
-Subject: [PATCH] Fix two errors when cross-compiling with Vala
-
-- AttributeError: 'ValaCompiler' object has no attribute 'get_program_dirs'
-
-  Fixed by adding a `get_program_dirs()` function to the base Compiler
-  class, to match `get_library_dirs()`
-
-- KeyError: 'vala_COMPILER'
-
-  Fixed by creating the Vala compile rules for all machines, not just
-  the build machine.
-
-Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/77c3e6a4aaed07e626f4bf4deb7eb66e0f03a33d]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- mesonbuild/backend/ninjabackend.py | 3 +--
- mesonbuild/compilers/compilers.py  | 3 +++
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
-index a454e6ab5f..b830e377e4 100644
---- a/mesonbuild/backend/ninjabackend.py
-+++ b/mesonbuild/backend/ninjabackend.py
-@@ -1653,8 +1653,7 @@ def generate_compile_rule_for(self, langname, compiler):
-                 self.generate_cs_compile_rule(compiler)
-             return
-         if langname == 'vala':
--            if self.environment.machines.matches_build_machine(compiler.for_machine):
--                self.generate_vala_compile_rules(compiler)
-+            self.generate_vala_compile_rules(compiler)
-             return
-         if langname == 'rust':
-             self.generate_rust_compile_rules(compiler)
-diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
-index 5855de71c8..86c1e33407 100644
---- a/mesonbuild/compilers/compilers.py
-+++ b/mesonbuild/compilers/compilers.py
-@@ -1117,6 +1117,9 @@ def find_library(self, *args, **kwargs):
-     def get_library_dirs(self, *args, **kwargs):
-         return ()
- 
-+    def get_program_dirs(self, *args, **kwargs):
-+        return ()
-+
-     def has_multi_arguments(self, args, env) -> Tuple[bool, bool]:
-         raise EnvironmentException(
-             'Language {} does not support has_multi_arguments.'.format(
diff --git a/poky/meta/recipes-devtools/meson/meson_0.51.2.bb b/poky/meta/recipes-devtools/meson/meson_0.52.0.bb
similarity index 97%
rename from poky/meta/recipes-devtools/meson/meson_0.51.2.bb
rename to poky/meta/recipes-devtools/meson/meson_0.52.0.bb
index de9b905..897fa14 100644
--- a/poky/meta/recipes-devtools/meson/meson_0.51.2.bb
+++ b/poky/meta/recipes-devtools/meson/meson_0.52.0.bb
@@ -1,4 +1,3 @@
 include meson.inc
 
 BBCLASSEXTEND = "native"
-
diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.51.2.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.52.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/meson/nativesdk-meson_0.51.2.bb
rename to poky/meta/recipes-devtools/meson/nativesdk-meson_0.52.0.bb
diff --git a/poky/meta/recipes-devtools/perl/perl_5.30.0.bb b/poky/meta/recipes-devtools/perl/perl_5.30.0.bb
index a221bce..1d906a7 100644
--- a/poky/meta/recipes-devtools/perl/perl_5.30.0.bb
+++ b/poky/meta/recipes-devtools/perl/perl_5.30.0.bb
@@ -35,12 +35,13 @@
 
 inherit upstream-version-is-even
 
-DEPENDS += "gdbm zlib virtual/crypt"
+DEPENDS += "zlib virtual/crypt"
 
 PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0"
 
-PACKAGECONFIG ??= "bdb"
+PACKAGECONFIG ??= "bdb gdbm"
 PACKAGECONFIG[bdb] = ",-Ui_db,db"
+PACKAGECONFIG[gdbm] = ",-Ui_gdbm,gdbm"
 
 # Don't generate comments in enc2xs output files. They are not reproducible
 export ENC2XS_NO_COMMENTS = "1"
@@ -265,13 +266,23 @@
     # Read the pre-generated dependency file, and use it to set module dependecies
     for line in open(d.expand("${WORKDIR}") + '/perl-rdepends.txt').readlines():
         splitline = line.split()
-        module = splitline[0].replace("RDEPENDS_perl", "RDEPENDS_${PN}")
-        depends = splitline[2].strip('"').replace("perl-module", "${PN}-module")
+        if bb.data.inherits_class('native', d):
+            module = splitline[0] + '-native'
+            depends = "perl-native"
+        else:
+            module = splitline[0].replace("RDEPENDS_perl", "RDEPENDS_${PN}")
+            depends = splitline[2].strip('"').replace("perl-module", "${PN}-module")
         d.appendVar(d.expand(module), " " + depends)
 }
 
-PACKAGES_DYNAMIC_class-target += "^perl-module-.*"
-PACKAGES_DYNAMIC_class-nativesdk += "^nativesdk-perl-module-.*"
+python() {
+    if d.getVar('CLASSOVERRIDE') == "class-target":
+        d.setVar("PACKAGES_DYNAMIC", "^perl-module-.*(?<!native)$")
+    elif d.getVar('CLASSOVERRIDE') == "class-native":
+        d.setVar("PACKAGES_DYNAMIC", "^perl-module-.*-native$")
+    elif d.getVar('CLASSOVERRIDE') == "class-nativesdk":
+        d.setVar("PACKAGES_DYNAMIC", "^nativesdk-perl-module-.*")
+}
 
 RDEPENDS_${PN}-misc += "perl perl-modules"
 RDEPENDS_${PN}-pod += "perl"
diff --git a/poky/meta/recipes-devtools/python/python-async.inc b/poky/meta/recipes-devtools/python/python-async.inc
index 139bf2c..af887dc 100644
--- a/poky/meta/recipes-devtools/python/python-async.inc
+++ b/poky/meta/recipes-devtools/python/python-async.inc
@@ -1,7 +1,7 @@
 SUMMARY = "Python framework to process interdependent tasks in a pool of workers"
 HOMEPAGE = "http://github.com/gitpython-developers/async"
 SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=88df8e78b9edfd744953862179f2d14e"
 
 inherit pypi
diff --git a/poky/meta/recipes-devtools/python/python-smmap.inc b/poky/meta/recipes-devtools/python/python-smmap.inc
index 1a2259e..b878b4b 100644
--- a/poky/meta/recipes-devtools/python/python-smmap.inc
+++ b/poky/meta/recipes-devtools/python/python-smmap.inc
@@ -4,7 +4,7 @@
 managing resources more efficiently."
 HOMEPAGE = "http://github.com/gitpython-developers/GitPython"
 SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709"
 
 inherit pypi
diff --git a/poky/meta/recipes-devtools/python/python/0001-2.7-bpo-34155-Dont-parse-domains-containing-GH-13079.patch b/poky/meta/recipes-devtools/python/python/0001-2.7-bpo-34155-Dont-parse-domains-containing-GH-13079.patch
new file mode 100644
index 0000000..5415472
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python/0001-2.7-bpo-34155-Dont-parse-domains-containing-GH-13079.patch
@@ -0,0 +1,90 @@
+From 532ed09c5454bb789a301bb6f1339a0818255610 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Roberto=20C=2E=20S=C3=A1nchez?= <roberto@connexer.com>
+Date: Sat, 14 Sep 2019 13:26:38 -0400
+Subject: [PATCH] [2.7] bpo-34155: Dont parse domains containing @ (GH-13079)
+ (GH-16006)
+
+This change skips parsing of email addresses where domains include a "@" character, which can be maliciously used since the local part is returned as a complete address.
+
+(cherry picked from commit 8cb65d1381b027f0b09ee36bfed7f35bb4dec9a9)
+
+Excludes changes to Lib/email/_header_value_parser.py, which did not
+exist in 2.7.
+
+Co-authored-by: jpic <jpic@users.noreply.github.com>
+
+https://bugs.python.org/issue34155
+
+Upstream-Status: Backport [https://github.com/python/cpython/commit/8cb65d1381b027f0b09ee36bfed7f35bb4dec9a9]
+
+CVE: CVE-2019-16056
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ Lib/email/_parseaddr.py                            | 11 ++++++++++-
+ Lib/email/test/test_email.py                       | 14 ++++++++++++++
+ .../2019-05-04-13-33-37.bpo-34155.MJll68.rst       |  1 +
+ 3 files changed, 25 insertions(+), 1 deletion(-)
+ create mode 100644 Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst
+
+diff --git a/Lib/email/_parseaddr.py b/Lib/email/_parseaddr.py
+index 690db2c22d..dc49d2e45a 100644
+--- a/Lib/email/_parseaddr.py
++++ b/Lib/email/_parseaddr.py
+@@ -336,7 +336,12 @@ class AddrlistClass:
+         aslist.append('@')
+         self.pos += 1
+         self.gotonext()
+-        return EMPTYSTRING.join(aslist) + self.getdomain()
++        domain = self.getdomain()
++        if not domain:
++            # Invalid domain, return an empty address instead of returning a
++            # local part to denote failed parsing.
++            return EMPTYSTRING
++        return EMPTYSTRING.join(aslist) + domain
+ 
+     def getdomain(self):
+         """Get the complete domain name from an address."""
+@@ -351,6 +356,10 @@ class AddrlistClass:
+             elif self.field[self.pos] == '.':
+                 self.pos += 1
+                 sdlist.append('.')
++            elif self.field[self.pos] == '@':
++                # bpo-34155: Don't parse domains with two `@` like
++                # `a@malicious.org@important.com`.
++                return EMPTYSTRING
+             elif self.field[self.pos] in self.atomends:
+                 break
+             else:
+diff --git a/Lib/email/test/test_email.py b/Lib/email/test/test_email.py
+index 4b4dee3d34..2efe44ac5a 100644
+--- a/Lib/email/test/test_email.py
++++ b/Lib/email/test/test_email.py
+@@ -2306,6 +2306,20 @@ class TestMiscellaneous(TestEmailBase):
+         self.assertEqual(Utils.parseaddr('<>'), ('', ''))
+         self.assertEqual(Utils.formataddr(Utils.parseaddr('<>')), '')
+ 
++    def test_parseaddr_multiple_domains(self):
++        self.assertEqual(
++            Utils.parseaddr('a@b@c'),
++            ('', '')
++        )
++        self.assertEqual(
++            Utils.parseaddr('a@b.c@c'),
++            ('', '')
++        )
++        self.assertEqual(
++            Utils.parseaddr('a@172.17.0.1@c'),
++            ('', '')
++        )
++
+     def test_noquote_dump(self):
+         self.assertEqual(
+             Utils.formataddr(('A Silly Person', 'person@dom.ain')),
+diff --git a/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst b/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst
+new file mode 100644
+index 0000000000..50292e29ed
+--- /dev/null
++++ b/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst
+@@ -0,0 +1 @@
++Fix parsing of invalid email addresses with more than one ``@`` (e.g. a@b@c.com.) to not return the part before 2nd ``@`` as valid email address. Patch by maxking & jpic.
diff --git a/poky/meta/recipes-devtools/python/python3/0001-bpo-34155-Dont-parse-domains-containing-GH-13079.patch b/poky/meta/recipes-devtools/python/python3/0001-bpo-34155-Dont-parse-domains-containing-GH-13079.patch
new file mode 100644
index 0000000..319e7ed
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-bpo-34155-Dont-parse-domains-containing-GH-13079.patch
@@ -0,0 +1,132 @@
+From 90d56127ae15b1e452755e62c77dc475dedf7161 Mon Sep 17 00:00:00 2001
+From: jpic <jpic@users.noreply.github.com>
+Date: Wed, 17 Jul 2019 23:54:25 +0200
+Subject: [PATCH] bpo-34155: Dont parse domains containing @ (GH-13079)
+
+Before:
+
+        >>> email.message_from_string('From: a@malicious.org@important.com', policy=email.policy.default)['from'].addresses
+        (Address(display_name='', username='a', domain='malicious.org'),)
+
+        >>> parseaddr('a@malicious.org@important.com')
+        ('', 'a@malicious.org')
+
+    After:
+
+        >>> email.message_from_string('From: a@malicious.org@important.com', policy=email.policy.default)['from'].addresses
+        (Address(display_name='', username='', domain=''),)
+
+        >>> parseaddr('a@malicious.org@important.com')
+        ('', 'a@')
+
+https://bugs.python.org/issue34155
+
+Upstream-Status: Backport [https://github.com/python/cpython/commit/8cb65d1381b027f0b09ee36bfed7f35bb4dec9a9]
+
+CVE: CVE-2019-16056
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ Lib/email/_header_value_parser.py                  |  2 ++
+ Lib/email/_parseaddr.py                            | 11 ++++++++++-
+ Lib/test/test_email/test__header_value_parser.py   | 10 ++++++++++
+ Lib/test/test_email/test_email.py                  | 14 ++++++++++++++
+ .../2019-05-04-13-33-37.bpo-34155.MJll68.rst       |  1 +
+ 5 files changed, 37 insertions(+), 1 deletion(-)
+ create mode 100644 Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst
+
+diff --git a/Lib/email/_header_value_parser.py b/Lib/email/_header_value_parser.py
+index fc00b4a098..bbc026ec71 100644
+--- a/Lib/email/_header_value_parser.py
++++ b/Lib/email/_header_value_parser.py
+@@ -1582,6 +1582,8 @@ def get_domain(value):
+         token, value = get_dot_atom(value)
+     except errors.HeaderParseError:
+         token, value = get_atom(value)
++    if value and value[0] == '@':
++        raise errors.HeaderParseError('Invalid Domain')
+     if leader is not None:
+         token[:0] = [leader]
+     domain.append(token)
+diff --git a/Lib/email/_parseaddr.py b/Lib/email/_parseaddr.py
+index cdfa3729ad..41ff6f8c00 100644
+--- a/Lib/email/_parseaddr.py
++++ b/Lib/email/_parseaddr.py
+@@ -379,7 +379,12 @@ class AddrlistClass:
+         aslist.append('@')
+         self.pos += 1
+         self.gotonext()
+-        return EMPTYSTRING.join(aslist) + self.getdomain()
++        domain = self.getdomain()
++        if not domain:
++            # Invalid domain, return an empty address instead of returning a
++            # local part to denote failed parsing.
++            return EMPTYSTRING
++        return EMPTYSTRING.join(aslist) + domain
+ 
+     def getdomain(self):
+         """Get the complete domain name from an address."""
+@@ -394,6 +399,10 @@ class AddrlistClass:
+             elif self.field[self.pos] == '.':
+                 self.pos += 1
+                 sdlist.append('.')
++            elif self.field[self.pos] == '@':
++                # bpo-34155: Don't parse domains with two `@` like
++                # `a@malicious.org@important.com`.
++                return EMPTYSTRING
+             elif self.field[self.pos] in self.atomends:
+                 break
+             else:
+diff --git a/Lib/test/test_email/test__header_value_parser.py b/Lib/test/test_email/test__header_value_parser.py
+index 693487bc96..7dc4de1b7b 100644
+--- a/Lib/test/test_email/test__header_value_parser.py
++++ b/Lib/test/test_email/test__header_value_parser.py
+@@ -1438,6 +1438,16 @@ class TestParser(TestParserMixin, TestEmailBase):
+         self.assertEqual(addr_spec.domain, 'example.com')
+         self.assertEqual(addr_spec.addr_spec, 'star.a.star@example.com')
+ 
++    def test_get_addr_spec_multiple_domains(self):
++        with self.assertRaises(errors.HeaderParseError):
++            parser.get_addr_spec('star@a.star@example.com')
++
++        with self.assertRaises(errors.HeaderParseError):
++            parser.get_addr_spec('star@a@example.com')
++
++        with self.assertRaises(errors.HeaderParseError):
++            parser.get_addr_spec('star@172.17.0.1@example.com')
++
+     # get_obs_route
+ 
+     def test_get_obs_route_simple(self):
+diff --git a/Lib/test/test_email/test_email.py b/Lib/test/test_email/test_email.py
+index c29cc56203..aa775881c5 100644
+--- a/Lib/test/test_email/test_email.py
++++ b/Lib/test/test_email/test_email.py
+@@ -3041,6 +3041,20 @@ class TestMiscellaneous(TestEmailBase):
+         self.assertEqual(utils.parseaddr('<>'), ('', ''))
+         self.assertEqual(utils.formataddr(utils.parseaddr('<>')), '')
+ 
++    def test_parseaddr_multiple_domains(self):
++        self.assertEqual(
++            utils.parseaddr('a@b@c'),
++            ('', '')
++        )
++        self.assertEqual(
++            utils.parseaddr('a@b.c@c'),
++            ('', '')
++        )
++        self.assertEqual(
++            utils.parseaddr('a@172.17.0.1@c'),
++            ('', '')
++        )
++
+     def test_noquote_dump(self):
+         self.assertEqual(
+             utils.formataddr(('A Silly Person', 'person@dom.ain')),
+diff --git a/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst b/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst
+new file mode 100644
+index 0000000000..50292e29ed
+--- /dev/null
++++ b/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst
+@@ -0,0 +1 @@
++Fix parsing of invalid email addresses with more than one ``@`` (e.g. a@b@c.com.) to not return the part before 2nd ``@`` as valid email address. Patch by maxking & jpic.
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 1741f57..1709011 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 17796e353acf08acd604610f34840a4a9d2f4b54 Mon Sep 17 00:00:00 2001
+From eff903c600f4c40f5753e95ab1557126fc6e0c9c 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
@@ -15,10 +15,10 @@
  2 files changed, 4 insertions(+)
 
 diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index e07a6c8..6b8c129 100644
+index 0a034ee..3dfd0a3 100644
 --- a/Lib/distutils/sysconfig.py
 +++ b/Lib/distutils/sysconfig.py
-@@ -421,6 +421,8 @@ def _init_posix():
+@@ -439,6 +439,8 @@ def _init_posix():
          platform=sys.platform,
          multiarch=getattr(sys.implementation, '_multiarch', ''),
      ))
@@ -28,10 +28,10 @@
      build_time_vars = _temp.build_time_vars
      global _config_vars
 diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
-index 9ee4d31..e586abd 100644
+index 87fa5e6..756a41c 100644
 --- a/Lib/sysconfig.py
 +++ b/Lib/sysconfig.py
-@@ -412,6 +412,8 @@ def _init_posix(vars):
+@@ -419,6 +419,8 @@ def _init_posix(vars):
      """Initialize the module as appropriate for POSIX systems."""
      # _sysconfigdata is generated at build time, see _generate_posix_vars()
      name = _get_sysconfigdata_name()
diff --git a/poky/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch b/poky/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
index a0ed7cc..a146c74 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
@@ -1,4 +1,4 @@
-From ffe7797637f08cd6ee4c82e2d67462c5e194d30a Mon Sep 17 00:00:00 2001
+From 5ce3ac59531828ff682646fbba59b2126b28a8aa Mon Sep 17 00:00:00 2001
 From: Jaewon Lee <jaewon.lee@xilinx.com>
 Date: Thu, 25 Apr 2019 15:34:26 -0700
 Subject: [PATCH] main.c: if OEPYTHON3HOME is set use instead of PYTHONHOME
@@ -12,15 +12,16 @@
 Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
 
 Upstream-Status: Inappropriate [OE specific configuration]
+
 ---
  Modules/main.c | 17 +++++++++++++----
  1 file changed, 13 insertions(+), 4 deletions(-)
 
 diff --git a/Modules/main.c b/Modules/main.c
-index a745381..b553e30 100644
+index acc59c6..407085a 100644
 --- a/Modules/main.c
 +++ b/Modules/main.c
-@@ -1855,10 +1855,19 @@ config_init_home(_PyCoreConfig *config)
+@@ -1834,10 +1834,19 @@ config_init_home(_PyCoreConfig *config)
          }
          return _Py_INIT_OK();
      }
@@ -44,6 +45,3 @@
      }
      config->home = home;
      return _Py_INIT_OK();
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch b/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
new file mode 100644
index 0000000..c15295c
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
@@ -0,0 +1,31 @@
+From e3b59cb9658e1d3efa3535840939a0fa92a70a5a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 7 Oct 2019 13:22:14 +0200
+Subject: [PATCH] setup.py: do not report missing dependencies for disabled
+ modules
+
+Reporting those missing dependencies is misleading as the modules would not
+have been built anyway. This particularly matters in oe-core's automated
+build completeness checker which relies on the report.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ setup.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/setup.py b/setup.py
+index 4b53668..0097643 100644
+--- a/setup.py
++++ b/setup.py
+@@ -365,6 +365,10 @@ class PyBuildExt(build_ext):
+                 print("%-*s   %-*s   %-*s" % (longest, e, longest, f,
+                                               longest, g))
+ 
++        # There is no need to report missing module dependencies,
++        # if the modules have been disabled in the first place.
++        missing = list(set(missing) - set(sysconf_dis))
++
+         if missing:
+             print()
+             print("Python build finished successfully!")
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 0bafec7..d49604b 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 6229502e5ae6cbb22240594f002638e9ef78f831 Mon Sep 17 00:00:00 2001
+From a274ba778838824efcacaba57c415b7262f779ec 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.7.4.bb b/poky/meta/recipes-devtools/python/python3_3.7.4.bb
index 8693c44..c8b63fe 100644
--- a/poky/meta/recipes-devtools/python/python3_3.7.4.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.7.4.bb
@@ -23,11 +23,13 @@
            file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \
            file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \
            file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \
-	   file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \
-	   file://crosspythonpath.patch \
+           file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \
+           file://crosspythonpath.patch \
            file://reformat_sysconfig.py \
            file://0001-Use-FLAG_REF-always-for-interned-strings.patch \
            file://0001-test_locale.py-correct-the-test-output-format.patch \
+           file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \
+           file://0001-bpo-34155-Dont-parse-domains-containing-GH-13079.patch \
            "
 
 SRC_URI_append_class-native = " \
@@ -62,7 +64,7 @@
 ALTERNATIVE_TARGET[python-config] = "${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}"
 
 
-DEPENDS = "bzip2-replacement-native libffi bzip2 gdbm openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2"
+DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2"
 DEPENDS_append_class-target = " python3-native"
 DEPENDS_append_class-nativesdk = " python3-native"
 
@@ -87,13 +89,23 @@
         d.setVar('PACKAGECONFIG_PGO', '')
 }
 
-PACKAGECONFIG_class-target ??= "readline ${PACKAGECONFIG_PGO}"
-PACKAGECONFIG_class-native ??= "readline"
-PACKAGECONFIG_class-nativesdk ??= "readline"
+PACKAGECONFIG_class-target ??= "readline ${PACKAGECONFIG_PGO} gdbm"
+PACKAGECONFIG_class-native ??= "readline gdbm"
+PACKAGECONFIG_class-nativesdk ??= "readline gdbm"
 PACKAGECONFIG[readline] = ",,readline"
 # Use profile guided optimisation by running PyBench inside qemu-user
 PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native"
 PACKAGECONFIG[tk] = ",,tk"
+PACKAGECONFIG[gdbm] = ",,gdbm"
+
+do_configure_prepend () {
+    mkdir -p ${B}/Modules
+    cat > ${B}/Modules/Setup.local << EOF
+*disabled*
+${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '', '_gdbm _dbm', d)}
+${@bb.utils.contains('PACKAGECONFIG', 'readline', '', 'readline', d)}
+EOF
+}
 
 CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid"
 
diff --git a/poky/meta/recipes-devtools/python/python_2.7.16.bb b/poky/meta/recipes-devtools/python/python_2.7.16.bb
index 5b856a5..aec8778 100644
--- a/poky/meta/recipes-devtools/python/python_2.7.16.bb
+++ b/poky/meta/recipes-devtools/python/python_2.7.16.bb
@@ -30,6 +30,7 @@
            file://support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch \
            file://float-endian.patch \
            file://0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch \
+           file://0001-2.7-bpo-34155-Dont-parse-domains-containing-GH-13079.patch \
 "
 
 S = "${WORKDIR}/Python-${PV}"
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index de21d30..88ae68a 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -1,4 +1,8 @@
 SUMMARY = "Fast open source processor emulator"
+DESCRIPTION = "QEMU is a hosted virtual machine monitor: it emulates the \
+machine's processor through dynamic binary translation and provides a set \
+of different hardware and device models for the machine, enabling it to run \
+a variety of guest operating systems"
 HOMEPAGE = "http://qemu.org"
 LICENSE = "GPLv2 & LGPLv2.1"
 
@@ -53,7 +57,7 @@
 }
 
 # QEMU_TARGETS is overridable variable
-QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc riscv32 riscv64 sh4 x86_64"
+QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc ppc64 riscv32 riscv64 sh4 x86_64"
 
 EXTRA_OECONF = " \
     --prefix=${prefix} \
diff --git a/poky/meta/recipes-devtools/quilt/quilt.inc b/poky/meta/recipes-devtools/quilt/quilt.inc
index 433e9b4..d6d06c0 100644
--- a/poky/meta/recipes-devtools/quilt/quilt.inc
+++ b/poky/meta/recipes-devtools/quilt/quilt.inc
@@ -1,4 +1,7 @@
 SUMMARY = "Tool for working with series of patches"
+DESCRIPTION = "Quilt is a tool to manage large sets of patches by keeping \
+track of the changes each patch makes. Patches can be applied, un-applied,\
+refreshed, etc."
 HOMEPAGE = "http://savannah.nongnu.org/projects/quilt/"
 SECTION = "devel"
 LICENSE = "GPLv2"
diff --git a/poky/meta/recipes-devtools/swig/swig.inc b/poky/meta/recipes-devtools/swig/swig.inc
index 00b9c5b..e62718c 100644
--- a/poky/meta/recipes-devtools/swig/swig.inc
+++ b/poky/meta/recipes-devtools/swig/swig.inc
@@ -1,4 +1,7 @@
 SUMMARY = "SWIG - Simplified Wrapper and Interface Generator"
+DESCRIPTION = "SWIG is a compiler that makes it easy to integrate C and C++ \
+code with other languages including Perl, Tcl, Ruby, Python, Java, Guile, \
+Mzscheme, Chicken, OCaml, Pike, and C#."
 HOMEPAGE = "http://swig.sourceforge.net/"
 LICENSE = "BSD & GPLv3"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e7807a6282784a7dde4c846626b08fc6 \
diff --git a/poky/meta/recipes-devtools/unfs3/unfs3_git.bb b/poky/meta/recipes-devtools/unfs3/unfs3_git.bb
index a4ac46c..79d0978 100644
--- a/poky/meta/recipes-devtools/unfs3/unfs3_git.bb
+++ b/poky/meta/recipes-devtools/unfs3/unfs3_git.bb
@@ -1,4 +1,7 @@
 SUMMARY = "Userspace NFS server v3 protocol"
+DESCRIPTION = "UNFS3 is a user-space implementation of the NFSv3 server \
+specification. It provides a daemon for the MOUNT and NFS protocols, which \
+are used by NFS clients for accessing files on the server."
 SECTION = "console/network"
 LICENSE = "unfs3"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=9475885294e17c0cc0067820d042792e"
diff --git a/poky/meta/recipes-devtools/vala/vala_0.44.7.bb b/poky/meta/recipes-devtools/vala/vala_0.44.7.bb
deleted file mode 100644
index 807ca7a..0000000
--- a/poky/meta/recipes-devtools/vala/vala_0.44.7.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] = "27fd30535c51af5b87b0e7ffdbd906ef"
-SRC_URI[sha256sum] = "bf1ff4f59d5de2d626e98e98ef81cb75dc1e6a27610a7de4133597c430f1bd7c"
diff --git a/poky/meta/recipes-devtools/vala/vala_0.46.3.bb b/poky/meta/recipes-devtools/vala/vala_0.46.3.bb
new file mode 100644
index 0000000..eda5738
--- /dev/null
+++ b/poky/meta/recipes-devtools/vala/vala_0.46.3.bb
@@ -0,0 +1,8 @@
+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] = "809ddac69b039ef509b61993c848613f"
+SRC_URI[sha256sum] = "e29c2b1f108dc22c91bb501975a77c938aef079ca7875e1fbf41191e22cc57e3"