meta-openembedded: subtree update:64224b92e5..18506b797b

Alistair Francis (3):
      python3-pako: Initial commit of version 0.2.3
      python3-msm: Initial commit of version 0.8.3
      mycroft: Fixup remaining issues

Andreas Müller (11):
      gtkmm3: upgrade 3.24.1 -> 3.24.2
      geany: upgrade 1.34.1 -> 1.36
      geany-plugins: upgrade 1.34 -> 1.36
      libstemmer: initial add 2.0.0
      appstream-glib: initial add 0.7.16
      yelp-xsl: initial add 3.34.0
      yelp-tools: initial add 3.32.2
      yelp: initial add 3.34.0
      glibmm: upgrade 2.60.0 -> 2.62.0
      libsigc++-3: initial add 3.0.0
      libgusb: initial add 0.3.0+

Ankit Navik (1):
      glfw: Initial recipe for glfw

Armin Kuster (1):
      renderdoc: package need opengl

Christophe PRIOUZEAU (91):
      spawn-fcgi: Clarify BSD license variant
      webmin: Clarify BSD license variant
      cyrus-sasl: Clarify BSD license variant
      libnet: Clarify BSD license variant
      openhpi: Clarify BSD license variant
      ptpd: Clarify BSD license variant
      pure-ftpd: Clarify BSD license variant
      corosync: Clarify BSD license variant
      netkit-ftp: Clarify BSD license variant
      netkit-rusers: Clarify BSD license variant
      netkit-rwho: Clarify BSD license variant
      netkit-telnet: Clarify BSD license variant
      freediameter: Clarify BSD license variant
      radiusclient: Clarify BSD license variant
      celt051: Clarify BSD license variant
      libmemcached: Clarify BSD license variant
      spice-protocol: Clarify BSD license variant
      tcpdump: Clarify BSD license variant
      libnet: Clarify BSD license variant
      iperf3: Clarify BSD license variant
      rfkill: Clarify BSD license variant
      postgresql: Clarify BSD license variant
      cscope: Clarify BSD license variant
      mcpp: Clarify BSD license variant
      yasm: Clarify BSD license variant
      cmpi binding: Clarify BSD license variant
      hwloc: Clarify BSD license variant
      liblogging: Clarify BSD license variant
      pmdk: Clarify BSD license variant
      openwsman: Clarify BSD license variant
      redis: Clarify BSD license variant
      scsirastools: Clarify BSD license variant
      libopus: Clarify BSD license variant
      opus-tools: Clarify BSD license variant
      wavpack: Clarify BSD license variant
      libvpx: Clarify BSD license variant
      passwdqc: Clarify BSD license variant
      testfloat: Clarify BSD license variant
      Python: flask-sqlalchemy: Clarify BSD license variant
      Python: meld3: Clarify BSD license variant
      Python: ply: Clarify BSD license variant
      Python: prompt toolkit: Clarify BSD license variant
      Python: pocket sphinx: Clarify BSD license variant
      Python: pysmi: Clarify BSD license variant
      Python: speaklater: Clarify BSD license variant
      Python: wrapt: Clarify BSD license variant
      Python: h5py: Clarify BSD license variant
      Python: xlrd: Clarify BSD license variant
      Python: alembic: Clarify BSD license variant
      Python: feed formatter: Clarify BSD license variant
      Python: decorator: Clarify BSD license variant
      Python: flask babel: Clarify BSD license variant
      Python: falsk mail: Clarify BSD license variant
      Python: isodate: Clarify BSD license variant
      Python: passlib: Clarify BSD license variant
      Python: pynetlinux: Clarify BSD license variant
      Python: webcolors: Clarify BSD license variant
      Python: werkzeug: Clarify BSD license variant
      Python: evdev: Clarify BSD license variant
      Python: netaddr: Clarify BSD license variant
      Python: pretend: Clarify BSD license variant
      Python: prettytable: Clarify BSD license variant
      Python: pysocks: Clarify BSD license variant
      Python: rdflib: Clarify BSD license variant
      Python: wtforms: Clarify BSD license variant
      Python: supervisor: Clarify BSD license variant
      Python: pysnmp: Clarify BSD license variant
      Python: flask pymongo: Clarify BSD license variant
      Python: flask xstatic: Clarify BSD license variant
      Python: lazy object proxy: Clarify BSD license variant
      Python: whoosh: Clarify BSD license variant
      Python: pyserial: Clarify BSD license variant
      Python: pika: Clarify BSD license variant
      Python: flask: Clarify BSD license variant
      Python: flask wtf: Clarify BSD license variant
      Python: click: Clarify BSD license variant
      Python: babel: Clarify BSD license variant
      Python: flask user: Clarify BSD license variant
      Python: jsonpointer: Clarify BSD license variant
      Python: xxhash: Clarify BSD license variant
      Python: markdown: Clarify BSD license variant
      Python: dnspython: Clarify BSD license variant
      Python: flask bcrypt: Clarify BSD license variant
      Python: jsonpatch: Clarify BSD license variant
      Python: ndg httpsclient: Clarify BSD license variant
      Python: flask scrypt: Clarify BSD license variant
      Python: oauthlib: Clarify BSD license variant
      Python: psutil: Clarify BSD license variant
      Python: pyhamcrest: Clarify BSD license variant
      Python: pyusb: Clarify BSD license variant
      Python: ujson: Clarify BSD license variant

David Roman (1):
      nlohmann-json: upgrade 3.3.0 -> 3.7.0

Diego Rondini (1):
      ttf-roboto: add recipe

Hongxu Jia (2):
      postfix: split /etc from ${PN} to ${PN}-cfg for ostree
      postfix.inc: make deterministic build

Kai Kang (1):
      blueman: fix fail to enable bluetooth issue

Khem Raj (8):
      open-vm-tools: Upgrade to 11.0.1
      libftdi: Add target deps for python bindings
      mraa: Define PYTHON_LIBRARY and PYTHON_INCLUDE_DIR
      upm: Define PYTHON_INCLUDE_DIR and PYTHON_LIBRARY for cmake
      python3-astor: Upgrade to 0.8
      python3-astor: Fix build with setuptools>=41.4
      libiio: Inherit distutils3-base for packaging python files
      open-vm-tools: Fix build by removing deprecated G_INLINE_FUNC

Michal Lower (1):
      update python setuptools-scm from 2.1.0 to 3.3.3

Paolo Valente (1):
      s-suite: push SRCREV to version 3.6

Richard Purdie (1):
      dconf: Fix build with meson 0.52

Tanu Kaskinen (1):
      pavucontrol: polish the recipe

Trevor Gamblin (1):
      freeradius: fix PIDFile path in radiusd.service file

Zang Ruochen (18):
      ltrace:Bug fix for data type length judgment
      python-ipaddress: upgrade 1.0.22 -> 1.0.23
      python-cryptography: upgrade 2.7 -> 2.8
      python-cryptography-vectors: upgrade 2.7 -> 2.8
      python-automat: upgrade 0.7.0 -> 0.8.0
      python-asn1crypto: upgrade 1.0.1 -> 1.2.0
      python-attrs: upgrade 19.2.0 -> 19.3.0
      python-cffi: upgrade 1.13.0 -> 1.13.1
      python-cmd2: upgrade 0.9.18 -> 0.9.19
      python-pip: upgrade 19.3 -> 19.3.1
      python-pyro4: upgrade 4.73 -> 4.77
      python-pytun: upgrade 2.2.1 -> 2.3.0
      python-astroid: upgrade 1.6.5 -> 2.3.2
      python-aws-iot-device-sdk-python: upgrade 1.4.0 -> 1.4.7
      python-backports-ssl: upgrade 3.5.0.1 -> 3.7.0.1
      python-bcrypt: upgrade 3.1.4 -> 3.1.7
      snort: upgrade 2.9.14.1 -> 2.9.15
      wolfssl: upgrade 4.1.0 -> 4.2.0

Zheng Ruoqin (9):
      byacc: upgrade 20180510 -> 20190617
      drbd-utils: upgrade 9.10.0 -> 9.11.0
      hwdata: upgrade 327 -> 328
      multipath-tools: upgrade 0.8.2 -> 0.8.3
      owfs: upgrade 3.2p2 -> 3.2p3
      simple-mtpfs: upgrade to 0.3.0.
      fuse3: upgrade 3.6.2 -> 3.7.0
      f2fs-tools: upgrade 1.11.0 -> 1.13.0
      xorriso: upgrade 1.4.0 -> 1.5.0

nick83ola (2):
      python3-pyconnman: fix import issues with python3
      python3-dbus-next: first commit of dbus-next 0.1.2

Change-Id: I6d500f726de3c5369b19c73e6ca7dc92aaf192d8
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch b/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch
new file mode 100644
index 0000000..e4d52a8
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch
@@ -0,0 +1,25 @@
+From dfeadd4eb43e829aafb0d10f611fa22ae81bfca4 Mon Sep 17 00:00:00 2001
+From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+Date: Sun, 20 Oct 2019 17:00:45 +0900
+Subject: [PATCH] Add build rule for README.
+
+fix do_configure error:
+Makefile.am: required file `./README' not found
+
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index e0c4ad6..0449321 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -35,3 +35,4 @@ rpmcvs: preparerpm
+ 	@LN_S@ -f `pwd`/@PACKAGE@-@VERSION@.tar.gz ${RPMDIR}/SOURCES/@PACKAGE@-@VERSION@_cvs_`date +"%Y%m%d"`.tar.gz
+ 	cd ${RPMDIR}/SPECS && @RPMBUILD@ -ba @PACKAGE@.spec --define 'cvs 1'
+ 
++README: README.md
+-- 
+2.7.4
+
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-include-sys-sysmacros.h-for-major.patch b/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-include-sys-sysmacros.h-for-major.patch
deleted file mode 100644
index 0a990ac..0000000
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/0001-include-sys-sysmacros.h-for-major.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From dd1af7541f18399bcdcb129a8b6618c18ebd9d63 Mon Sep 17 00:00:00 2001
-From: Tomasz Torcz <tomek@pipebreaker.pl>
-Date: Sat, 17 Mar 2018 12:56:04 +0100
-Subject: [PATCH] include <sys/sysmacros.h> for major()
-
-  Linux glibc ceased to include it in sys/types.h:
-https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac                  | 2 +-
- module/owlib/src/include/ow.h | 6 +++++-
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 86751bf7..d625d3f0 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -180,7 +180,7 @@ m4_include([src/scripts/m4/acx_pthread.m4])
- # Checks for header files.
- AC_HEADER_DIRENT
- AC_HEADER_STDC
--AC_CHECK_HEADERS([asm/types.h arpa/inet.h sys/ioctl.h sys/mkdev.h sys/socket.h sys/time.h sys/times.h sys/types.h sys/param.h sys/uio.h feature_tests.h fcntl.h netinet/in.h stdlib.h string.h strings.h sys/file.h syslog.h termios.h unistd.h limits.h stdint.h features.h getopt.h resolv.h semaphore.h])
-+AC_CHECK_HEADERS([asm/types.h arpa/inet.h sys/ioctl.h sys/mkdev.h sys/socket.h sys/sysmacros.h sys/time.h sys/times.h sys/types.h sys/param.h sys/uio.h feature_tests.h fcntl.h netinet/in.h stdlib.h string.h strings.h sys/file.h syslog.h termios.h unistd.h limits.h stdint.h features.h getopt.h resolv.h semaphore.h])
- AC_CHECK_HEADERS([linux/limits.h linux/types.h netdb.h dlfcn.h])
- AC_CHECK_HEADERS(sys/event.h sys/inotify.h)
- 
-diff --git a/module/owlib/src/include/ow.h b/module/owlib/src/include/ow.h
-index 9dbec5f3..0a310552 100644
---- a/module/owlib/src/include/ow.h
-+++ b/module/owlib/src/include/ow.h
-@@ -188,8 +188,12 @@
- #include <netdb.h>				/* for getaddrinfo */
- #endif							/* HAVE_NETDB_H */
- 
-+#ifdef HAVE_SYS_SYSMACROS_H
-+#include <sys/sysmacros.h>			/* for major() */
-+#endif							/* HAVE_SYS_SYSMACROS_H */
-+
- #ifdef HAVE_SYS_MKDEV_H
--#include <sys/mkdev.h>			/* for major() */
-+#include <sys/mkdev.h>			/* for major() on Solaris */
- #endif							/* HAVE_SYS_MKDEV_H */
- 
- #include <stddef.h> // for offsetof()
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb
similarity index 91%
rename from meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb
rename to meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb
index 857aaf2..4140844 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb
@@ -4,16 +4,16 @@
 SECTION = "console/network"
 
 LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=12a64df1cc87275e940cab05ee75c37d \
-                    file://COPYING.LIB;md5=16ff3ffebed582e19ea7a4f48ec77b42"
+LIC_FILES_CHKSUM = "file://COPYING;md5=628b867016631792781a8735a04760e5 \
+                    file://COPYING.LIB;md5=9021b7435efdd9fb22beef8291134099"
 
 DEPENDS = "fuse virtual/libusb0"
-# v3.2p2
-SRCREV = "93c1f36d9ac481075287da331d5184f590f8c0fa"
+# v3.2p3
+SRCREV = "3744375dfaa350e31c9b360eb1e1a517bbeb5c47"
 SRC_URI = "git://github.com/owfs/owfs \
+           file://0001-Add-build-rule-for-README.patch \
            file://owhttpd \
            file://owserver \
-           file://0001-include-sys-sysmacros.h-for-major.patch \
            "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb
index f85977f..595b349 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb
@@ -7,7 +7,8 @@
 
 inherit autotools pkgconfig
 
+# 0.3.0
 SRC_URI = "git://github.com/phatina/simple-mtpfs.git;protocol=https;branch=master"
-SRCREV = "a7ab64c7e4d7aca155cbc7ce9412aaf68ef6e404"
+SRCREV = "c9a691fc52fafaa55d26ac629856153c0514015a"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.6.2.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.7.0.bb
similarity index 91%
rename from meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.6.2.bb
rename to meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.7.0.bb
index e65eb08..f0cbf12 100644
--- a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.6.2.bb
+++ b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.7.0.bb
@@ -13,8 +13,8 @@
 
 SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \
 "
-SRC_URI[md5sum] = "1798945aa69434286723b9999a141c7a"
-SRC_URI[sha256sum] = "f45869427575e1e59ab743a67deb57addbf2cb8f9ce431199dbd40ddab71f281"
+SRC_URI[md5sum] = "b9e6558aa25f66c0f1a95d1c7455b944"
+SRC_URI[sha256sum] = "3aea4766da5e2751aba82e8f77047d5d3c412bc3c298e4ec9532e59d7bd73a7a"
 
 S = "${WORKDIR}/fuse-${PV}"
 
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch b/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch
deleted file mode 100644
index cf844bf..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 3b3c6e6376babcd9a0b0db312b0e1e3bb3ab833e Mon Sep 17 00:00:00 2001
-From: Sven Ebenfeld <sven.ebenfeld@vaillant.de>
-Date: Wed, 26 Nov 2014 10:36:44 +0100
-Subject: [PATCH] Remove AC_CHECK_FILE for cross compilation
-
----
- configure.ac | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 0111e72..8c286d4 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -20,14 +20,9 @@ AC_DEFINE([F2FS_MINOR_VERSION], m4_bpatsubst(f2fs_tools_version,
- 				[\([0-9]*\).\([0-9]*\)\(\w\|\W\)*], [\2]),
- 				[Minor version for f2fs-tools])
- 
--AC_CHECK_FILE(.git,
--	AC_DEFINE([F2FS_TOOLS_DATE],
--		"m4_bpatsubst(f2fs_tools_gitdate,
--		[\([0-9-]*\)\(\w\|\W\)*], [\1])",
--		[f2fs-tools date based on Git commits]),
- 	AC_DEFINE([F2FS_TOOLS_DATE],
- 		"f2fs_tools_date",
--		[f2fs-tools date based on Source releases]))
-+		[f2fs-tools date based on Source releases])
- 
- AC_CONFIG_SRCDIR([config.h.in])
- AC_CONFIG_HEADER([config.h])
--- 
-1.8.1.rc3
-
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.11.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.13.0.bb
similarity index 78%
rename from meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.11.0.bb
rename to meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.13.0.bb
index 2240049..870281b 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.11.0.bb
+++ b/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.13.0.bb
@@ -7,10 +7,9 @@
 # to provide libuuid
 DEPENDS = "util-linux"
 
-# v1.11.0
-SRCREV = "b98fab3666e498c2e27ad9dcda6874c9b683f06b"
+# v1.13.0
+SRCREV = "284f77f0075a16a2ad1f3b0fb89b7f64a1bc755d"
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git \
-           file://0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch \
            file://0001-f2fs-tools-Use-srcdir-prefix-to-denote-include-path.patch \
            "
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.4.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.0.bb
similarity index 86%
rename from meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.4.0.bb
rename to meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.0.bb
index b26709e..1c743ef 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.4.0.bb
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.0.bb
@@ -7,8 +7,8 @@
 
 SRC_URI = "http://www.gnu.org/software/${BPN}/${BPN}-${PV}.tar.gz"
 
-SRC_URI[md5sum] = "ec79fd2736b8da76e7a870e27cadf6fa"
-SRC_URI[sha256sum] = "0bd1e085015b28c24f57697d6def2fe84517967dc417554c0c3ccf1685ed0e56"
+SRC_URI[md5sum] = "e5fbae9ada52730fbe248ab9a88e7127"
+SRC_URI[sha256sum] = "a93fa7ae5bb1902198cddfec25201388156932f36f2f5da829bf4fcae9a6062b"
 
 PACKAGECONFIG ??= "acl attr zlib bzip2 readline"
 PACKAGECONFIG[acl] = "--enable-libacl,--disable-libacl,acl,"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf/fix-meson-0.52.patch b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf/fix-meson-0.52.patch
new file mode 100644
index 0000000..485c465
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf/fix-meson-0.52.patch
@@ -0,0 +1,25 @@
+With meson 0.52 the build fails due to duplicate symbols. There is a fix
+to meson but the dconf build also needs tweaking.
+
+https://gitlab.gnome.org/GNOME/dconf/issues/59
+https://github.com/mesonbuild/meson/pull/5936
+
+Despite the comments there about this being incorrect, libdconf is unchanged
+between 0.51 and 0.52 and this patch.
+
+Upstream-Status: Pending [under discussion, see above links]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: dconf-0.34.0/client/meson.build
+===================================================================
+--- dconf-0.34.0.orig/client/meson.build
++++ dconf-0.34.0/client/meson.build
+@@ -28,7 +28,7 @@ libdconf_client = static_library(
+ 
+ libdconf_client_dep = declare_dependency(
+   dependencies: gio_dep,
+-  link_whole: libdconf_client,
++  link_with: libdconf_client,
+ )
+ 
+ libdconf = shared_library(
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.34.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.34.0.bb
index a1996a1..ef54943 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.34.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.34.0.bb
@@ -12,6 +12,8 @@
 
 inherit gnomebase bash-completion vala
 
+SRC_URI += "file://fix-meson-0.52.patch"
+
 # I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
 EXTRA_OEMESON = "-Dman=false"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-tools_3.32.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-tools_3.32.2.bb
new file mode 100644
index 0000000..6a6397c
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-tools_3.32.2.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Collection of scripts and build utilities for documentation"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=d67c6f9f1515506abfea4f0d920c0774 \
+    file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \
+"
+
+inherit gnomebase
+
+DEPENDS += " \
+    libxslt-native \
+    libxml2-native \
+    itstool-native \
+    yelp-xsl \
+"
+
+SRC_URI[archive.md5sum] = "7856f9ad0492aaf9adf097f5058bfc2e"
+SRC_URI[archive.sha256sum] = "183856b5ed0b0bb2c05dd1204af023946ed436943e35e789afb0295e5e71e8f9"
+
+RDEPENDS_${PN} += "yelp-xsl"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.0.bb
new file mode 100644
index 0000000..1799441
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_3.34.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "XSL stylesheets for the yelp help browser"
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=3e2bad3c5e3990988f9fa1bc5785b147 \
+    file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \
+    file://COPYING.LGPL;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+"
+
+inherit gnomebase gettext
+
+DEPENDS += "libxml2 itstool-native"
+
+SRC_URI[archive.md5sum] = "f8c4e777aee8b055251c333ef48a0cd0"
+SRC_URI[archive.sha256sum] = "e8063aee67d1df634f3d062f1c28130b2dabb3c0c66396b1af90388f34e14ee2"
+
+RDEPENDS_${PN} += "libxml2 itstool"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_3.34.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_3.34.0.bb
new file mode 100644
index 0000000..13c4e52
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_3.34.0.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Help browser for the GNOME desktop"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = " \
+    file://COPYING;md5=6e1b9cb787e76d7e6946887a65caa754 \
+"
+
+inherit gnomebase autotools-brokensep gsettings gettext gtk-doc
+
+SRC_URI[archive.md5sum] = "776e29bd16424c8712cbf340cfe6429b"
+SRC_URI[archive.sha256sum] = "e3d6527c5963d73206891b32f1f23363164be57de248555513bd0be77a7bd045"
+
+DEPENDS += " \
+    libxml2-native \
+    glib-2.0-native \
+    itstool-native \
+    gtk+3 \
+    appstream-glib \
+    libxslt \
+    sqlite3 \
+    webkitgtk \
+    yelp-xsl \
+"
+
+do_configure_prepend() {
+    export ITSTOOL=${STAGING_BINDIR_NATIVE}/itstool
+}
+
+FILES_${PN} += " \
+    ${datadir}/metainfo \
+    ${datadir}/yelp-xsl \
+"
+
+RDEPENDS_${PN} += "yelp-xsl"
diff --git a/meta-openembedded/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.16.bb b/meta-openembedded/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.16.bb
new file mode 100644
index 0000000..ec3e4a3
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.7.16.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Objects and helper methods to help reading and writing AppStream metadata"
+HOMEPAGE = "https://people.freedesktop.org/~hughsient/appstream-glib/index.htm"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = " \
+    gperf-native \
+    glib-2.0 \
+    gtk+3 \
+    libyaml \
+    libarchive \
+    libsoup-2.4 \
+    json-glib \
+    gdk-pixbuf \
+    freetype \
+    fontconfig \
+    libstemmer \
+"
+
+inherit meson gobject-introspection gettext bash-completion
+
+SRC_URI = "https://people.freedesktop.org/~hughsient/${BPN}/releases/${BP}.tar.xz"
+SRC_URI[md5sum] = "78306049412396a72746186452abdf66"
+SRC_URI[sha256sum] = "04f290d73bc865071112076b8a3345df2730783a16af976fe3becfd2f50d5992"
+
+EXTRA_OEMESON = " \
+    -Drpm=false \
+"
+
+FILES_${PN} += "${libdir}/asb-plugins-5"
+
+FILES_${PN}-dev += " \
+    ${datadir}/installed-tests \
+    ${datadir}/gettext \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch b/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch
new file mode 100644
index 0000000..73ebeb4
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch
@@ -0,0 +1,63 @@
+From eacc9e9c62a3857ce1e2e24b81fc22d8ae91f422 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Thu, 9 May 2019 22:06:48 +0200
+Subject: [PATCH] Build so-lib
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Stolen from [1]
+
+[1] https://aur.archlinux.org/cgit/aur.git/commit/dynamiclib.patch?h=snowball-git&id=a9cbf4f42f3661e4b8f791cd4374233821716ea1
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ GNUmakefile           | 7 +++++--
+ libstemmer/symbol.map | 6 ++++++
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+ create mode 100644 libstemmer/symbol.map
+
+diff --git a/GNUmakefile b/GNUmakefile
+index cbd6ff7..a85230b 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -142,10 +142,10 @@ C_OTHER_OBJECTS = $(C_OTHER_SOURCES:.c=.o)
+ JAVA_CLASSES = $(JAVA_SOURCES:.java=.class)
+ JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURCES:.java=.class)
+ 
+-CFLAGS=-O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations
++CFLAGS=-O2 -fPIC -W -Wall -Wmissing-prototypes -Wmissing-declarations
+ CPPFLAGS=-Iinclude
+ 
+-all: snowball libstemmer.o stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
++all: snowball libstemmer.o libstemmer.so stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
+ 
+ clean:
+ 	rm -f $(COMPILER_OBJECTS) $(RUNTIME_OBJECTS) \
+@@ -192,6 +192,9 @@ libstemmer/libstemmer.o: libstemmer/modules.h $(C_LIB_HEADERS)
+ libstemmer.o: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
+ 	$(AR) -cru $@ $^
+ 
++libstemmer.so: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
++	$(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,libstemmer.so.0,-version-script,libstemmer/symbol.map -o $@.0.0.0 $^
++
+ stemwords: $(STEMWORDS_OBJECTS) libstemmer.o
+ 	$(CC) $(CFLAGS) -o $@ $^
+ 
+diff --git a/libstemmer/symbol.map b/libstemmer/symbol.map
+new file mode 100644
+index 0000000..7a3d423
+--- /dev/null
++++ b/libstemmer/symbol.map
+@@ -0,0 +1,6 @@
++SB_STEMMER_0 {
++    global:
++        sb_stemmer_*;
++    local:
++        *;
++};
+-- 
+2.20.1
+
diff --git a/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0002-snowball-stemwords-do-link-with-LDFLAGS-set-by-build.patch b/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0002-snowball-stemwords-do-link-with-LDFLAGS-set-by-build.patch
new file mode 100644
index 0000000..69c1d67
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0002-snowball-stemwords-do-link-with-LDFLAGS-set-by-build.patch
@@ -0,0 +1,46 @@
+From 23eacfbcc10c777ce47283a5285455ec83c8aa41 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sun, 6 Oct 2019 13:05:08 +0200
+Subject: [PATCH] snowball/stemwords: do link with LDFLAGS set by build
+ environment
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Some (cross-)build systems as OpeneEmbedded are picky (for certain reasons) if
+their LDFLAGS are ignored.
+
+Upstream-Status: Submitted [1]
+
+[1] https://github.com/snowballstem/snowball/pull/120
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ GNUmakefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/GNUmakefile b/GNUmakefile
+index 76f6ae9..47c6077 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -179,7 +179,7 @@ clean:
+ 	-rmdir $(js_output_dir)
+ 
+ snowball: $(COMPILER_OBJECTS)
+-	$(CC) $(CFLAGS) -o $@ $^
++	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
+ 
+ $(COMPILER_OBJECTS): $(COMPILER_HEADERS)
+ 
+@@ -204,7 +204,7 @@ libstemmer.so: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
+ 	$(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,libstemmer.so.0,-version-script,libstemmer/symbol.map -o $@.0.0.0 $^
+ 
+ stemwords: $(STEMWORDS_OBJECTS) libstemmer.o
+-	$(CC) $(CFLAGS) -o $@ $^
++	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
+ 
+ csharp_stemwords: $(CSHARP_STEMWORDS_SOURCES) $(CSHARP_RUNTIME_SOURCES) $(CSHARP_SOURCES)
+ 	$(MCS) -unsafe -target:exe -out:$@ $(CSHARP_STEMWORDS_SOURCES) $(CSHARP_RUNTIME_SOURCES) $(CSHARP_SOURCES)
+-- 
+2.21.0
+
diff --git a/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer_git.bb b/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer_git.bb
new file mode 100644
index 0000000..96dd880
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer_git.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Snowball compiler and stemming algorithms"
+HOMEPAGE = "https://snowballstem.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2750797da77c1d784e7626b3f7d7ff3e"
+
+DEPENDS_class-target = "${BPN}-native"
+
+SRC_URI = "\
+    git://github.com/snowballstem/snowball.git \
+    file://0001-Build-so-lib.patch \
+    file://0002-snowball-stemwords-do-link-with-LDFLAGS-set-by-build.patch \
+"
+SRCREV = "c70ed64f9d41c1032fba4e962b054f8e9d489a74"
+S = "${WORKDIR}/git"
+PV = "2.0.0"
+LIBVER = "0.0.0"
+
+inherit lib_package
+
+BBCLASSEXTEND = "native"
+
+do_compile_prepend_class-target() {
+    # use native tools
+    sed -i 's:./snowball :snowball :g' ${S}/GNUmakefile
+}
+
+do_install() {
+    install -d ${D}${bindir}
+    install -m 755 ${S}/snowball ${D}${bindir}
+    install -m 755 ${S}/stemwords ${D}${bindir}
+
+    install -d ${D}${libdir}
+    install -m 755 ${S}/libstemmer.so.${LIBVER} ${D}${libdir}/
+    ln -s libstemmer.so.${LIBVER} ${D}${libdir}/libstemmer.so.0
+    ln -s libstemmer.so.${LIBVER} ${D}${libdir}/libstemmer.so
+
+    install -d ${D}${includedir}
+	install -m 644 ${S}/include/*.h ${D}${includedir}
+}
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0001-Remove-python-venv.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0001-Remove-python-venv.patch
index 43994e0..245785c 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0001-Remove-python-venv.patch
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0001-Remove-python-venv.patch
@@ -1,7 +1,7 @@
 From 07fce2101d83b5334de78e661ba0361c2874ebdf Mon Sep 17 00:00:00 2001
 From: Alistair Francis <alistair.francis@wdc.com>
 Date: Mon, 18 Mar 2019 16:30:45 -0700
-Subject: [PATCH 1/5] Remove python venv
+Subject: [PATCH 1/7] Remove python venv
 
 Remove the python venv requirements and instead just use the native
 python and pip pacakges.
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0002-dev_setup.sh-Remove-the-git-dependency.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0002-dev_setup.sh-Remove-the-git-dependency.patch
index dd2431f..637854f 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0002-dev_setup.sh-Remove-the-git-dependency.patch
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0002-dev_setup.sh-Remove-the-git-dependency.patch
@@ -1,7 +1,7 @@
 From 88696037af52d6a7f57bc0fb82598de1a25365cc Mon Sep 17 00:00:00 2001
 From: Alistair Francis <alistair.francis@wdc.com>
 Date: Fri, 29 Mar 2019 16:09:57 -0700
-Subject: [PATCH 2/5] dev_setup.sh: Remove the git dependency
+Subject: [PATCH 2/7] dev_setup.sh: Remove the git dependency
 
 Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
 Upstream-Status: Inappropriate [embedded specific]
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0003-dev_setup.sh-Remove-the-TERM-dependency.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0003-dev_setup.sh-Remove-the-TERM-dependency.patch
index a4290d1..d803f52 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0003-dev_setup.sh-Remove-the-TERM-dependency.patch
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0003-dev_setup.sh-Remove-the-TERM-dependency.patch
@@ -1,9 +1,10 @@
 From 5ef52cdea278a1dff966a912549cb6708f2cb699 Mon Sep 17 00:00:00 2001
 From: Alistair Francis <alistair.francis@wdc.com>
 Date: Tue, 17 Sep 2019 11:31:47 -0700
-Subject: [PATCH 3/5] dev_setup.sh: Remove the TERM dependency
+Subject: [PATCH 3/7] dev_setup.sh: Remove the TERM dependency
 
 Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Inappropriate [embedded specific]
 ---
  dev_setup.sh | 12 ------------
  1 file changed, 12 deletions(-)
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0004-dev_setup.sh-Ignore-missing-package-manager.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0004-dev_setup.sh-Ignore-missing-package-manager.patch
new file mode 100644
index 0000000..d2dc179
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0004-dev_setup.sh-Ignore-missing-package-manager.patch
@@ -0,0 +1,31 @@
+From e3b6ca995caca22e65d012a54bc2aeb08eb7e9d4 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Tue, 15 Oct 2019 17:09:06 -0700
+Subject: [PATCH 4/7] dev_setup.sh: Ignore missing package manager
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Inappropriate [embedded specific]
+---
+ dev_setup.sh | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/dev_setup.sh b/dev_setup.sh
+index 72f734f36bf..0c8e11b8170 100755
+--- a/dev_setup.sh
++++ b/dev_setup.sh
+@@ -317,12 +317,6 @@ Please review the following package changes carefully."
+         echo -e "${YELLOW}Could not find package manager
+ ${YELLOW}Make sure to manually install:$BLUE git python3 python-setuptools python-venv pygobject libtool libffi libjpg openssl autoconf bison swig glib2.0 portaudio19 mpg123 flac curl fann g++ jq\n$RESET"
+ 
+-        echo 'Warning: Failed to install all dependencies. Continue? y/N'
+-        read -n1 continue
+-        if [[ $continue != 'y' ]] ; then
+-            exit 1
+-        fi
+-
+     fi
+ }
+ 
+-- 
+2.23.0
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0004-pip-requirements-Don-t-install-requirements-with-pip.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0005-pip-requirements-Don-t-install-requirements-with-pip.patch
similarity index 90%
rename from meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0004-pip-requirements-Don-t-install-requirements-with-pip.patch
rename to meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0005-pip-requirements-Don-t-install-requirements-with-pip.patch
index 3063e7f..7f63ea1 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0004-pip-requirements-Don-t-install-requirements-with-pip.patch
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0005-pip-requirements-Don-t-install-requirements-with-pip.patch
@@ -1,7 +1,7 @@
-From ac749f2512e8d121e8a64a8d5e6f226f16735dda Mon Sep 17 00:00:00 2001
+From 04b14c4569309f1a433d955773aeb8a3607a1360 Mon Sep 17 00:00:00 2001
 From: Alistair Francis <alistair.francis@wdc.com>
 Date: Tue, 19 Mar 2019 13:32:54 -0700
-Subject: [PATCH 4/5] pip requirements: Don't install requirements with pip
+Subject: [PATCH 5/7] pip requirements: Don't install requirements with pip
 
 Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
 Upstream-Status: Inappropriate [embedded specific]
@@ -14,10 +14,10 @@
  delete mode 100644 test-requirements.txt
 
 diff --git a/dev_setup.sh b/dev_setup.sh
-index 72f734f36bf..b5ca6851631 100755
+index 0c8e11b8170..be4a19de0c3 100755
 --- a/dev_setup.sh
 +++ b/dev_setup.sh
-@@ -357,19 +357,6 @@ fi
+@@ -351,19 +351,6 @@ fi
  
  PYTHON=$(python -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
  
@@ -37,7 +37,7 @@
  SYSMEM=$(free | awk '/^Mem:/ { print $2 }')
  MAXCORES=$(($SYSMEM / 512000))
  MINCORES=1
-@@ -426,4 +413,4 @@ if [[ ! -w /var/log/mycroft/ ]] ; then
+@@ -420,4 +407,4 @@ if [[ ! -w /var/log/mycroft/ ]] ; then
  fi
  
  #Store a fingerprint of setup
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0005-Use-python3-and-pip3-instead-of-python-and-pip.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0006-Use-python3-and-pip3-instead-of-python-and-pip.patch
similarity index 95%
rename from meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0005-Use-python3-and-pip3-instead-of-python-and-pip.patch
rename to meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0006-Use-python3-and-pip3-instead-of-python-and-pip.patch
index 189b686..6f1f6f7 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0005-Use-python3-and-pip3-instead-of-python-and-pip.patch
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0006-Use-python3-and-pip3-instead-of-python-and-pip.patch
@@ -1,7 +1,7 @@
-From 9a0bd09706da3949db17ea7272d6647a487bb6ad Mon Sep 17 00:00:00 2001
+From 86a1d18d96f827baa0c1029c85a53fc89d436e17 Mon Sep 17 00:00:00 2001
 From: Alistair Francis <alistair.francis@wdc.com>
 Date: Tue, 19 Mar 2019 13:38:44 -0700
-Subject: [PATCH 5/5] Use python3 and pip3 instead of python and pip
+Subject: [PATCH 6/7] Use python3 and pip3 instead of python and pip
 
 Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
 Upstream-Status: Inappropriate [embedded specific]
@@ -73,7 +73,7 @@
 -output=$(python -m mycroft.messagebus.send "speak"  "{\"utterance\": \"$data\"}")
 +output=$(python3 -m mycroft.messagebus.send "speak"  "{\"utterance\": \"$data\"}")
 diff --git a/dev_setup.sh b/dev_setup.sh
-index b5ca6851631..fcd0834669f 100755
+index be4a19de0c3..2d9e17ddfd6 100755
 --- a/dev_setup.sh
 +++ b/dev_setup.sh
 @@ -48,7 +48,7 @@ param=''
@@ -94,7 +94,7 @@
      fi
  done
  
-@@ -355,7 +355,7 @@ else
+@@ -349,7 +349,7 @@ else
      fi
  fi
  
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0007-mycroft.conf-Use-pocketsphinx-by-default.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0007-mycroft.conf-Use-pocketsphinx-by-default.patch
new file mode 100644
index 0000000..574bda1
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/files/0007-mycroft.conf-Use-pocketsphinx-by-default.patch
@@ -0,0 +1,30 @@
+From b48b3d240cb0fa5e76aa5daf578e51bb8126431d Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Wed, 16 Oct 2019 09:18:39 -0700
+Subject: [PATCH 7/7] mycroft.conf: Use pocketsphinx by default
+
+precise only works on certain architectures, to make Mycroft more
+versitle use pocketsphinx as it is architecture independent.
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Inappropriate [embedded specific]
+---
+ mycroft/configuration/mycroft.conf | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mycroft/configuration/mycroft.conf b/mycroft/configuration/mycroft.conf
+index 1d0be0dcd2b..d2dc75dac44 100644
+--- a/mycroft/configuration/mycroft.conf
++++ b/mycroft/configuration/mycroft.conf
+@@ -196,7 +196,7 @@
+   // Hotword configurations
+   "hotwords": {
+     "hey mycroft": {
+-        "module": "precise",
++        "module": "pocketsphinx",
+         "phonemes": "HH EY . M AY K R AO F T",
+         "threshold": 1e-90,
+         "lang": "en-us"
+-- 
+2.23.0
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb
index d4ac409..3c7bd89 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb
@@ -11,8 +11,10 @@
            file://0001-Remove-python-venv.patch \
            file://0002-dev_setup.sh-Remove-the-git-dependency.patch \
            file://0003-dev_setup.sh-Remove-the-TERM-dependency.patch \
-           file://0004-pip-requirements-Don-t-install-requirements-with-pip.patch \
-           file://0005-Use-python3-and-pip3-instead-of-python-and-pip.patch \
+           file://0004-dev_setup.sh-Ignore-missing-package-manager.patch \
+           file://0005-pip-requirements-Don-t-install-requirements-with-pip.patch \
+           file://0006-Use-python3-and-pip3-instead-of-python-and-pip.patch \
+           file://0007-mycroft.conf-Use-pocketsphinx-by-default.patch \
            file://dev_opts.json \
            file://mycroft-setup.service \
            file://mycroft.service \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch
new file mode 100644
index 0000000..00115cf
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch
@@ -0,0 +1,81 @@
+Fix fail to enable bluetooth issue
+
+When launch blueman-manager while bluetooth is disable, it may fails
+with error:
+
+  Failed to enable bluetooth
+
+Because when get bluetooth status right after change its status, the
+status may not be updated that plugin applet/KillSwitch.py sets the
+bluetooth status via method of another dbus service which doesn't return
+immediately.
+
+Provides a new dbus method for PowerManager which checks whether dbus
+method SetBluetoothStatus() has finished. Then it makes sure to get
+right bluetooth status.
+
+Upstream-Status: Inappropriate
+Send to upstream but not accepted:
+https://github.com/blueman-project/blueman/pull/1121
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ blueman/Functions.py                   | 12 +++++++++++-
+ blueman/plugins/applet/PowerManager.py |  4 ++++
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/blueman/Functions.py b/blueman/Functions.py
+index 3b76271..c5eeb27 100644
+--- a/blueman/Functions.py
++++ b/blueman/Functions.py
+@@ -17,7 +17,7 @@
+ # You should have received a copy of the GNU General Public License
+ # along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ #
+-from time import sleep
++from time import sleep, time
+ import re
+ import os
+ import signal
+@@ -86,6 +86,16 @@ def check_bluetooth_status(message, exitfunc):
+             return
+ 
+     applet.SetBluetoothStatus('(b)', True)
++
++    timeout = time() + 10
++    while applet.GetRequestStatus():
++        sleep(0.1)
++        if time() > timeout:
++            # timeout 5s has been set in applet/PowerManager.py
++            # so it should NOT reach timeout here
++            logging.warning('Should NOT reach timeout.')
++            break
++
+     if not applet.GetBluetoothStatus():
+         print('Failed to enable bluetooth')
+         exitfunc()
+diff --git a/blueman/plugins/applet/PowerManager.py b/blueman/plugins/applet/PowerManager.py
+index 8ec9fc4..29a0fb0 100644
+--- a/blueman/plugins/applet/PowerManager.py
++++ b/blueman/plugins/applet/PowerManager.py
+@@ -48,6 +48,7 @@ class PowerManager(AppletPlugin):
+         self._add_dbus_signal("BluetoothStatusChanged", "b")
+         self._add_dbus_method("SetBluetoothStatus", ("b",), "", self.request_power_state)
+         self._add_dbus_method("GetBluetoothStatus", (), "b", self.get_bluetooth_status)
++        self._add_dbus_method("GetRequestStatus", (), "b", self.get_request_status)
+ 
+     def on_unload(self):
+         self.parent.Plugins.Menu.unregister(self)
+@@ -182,6 +183,9 @@ class PowerManager(AppletPlugin):
+     def get_bluetooth_status(self):
+         return self.current_state
+ 
++    def get_request_status(self):
++        return self.request_in_progress
++
+     def on_adapter_property_changed(self, _path, key, value):
+         if key == "Powered":
+             if value and not self.current_state:
+-- 
+2.20.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb
index 36de2af..96c8bb2 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb
@@ -9,6 +9,7 @@
 SRC_URI = " \
     https://github.com/blueman-project/blueman/releases/download/${PV}/blueman-${PV}.tar.xz \
     file://0001-Search-for-cython3.patch \
+    file://0002-fix-fail-to-enable-bluetooth.patch \
 "
 SRC_URI[md5sum] = "9de89abb31be45bdbf11f7884764a2dc"
 SRC_URI[sha256sum] = "f1eab2334e5a1587defa80900901048d14c2e8ffa8c0cff7240bc9937a61dbc3"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service
index 8dae0df..2d76648 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/radiusd.service
@@ -4,8 +4,8 @@
 
 [Service]
 Type=forking
-PIDFile=@STATEDIR@/run/radiusd/radiusd.pid
-ExecStartPre=-@BASE_BINDIR@/chown -R radiusd.radiusd @STATEDIR@/run/radiusd
+PIDFile=/run/radiusd/radiusd.pid
+ExecStartPre=-@BASE_BINDIR@/chown -R radiusd.radiusd /run/radiusd
 ExecStartPre=@SBINDIR@/radiusd -C
 ExecStart=@SBINDIR@/radiusd -d @SYSCONFDIR@/raddb
 ExecReload=@SBINDIR@/radiusd -C
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb b/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb
index 53ba25e..5b6e45c 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.12.bb
@@ -1,7 +1,7 @@
 SUMMARY = "dumb networking library"
 HOMEPAGE = "http://code.google.com/p/libdnet/"
 SECTION = "libs"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0036c1b155f4e999f3e0a373490b5db9"
 
 SRC_URI = "git://github.com/dugsong/libdnet.git;nobranch=1"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.14.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.15.bb
similarity index 96%
rename from meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.14.1.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.15.bb
index 892fe4d..fbec195 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.14.1.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.15.bb
@@ -16,8 +16,8 @@
     file://0001-chdeck-for-gettid-API-during-configure.patch \
 "
 
-SRC_URI[md5sum] = "009254a9797ec93321c5936b99dcd6c8"
-SRC_URI[sha256sum] = "2472989da3aace000d1ea5931ece68f8e5cc0c511e272d65182113a2481e822d"
+SRC_URI[md5sum] = "b56cadfa840f706ff67d4df0256c03eb"
+SRC_URI[sha256sum] = "bfb437746446ef72a03c501db13cd6da5edd2b41f55c80c437ba288be6da7dba"
 
 UPSTREAM_CHECK_URI = "https://www.snort.org/downloads"
 UPSTREAM_CHECK_REGEX = "snort-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.1.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.2.0.bb
similarity index 93%
rename from meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.1.0.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.2.0.bb
index ae37938..5d8bc9b 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.1.0.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.2.0.bb
@@ -13,7 +13,7 @@
 RPROVIDES_${PN} = "cyassl"
 
 SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https"
-SRCREV = "50fbdb961fd8c2d8123064e567ae8ec44167732d"
+SRCREV = "cb7b4af9861ad627faffdc3d24a196c2d11930b8"
 S = "${WORKDIR}/git"
 
 inherit autotools
diff --git a/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb b/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb
index 594e55d..be7131d 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb
@@ -2,7 +2,7 @@
 SECTION = "libs"
 HOMEPAGE = "http://asg.web.cmu.edu/sasl/"
 DEPENDS = "openssl db groff-native"
-LICENSE = "BSD"
+LICENSE = "BSD-4-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3f55e0974e3d6db00ca6f57f2d206396"
 
 SRCREV = "e41cfb986c1b1935770de554872247453fdbb079"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb b/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb
index b47d59e..e8d19a2 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb
@@ -17,7 +17,7 @@
 
 HOMEPAGE = "http://openhpi.sourceforge.net/Home"
 SECTION = "net"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=e3c772a32386888ccb5ae1c0ba95f1a4"
 
 DEPENDS = "net-snmp libxml2 ncurses openssl glib-2.0 popt e2fsprogs \
diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
index 7781005..64c20d0 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
+++ b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
@@ -202,29 +202,19 @@
 ALTERNATIVE_LINK_NAME[newaliases.1] = "${mandir}/man1/newaliases.1"
 ALTERNATIVE_LINK_NAME[sendmail.1] = "${mandir}/man1/sendmail.1"
 
-PACKAGE_WRITE_DEPS += "postfix-native"
-pkg_postinst_${PN} () {
-    if [ "x$D" = "x" ]; then
-        touch /etc/aliases
-        newaliases
+pkg_postinst_ontarget_${PN}-cfg () {
+    touch /etc/aliases
+    newaliases
 
-        # generate virtual_alias, default is hash
-        touch /etc/postfix/virtual_alias
-        postmap /etc/postfix/virtual_alias
-    else
-        touch $D/etc/aliases
-        # This can fail depending on host setup
-        if ! newaliases -C $D/etc/postfix/main.cf -oA$D/etc/aliases; then
-            $INTERCEPT_DIR/postinst_intercept delay_to_first_boot ${PKG} mlprefix=${MLPREFIX}
-        else
-            touch $D/etc/postfix/virtual_alias
-            postmap -c $D/etc/postfix $D/etc/postfix/virtual_alias
-        fi
-
-    fi
+    # generate virtual_alias, default is hash
+    touch /etc/postfix/virtual_alias
+    postmap /etc/postfix/virtual_alias
 }
 
+PACKAGES =+ "${PN}-cfg"
+RDEPENDS_${PN}_class-target += "${PN}-cfg"
 # Exclude .debug directories from the main package
-FILES_${PN} = "${sysconfdir} ${localstatedir} ${bindir}/* ${sbindir}/* \
+FILES_${PN} = "${localstatedir} ${bindir}/* ${sbindir}/* \
                ${libexecdir}/* ${systemd_unitdir}/*"
+FILES_${PN}-cfg = "${sysconfdir}"
 FILES_${PN}-dbg += "${libexecdir}/postfix/.debug"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb b/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb
index 58625c8..2bd6427 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb
@@ -5,7 +5,7 @@
 time coordination of LAN connected computers."
 HOMEPAGE = "http://sourceforge.net/projects/ptpd"
 SECTION = "net"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://README;md5=0733e1b3788ab2ebbc63bf33a020da1d"
 
 DEPENDS = "libpcap"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.47.bb b/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.47.bb
index 43be44e..e7c530b 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.47.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.47.bb
@@ -2,7 +2,7 @@
 DESCRIPTION = "Pure-FTPd is a free (BSD license), secure, production-quality and standard-conformant FTP server."
 HOMEPAGE = "http://www.pureftpd.org/project/pure-ftpd"
 SECTION = "net"
-LICENSE = "BSD"
+LICENSE = "BSD-0-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=0595b4261a04bc2d27f30b9c90796c1f"
 
 DEPENDS = "libcap virtual/crypt"
diff --git a/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.4.bb b/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.4.bb
index e2ab25b..e5fa16a 100644
--- a/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.4.bb
+++ b/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.4.bb
@@ -16,7 +16,7 @@
 
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+\.(?!99)\d+(\.\d+)+)"
 
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d"
 
 DEPENDS = "groff-native nss libqb"
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb
index 394a69e..65c20c0 100644
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb
+++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb
@@ -1,7 +1,7 @@
 DESCRIPTION = "netkit-ft includes the ftp client."
 SECTION = "net"
 HOMEPAGE="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
-LICENSE = "BSD"
+LICENSE = "BSD-4-Clause"
 
 LIC_FILES_CHKSUM = "file://ftp/ftp.c;beginline=2;endline=3;md5=2d40a75a50d83b8f6317b3f53db72bfa"
 
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb
index ba1ad3f..c39faef 100644
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb
+++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb
@@ -2,7 +2,7 @@
     rusersd - Logged in users server"
 HOMEPAGE = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
 SECTION = "net"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://rusers/rusers.c;beginline=2;endline=3;md5=f4fc634a4ce8c569911196b72b10770e"
 DEPENDS = " tcp-wrappers libtirpc rpcbind rpcsvc-proto rpcsvc-proto-native"
 
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
index 5685f03..60a8d95 100644
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
+++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
@@ -1,7 +1,7 @@
 DESCRIPTION = "netkit-rwho includes, ruptime rwho and rwhod (Daemon to maintain data for rwho/ruptime)"
 HOMEPAGE = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
 SECTION = "net"
-LICENSE = "BSD"
+LICENSE = "BSD-4-Clause"
 LIC_FILES_CHKSUM = "file://rwho/rwho.c;beginline=2;endline=3;md5=5a85f13c0142d72fc378e00f15da5b9e"
 
 SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}.orig.tar.gz;name=archive \
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
index a8d98c9..cf99341 100644
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
+++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
@@ -2,7 +2,7 @@
 HOMEPAGE = "http://www.hcs.harvard.edu/~dholland/computers/netkit.html"
 SECTION = "net"
 DEPENDS = "ncurses"
-LICENSE = "BSD"
+LICENSE = "BSD-4-Clause"
 LIC_FILES_CHKSUM = "file://telnet/telnet.cc;beginline=2;endline=3;md5=780868e7b566313e70cb701560ca95ef"
 
 SRC_URI = "http://ftp.linux.org.uk/pub/linux/Networking/netkit/${BP}.tar.gz \
diff --git a/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb b/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb
index 8e928c9..385b8b3 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb
@@ -28,7 +28,7 @@
 
 S = "${WORKDIR}/${fd_pkgname}-${PV}"
 
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=69bdc1d97648a2d35914563fcbbb361a"
 
 PTEST_PATH = "${libdir}/${fd_pkgname}/ptest"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb b/meta-openembedded/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb
index 780423f..ea37754 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb
@@ -12,7 +12,7 @@
 SRC_URI[md5sum] = "6fb7d4d0aefafaee7385831ac46a8e9c"
 SRC_URI[sha256sum] = "282a9f1355f190efbb06c0d7c4e062eaa652caf342ed3ad361ac595f72f09f14"
 
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause & BSD-2-Clause & HPND"
 LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3e47566c9271b786693d8a08792dbf41"
 
 inherit autotools-brokensep
diff --git a/meta-openembedded/meta-networking/recipes-support/celt051/celt051_git.bb b/meta-openembedded/meta-networking/recipes-support/celt051/celt051_git.bb
index 1168005..12b9124 100644
--- a/meta-openembedded/meta-networking/recipes-support/celt051/celt051_git.bb
+++ b/meta-openembedded/meta-networking/recipes-support/celt051/celt051_git.bb
@@ -9,7 +9,7 @@
 on the signal, even less than is typical for speech centric formats \
 like Speex, GSM, or G.729."
 
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=375f60ab360d17f0172737036ff155b2"
 
 PV = "0.5.1.3+git${SRCPV}"
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.10.0.bb b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.11.0.bb
similarity index 93%
rename from meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.10.0.bb
rename to meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.11.0.bb
index 0e14ae7..286b0f6 100644
--- a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.10.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.11.0.bb
@@ -12,9 +12,9 @@
            git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=git/drbd-headers \
            ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \
           "
-# v9.10.0
-SRCREV_drbd-utils = "859151b228d3b3aacefb09d06d515a2589c22e35"
-SRCREV_drbd-headers = "0955b3423f08f8e11ff05092bc1b766609fd804b"
+# v9.11.0
+SRCREV_drbd-utils = "63092751e76e1fba397e53df4be5c1161b83a223"
+SRCREV_drbd-headers = "d100ee01bf5aa8d5220767e4e35c4224faa8d865"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc b/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc
index e86f832..d9a821d 100644
--- a/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc
+++ b/meta-openembedded/meta-networking/recipes-support/libmemcached/libmemcached.inc
@@ -1,7 +1,7 @@
 DESCRIPTION = "open source C/C++ client library and tools for the memcached server"
 DEPENDS = "libevent util-linux"
 SECTION = "libdevel"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=865490941c91ba790f0ea78dec93bd60"
 
 SRC_URI = "http://launchpad.net/libmemcached/1.0/${PV}/+download/libmemcached-${PV}.tar.gz"
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb
index be9dba3..966ca41 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_git.bb
@@ -10,7 +10,7 @@
 anywhere on the Internet and using a wide variety of machine \
 architectures."
 
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b37311cb5604f3e5cc2fb0fd23527e95"
 
 PV = "0.14.0+git${SRCPV}"
diff --git a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.3.bb b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.3.bb
index 3cd12ae..05fc99b 100644
--- a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.3.bb
+++ b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.3.bb
@@ -1,7 +1,7 @@
 SUMMARY = "A sophisticated network protocol analyzer"
 HOMEPAGE = "http://www.tcpdump.org/"
 SECTION = "net"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1d4b0366557951c84a94fabe3529f867"
 
 DEPENDS = "libpcap"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb
index d5296d7..98d2faa 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb
@@ -8,7 +8,7 @@
 SECTION = "console/network"
 BUGTRACKER = "https://github.com/esnet/iperf/issues"
 AUTHOR = "ESNET <info@es.net>, Lawrence Berkeley National Laboratory <websupport@lbl.gov>"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f9088fe7ffdccd042f7645f1012d7f70"
 
 DEPENDS = "openssl"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
index 8c49b46..71483d8 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
@@ -2,8 +2,8 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b529aaa6a0c50f15d29f89609b5c22f3"
 
-SRCREV = "3b9eef2259a70f412ab02fbe6b3a4d313d09c38a"
-PV = "3.5"
+SRCREV = "f97f1ae321d1fb8111a2c638075702ed2512ff07"
+PV = "3.6"
 SRC_URI = "git://github.com/Algodev-github/S.git;protocol=https;branch=master"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb b/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
index c991344..785abf6 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
@@ -2,7 +2,7 @@
 # libnet at packetfactory.net is dead
 HOMEPAGE = "https://github.com/sam-github/libnet"
 SECTION = "libs"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://doc/COPYING;md5=3ec839e00408b484d33b472a86b7c266"
 DEPENDS = "libpcap"
 # There are major API changes beween libnet v1.0 and libnet v1.1
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb b/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb
index 3e64476..5c19e65 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Radio enable/disable command line utility"
 HOMEPAGE = "http://linuxwireless.org/en/users/Documentation/rfkill"
 SECTION = "base"
-LICENSE = "BSD"
+LICENSE = "BSD-0-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c6036d0eb7edbfced28c4160e5d3fa94"
 
 SRC_URI = "http://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.bz2 \
diff --git a/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb b/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb
new file mode 100644
index 0000000..e3853a2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb
@@ -0,0 +1,22 @@
+SUMMARY  = "A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input"
+HOMEPAGE = "https://www.glfw.org/"
+DESCRIPTION = "GLFW is an Open Source, multi-platform library for OpenGL, \
+OpenGL ES and Vulkan application development. It provides a simple, \
+platform-independent API for creating windows, contexts and surfaces, reading \
+input, handling events, etc."
+LICENSE  = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=98d93d1ddc537f9b9ea6def64e046b5f"
+SECTION = "lib"
+
+inherit pkgconfig cmake
+
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/glfw/glfw.git"
+SRCREV = "d25248343e248337284dfbe5ecd1eddbd37ae66d"
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON"
+
+DEPENDS = "libpng libglu zlib libxrandr libxinerama libxi libxcursor"
+REQUIRED_DISTRO_FEATURES = "x11"
+
+COMPATIBLE_HOST_libc-musl = "null"
diff --git a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.60.0.bb b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.62.0.bb
similarity index 87%
rename from meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.60.0.bb
rename to meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.62.0.bb
index 7163212..75eea4e 100644
--- a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.60.0.bb
+++ b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.62.0.bb
@@ -13,8 +13,8 @@
 SRC_URI += " \
     file://remove-examples.patch \
 "
-SRC_URI[archive.md5sum] = "0f6180d185c067bdb2aa30d035f9b867"
-SRC_URI[archive.sha256sum] = "a3a1b1c9805479a16c0018acd84b3bfff23a122aee9e3c5013bb81231aeef2bc"
+SRC_URI[archive.md5sum] = "7da228e3f0c6a10024b9a7708c53691e"
+SRC_URI[archive.sha256sum] = "36659f13cc73282392d1305858f3bbca46fbd1ce2f078cc9db8b9f79b2e93cfe"
 
 do_install_append() {
     install -d ${D}${datadir}/glibmm-2.4
diff --git a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.0.bb b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.0.bb
new file mode 100644
index 0000000..3c0330f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A library for loose coupling of C++ method calls"
+SECTION = "libs"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=959bffe2993816eb32ec4bc1ec1d5875"
+
+DEPENDS = "mm-common"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/3.0/libsigc++-${PV}.tar.xz"
+SRC_URI[md5sum] = "6ffe924f1d8624b5716468cde67dc03f"
+SRC_URI[sha256sum] = "50a0855c1eb26e6044ffe888dbe061938ab4241f96d8f3754ea7ead38ab8ed06"
+
+S = "${WORKDIR}/libsigc++-${PV}"
+
+inherit autotools
+
+FILES_${PN}-dev += "${libdir}/sigc++-*/"
+FILES_${PN}-doc += "${datadir}/devhelp"
+
+BBCLASSEXTEND = "native"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
index 0fe5d58..91d0275 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
@@ -18,7 +18,7 @@
     this package if you're installing the postgresql-server package. \
 "
 HOMEPAGE = "http://www.postgresql.com"
-LICENSE = "BSD"
+LICENSE = "BSD-0-Clause"
 DEPENDS = "libnsl2 zlib readline tzcode-native"
 
 ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb b/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb
index 8aa5947..199c31e 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb
@@ -11,7 +11,7 @@
 
 HOMEPAGE = "http://cscope.sourceforge.net/"
 
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d4667b67b483823043fcffa489ea343b"
 
 inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb
rename to meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb
index 84adc7a..f768998 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.36.bb
@@ -29,11 +29,11 @@
 REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI = " \
-    http://plugins.geany.org/${BPN}/${BP}.tar.bz2 \
+    https://plugins.geany.org/${BPN}/${BP}.tar.bz2 \
     file://0001-Use-pkg-config-to-find-gpgme.patch \
 "
-SRC_URI[md5sum] = "bf5fdd50727ad8bbbfe00027ccf2dac5"
-SRC_URI[sha256sum] = "244417c681636e82a63cf6f9901b5b7f3889168f7d9b5ba9b45601767a589c3b"
+SRC_URI[md5sum] = "91fb4634953702f914d9105da7048a33"
+SRC_URI[sha256sum] = "ebe18dd699292174622e8cb8745b020ada8a5be3b604ab980af36e8518df7ce6"
 
 do_configure_prepend() {
     rm -f ${S}/build/cache/glib-gettext.m4
diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.34.1.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb
similarity index 69%
rename from meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.34.1.bb
rename to meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb
index aab535d..193c198 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.34.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.36.bb
@@ -9,9 +9,9 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
-SRC_URI = "http://download.geany.org/${BP}.tar.bz2"
-SRC_URI[md5sum] = "87220f4a0e03623ab9d86820f6be7b5d"
-SRC_URI[sha256sum] = "e765efd89e759defe3fd797d8a2052afbb4b23522efbcc72e3a72b7f1093ec11"
+SRC_URI = "https://download.geany.org/${BP}.tar.bz2"
+SRC_URI[md5sum] = "53216a43345e2b6dbefa02ac24885753"
+SRC_URI[sha256sum] = "9184dd3dd40b7b84fca70083284bb9dbf2ee8022bf2be066bdc36592d909d53e"
 
 FILES_${PN} += "${datadir}/icons"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch
new file mode 100644
index 0000000..98cc9ba
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch
@@ -0,0 +1,42 @@
+From 5226333bddb755dbefd780d31450e0238dd5d3bd Mon Sep 17 00:00:00 2001
+From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+Date: Wed, 16 Oct 2019 08:24:23 +0900
+Subject: [PATCH] Bug fix for data type length judgment.
+
+...
+if (byte_size == sizeof(long)) {
+
+	*type = is_signed ? ARGTYPE_LONG : ARGTYPE_ULONG;
+
+	return true;
+
+}
+...
+
+If ltrace's target command has a dbg package, ltrace will look for the debug file and analyze its contents.
+Ltrace determines the type of analysis result variable. The type of the variable is longlong.
+On 32-bit systems, longlong is 8 and long is 4 (same as in).
+An error occurred because the ltrace code did not process a variable of length 8.
+
+Upstream-Status: Pending
+Signed-off-by: Wang Mingyu <wangmy.fnst@cn.fujitsu.com>
+---
+ dwarf_prototypes.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dwarf_prototypes.c b/dwarf_prototypes.c
+index bfac177..9887d4b 100644
+--- a/dwarf_prototypes.c
++++ b/dwarf_prototypes.c
+@@ -190,7 +190,7 @@ static bool get_integer_base_type(enum arg_type *type, int byte_size,
+ 		return true;
+ 	}
+ 
+-	if (byte_size == sizeof(long)) {
++	if (byte_size == sizeof(long long)) {
+ 		*type = is_signed ? ARGTYPE_LONG : ARGTYPE_ULONG;
+ 		return true;
+ 	}
+-- 
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index ead637c..5c4e7c5 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -28,6 +28,7 @@
            file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \
            file://0001-hook-Do-not-append-int-to-std-string.patch \
            file://include_unistd_nr.patch \
+           file://0001-Bug-fix-for-data-type-length-judgment.patch \
            "
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb b/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
index a7163a3..b5ca495 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
@@ -1,6 +1,6 @@
 SUMMARY = "MCPP is a portable C/C++ preprocessor"
 HOMEPAGE = "http://mcpp.sourceforge.net/"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5ca370b75ec890321888a00cea9bc1d5"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb
index 65e49bc..4399eda 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_git.bb
@@ -2,13 +2,13 @@
 HOMEPAGE = "https://nlohmann.github.io/json/"
 SECTION = "libs"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=9a8ae1c2d606c432a2aa2e2de15be22a"
+LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f5f7c71504da070bcf4f090205ce1080"
 
 SRC_URI = "git://github.com/nlohmann/json.git"
 
-PV = "3.3.0+git${SRCPV}"
+PV = "3.7.0+git${SRCPV}"
 
-SRCREV = "aafad2be1f3cd259a1e79d2f6fcf267d1ede9ec7"
+SRCREV = "ea60d40f4a60a47d3be9560d8f7bc37c163fe47b"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
index b20d4c0..dc4fbf7 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
@@ -1,5 +1,5 @@
 SUMMARY = "x86 (SSE) assembler supporting NASM and GAS-syntaxes"
-LICENSE = "BSD"
+LICENSE = "MIT"
 HOMEPAGE = "http://www.tortall.net/projects/yasm/"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=a12d8903508fb6bfd49d8d82c6170dd9"
diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
index 3bc0db9..24864ea 100644
--- a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
@@ -10,16 +10,18 @@
 
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
 
+Update for 20190617.
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
 ---
  aclocal.m4 |   1 -
- configure  | 140 -------------------------------------------------------------
- 2 files changed, 141 deletions(-)
+ configure  | 259 -------------------------------------------------------------
+ 2 files changed, 260 deletions(-)
 
 diff --git a/aclocal.m4 b/aclocal.m4
-index 0d14f26..0cefa08 100644
+index 338465f..3311057 100644
 --- a/aclocal.m4
 +++ b/aclocal.m4
-@@ -1038,7 +1038,6 @@ CF_GCC_VERSION
+@@ -1231,7 +1231,6 @@ CF_GCC_VERSION
  CF_ACVERSION_CHECK(2.52,
  	[AC_PROG_CC_STDC],
  	[CF_ANSI_CC_REQD])
@@ -28,21 +30,140 @@
  dnl ---------------------------------------------------------------------------
  dnl CF_PROG_GROFF version: 3 updated: 2018/01/07 13:16:19
 diff --git a/configure b/configure
-index d27ae31..077c648 100755
+index ebb1f0f..a56cb17 100755
 --- a/configure
 +++ b/configure
-@@ -1946,146 +1946,6 @@ esac
+@@ -1957,265 +1957,6 @@ esac
  # This should have been defined by AC_PROG_CC
  : ${CC:=cc}
  
--echo "$as_me:1949: checking \$CC variable" >&5
+-echo "$as_me:1960: checking \$CFLAGS variable" >&5
+-echo $ECHO_N "checking \$CFLAGS variable... $ECHO_C" >&6
+-case "x$CFLAGS" in
+-(*-[IUD]*)
+-	echo "$as_me:1964: result: broken" >&5
+-echo "${ECHO_T}broken" >&6
+-	{ echo "$as_me:1966: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&5
+-echo "$as_me: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&2;}
+-	cf_flags="$CFLAGS"
+-	CFLAGS=
+-	for cf_arg in $cf_flags
+-	do
+-
+-cf_fix_cppflags=no
+-cf_new_cflags=
+-cf_new_cppflags=
+-cf_new_extra_cppflags=
+-
+-for cf_add_cflags in $cf_arg
+-do
+-case $cf_fix_cppflags in
+-(no)
+-	case $cf_add_cflags in
+-	(-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
+-		case $cf_add_cflags in
+-		(-D*)
+-			cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-
+-			test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+-				&& test -z "${cf_tst_cflags}" \
+-				&& cf_fix_cppflags=yes
+-
+-			if test $cf_fix_cppflags = yes ; then
+-
+-	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+-	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+-
+-				continue
+-			elif test "${cf_tst_cflags}" = "\"'" ; then
+-
+-	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+-	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+-
+-				continue
+-			fi
+-			;;
+-		esac
+-		case "$CPPFLAGS" in
+-		(*$cf_add_cflags)
+-			;;
+-		(*)
+-			case $cf_add_cflags in
+-			(-D*)
+-				cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+-
+-CPPFLAGS=`echo "$CPPFLAGS" | \
+-	sed	-e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ 	]*\)\?[ 	]/ /g' \
+-		-e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ 	]*\)\?$//g'`
+-
+-				;;
+-			esac
+-
+-	test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags "
+-	cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags"
+-
+-			;;
+-		esac
+-		;;
+-	(*)
+-
+-	test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags "
+-	cf_new_cflags="${cf_new_cflags}$cf_add_cflags"
+-
+-		;;
+-	esac
+-	;;
+-(yes)
+-
+-	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+-	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+-
+-	cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-
+-	test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+-		&& test -z "${cf_tst_cflags}" \
+-		&& cf_fix_cppflags=no
+-	;;
+-esac
+-done
+-
+-if test -n "$cf_new_cflags" ; then
+-
+-	test -n "$CFLAGS" && CFLAGS="$CFLAGS "
+-	CFLAGS="${CFLAGS}$cf_new_cflags"
+-
+-fi
+-
+-if test -n "$cf_new_cppflags" ; then
+-
+-	test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
+-	CPPFLAGS="${CPPFLAGS}$cf_new_cppflags"
+-
+-fi
+-
+-if test -n "$cf_new_extra_cppflags" ; then
+-
+-	test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS "
+-	EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags"
+-
+-fi
+-
+-	done
+-	;;
+-(*)
+-	echo "$as_me:2074: result: ok" >&5
+-echo "${ECHO_T}ok" >&6
+-	;;
+-esac
+-
+-echo "$as_me:2079: checking \$CC variable" >&5
 -echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
 -case "$CC" in
 -(*[\ \	]-*)
--	echo "$as_me:1953: result: broken" >&5
+-	echo "$as_me:2083: result: broken" >&5
 -echo "${ECHO_T}broken" >&6
--	{ echo "$as_me:1955: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
--echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
+-	{ echo "$as_me:2085: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
+-echo "$as_me: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
 -	# humor him...
 -	cf_prog=`echo "$CC" | sed -e 's/	/ /g' -e 's/[ ]* / /g' -e 's/[ ]*[ ]-[^ ].*//'`
 -	cf_flags=`echo "$CC" | ${AWK:-awk} -v prog="$cf_prog" '{ printf("%s", substr($0,1+length(prog))); }'`
@@ -158,24 +279,24 @@
 -	done
 -	test -n "$verbose" && echo "	resulting CC: '$CC'" 1>&6
 -
--echo "${as_me:-configure}:2072: testing resulting CC: '$CC' ..." 1>&5
+-echo "${as_me:-configure}:2202: testing resulting CC: '$CC' ..." 1>&5
 -
 -	test -n "$verbose" && echo "	resulting CFLAGS: '$CFLAGS'" 1>&6
 -
--echo "${as_me:-configure}:2076: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
+-echo "${as_me:-configure}:2206: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
 -
 -	test -n "$verbose" && echo "	resulting CPPFLAGS: '$CPPFLAGS'" 1>&6
 -
--echo "${as_me:-configure}:2080: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
+-echo "${as_me:-configure}:2210: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
 -
 -	;;
 -(*)
--	echo "$as_me:2084: result: ok" >&5
+-	echo "$as_me:2214: result: ok" >&5
 -echo "${ECHO_T}ok" >&6
 -	;;
 -esac
 -
- echo "$as_me:2089: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo "$as_me:2219: checking whether ${MAKE-make} sets \${MAKE}" >&5
  echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
  set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
 -- 
diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20180510.bb b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20180510.bb
deleted file mode 100644
index f30c426..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20180510.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-# Sigh. This is one of those places where everyone licenses it differently. Someone
-# even apply UCB to it (Free/Net/OpenBSD). The maintainer states that:
-# "I've found no reliable source which states that byacc must bear a UCB copyright."
-# Setting to PD as this is what the upstream has it as.
-
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=8b2933503c0443e041d3168dc0c65640"
-require byacc.inc
-
-SRC_URI[md5sum] = "97fdc0745e0ff0cef5c09d57d0c6752d"
-SRC_URI[sha256sum] = "d0940dbffbc7e9c9dd4985c25349c390beede84ae1d9fe86b71c0aa659a6d693"
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20190617.bb b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20190617.bb
new file mode 100644
index 0000000..2834b7c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20190617.bb
@@ -0,0 +1,12 @@
+# Sigh. This is one of those places where everyone licenses it differently. Someone
+# even apply UCB to it (Free/Net/OpenBSD). The maintainer states that:
+# "I've found no reliable source which states that byacc must bear a UCB copyright."
+# Setting to PD as this is what the upstream has it as.
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=3eb7c635434fafe23ef30fc263e63b2f"
+require byacc.inc
+
+SRC_URI[md5sum] = "17b3f7e7ed570d785b145064d99df615"
+SRC_URI[sha256sum] = "f87868167b920bf2cb30fc32b62f63ae15671181ef329226d1063100be02518d"
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb
index 987c09f..251c5d0 100644
--- a/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Adapter to write and run CMPI-type CIM providers"
 DESCRIPTION = "CMPI-compliant provider interface for various languages via SWIG"
 HOMEPAGE = "http://github.com/kkaempf/cmpi-bindings"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b19ee058d2d5f69af45da98051d91064"
 SECTION = "Development/Libraries"
 DEPENDS = "swig-native python3 sblim-cmpi-devel"
diff --git a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb
index 7231484..2b0dfe4 100644
--- a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb
@@ -4,7 +4,7 @@
  architectures."
 HOMEPAGE = "https://www.open-mpi.org/software/hwloc/"
 SECTION = "base"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3282e20dc3cec311deda3c6d4b1f990b"
 
 SRC_URI = "https://www.open-mpi.org/software/${BPN}/v1.11/downloads/${BP}.tar.bz2"
diff --git a/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.6.bb b/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.6.bb
index bb59845..5c1c151 100644
--- a/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/liblogging/liblogging_1.0.6.bb
@@ -8,7 +8,7 @@
 and flexibility for different log destinations (e.g. syslog and systemd \
 journal)."
 SECTION = "libs"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=63fe03535d83726f5655072502bef1bc"
 SRC_URI = "http://download.rsyslog.com/${BPN}/${BPN}-${PV}.tar.gz"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb b/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
index 17ca262..6d42c67 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
@@ -22,6 +22,8 @@
 
 EXTRA_OECMAKE_append = " -DINSTALLTOOLS:BOOL=ON -DFIRMATA=ON -DCMAKE_SKIP_RPATH=ON \
                          -DPYTHON3_PACKAGES_PATH:PATH=${baselib}/python${PYTHON_BASEVERSION}/site-packages \
+                         -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
+                         -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
                        "
 
 # Prepend mraa-utils to make sure bindir ends up in there
diff --git a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.9.bb b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.9.bb
index e5bb076..f929279 100644
--- a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.9.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.9.bb
@@ -26,7 +26,7 @@
 
 S = "${WORKDIR}/git"
 
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d4f53d4c6cf73b9d43186ce3be6dd0ba"
 
 inherit systemd cmake pkgconfig python3native perlnative
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb b/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb
index 96da266..f5066da 100644
--- a/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb
@@ -2,7 +2,7 @@
 DESCRIPTION = "Persistent Memory Development Kit"
 HOMEPAGE = "http://pmem.io"
 SECTION = "libs"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=7db1106255a1baa80391fd2e21eebab7"
 DEPENDS = "ndctl"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb
index 45ea29b..7dc6f97 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb
@@ -2,7 +2,7 @@
 DESCRIPTION = "Redis is an open source, advanced key-value store."
 HOMEPAGE = "http://redis.io"
 SECTION = "libs"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3c01b49fed4df1a79843688fa3f7b9d6"
 DEPENDS = "readline lua ncurses"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb b/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
index b922bb1..2b7571e 100644
--- a/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
@@ -5,7 +5,7 @@
                maintenance or service functions. It handles SCSI, \
                Linux SW RAID, SAS, SATA, and USB devices via SCSI emulation."
 HOMEPAGE = "http://scsirastools.sourceforge.net/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=687ea108478d26152ae46eb29d9d1545"
 
 DEPENDS += "groff-native"
diff --git a/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb b/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
index a6b379e..fb22e83 100644
--- a/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
@@ -36,7 +36,7 @@
 PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGES', 'node-${PN}', 'nodejs', '', d)} \
  ${@bb.utils.contains('PACKAGES', '${PYTHON_PN}-${PN}', 'python', '', d)}"
 
-PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN},"
+PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN},"
 PACKAGECONFIG[nodejs] = "-DBUILDSWIGNODE=ON, -DBUILDSWIGNODE=OFF, swig-native nodejs-native,"
 
 FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.1.bb b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.2.bb
similarity index 78%
rename from meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.1.bb
rename to meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.2.bb
index 6dd0513..4ded679 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.1.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.2.bb
@@ -14,8 +14,8 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
-SRC_URI[archive.md5sum] = "9524ed4e5c821d13eeda49ba2a78f024"
-SRC_URI[archive.sha256sum] = "ddfe42ed2458a20a34de252854bcf4b52d3f0c671c045f56b42aa27c7542d2fd"
+SRC_URI[archive.md5sum] = "e311db484ca9c53f1689d35f5f58a06b"
+SRC_URI[archive.sha256sum] = "6d71091bcd1863133460d4188d04102810e9123de19706fb656b7bb915b4adc3"
 SRC_URI += "file://0001-do-not-build-demos.patch"
 
 EXTRA_OECONF = " --disable-documentation "
diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb
index c7e8724..684a204 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb
@@ -16,7 +16,7 @@
 
 inherit cmake python3native distro_features_check
 
-REQUIRED_DISTRO_FEATURES = "x11"
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
 
 python __anonymous () {
     # only works on glibc systems
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb
new file mode 100644
index 0000000..521caff
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb
@@ -0,0 +1,14 @@
+require ttf.inc
+
+SUMMARY = "Roboto fonts"
+HOMEPAGE = "https://fonts.google.com/specimen/Roboto"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+SRC_URI = "https://github.com/google/roboto/releases/download/v${PV}/roboto-android.zip"
+SRC_URI[md5sum] = "3b43a5cb33196ec25e44d5fcb40219e1"
+SRC_URI[sha256sum] = "c825453253f590cfe62557733e7173f9a421fff103b00f57d33c4ad28ae53baf"
+
+S = "${WORKDIR}"
+
+FILES_${PN} = "${datadir}/fonts/truetype/*.ttf"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb
index 19ec12c..29ef2fa 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb
@@ -5,7 +5,7 @@
 technology from Skype's SILK codec and Xiph.Org's CELT codec."
 HOMEPAGE = "http://www.opus-codec.org/"
 SECTION = "libs/multimedia"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=e304cdf74c2a1b0a33a5084c128a23a3"
 
 SRC_URI = "http://downloads.xiph.org/releases/opus/opus-${PV}.tar.gz"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb b/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb
index ff63111..a84f2bf 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Opus Audio Tools"
 HOMEPAGE = "http://www.opus-codec.org/"
 
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=843a066da9f1facfcc6ea6f616ffecb1"
 
 SRC_URI = "http://downloads.xiph.org/releases/opus/opus-tools-${PV}.tar.gz"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch
deleted file mode 100644
index 97ec37d..0000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0002-build-sys-Add-m4-file-for-AX_CXX_COMPILE_STDCXX_11.patch
+++ /dev/null
@@ -1,624 +0,0 @@
-From ccb3eb7b4ff65414a56e2294080885b8966da52b Mon Sep 17 00:00:00 2001
-From: Arun Raghavan <git@arunraghavan.net>
-Date: Tue, 2 Feb 2016 17:01:47 +0530
-Subject: [PATCH 2/2] build-sys: Add m4 file for AX_CXX_COMPILE_STDCXX_11
-
----
- m4/ax_cxx_compile_stdcxx.m4    | 558 +++++++++++++++++++++++++++++++++++++++++
- m4/ax_cxx_compile_stdcxx_11.m4 |  39 +++
- 2 files changed, 597 insertions(+)
- create mode 100644 m4/ax_cxx_compile_stdcxx.m4
- create mode 100644 m4/ax_cxx_compile_stdcxx_11.m4
-
-diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4
-new file mode 100644
-index 0000000..079e17d
---- /dev/null
-+++ b/m4/ax_cxx_compile_stdcxx.m4
-@@ -0,0 +1,558 @@
-+# ===========================================================================
-+#   http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
-+# ===========================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
-+#
-+# DESCRIPTION
-+#
-+#   Check for baseline language coverage in the compiler for the specified
-+#   version of the C++ standard.  If necessary, add switches to CXXFLAGS to
-+#   enable support.  VERSION may be '11' (for the C++11 standard) or '14'
-+#   (for the C++14 standard).
-+#
-+#   The second argument, if specified, indicates whether you insist on an
-+#   extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
-+#   -std=c++11).  If neither is specified, you get whatever works, with
-+#   preference for an extended mode.
-+#
-+#   The third argument, if specified 'mandatory' or if left unspecified,
-+#   indicates that baseline support for the specified C++ standard is
-+#   required and that the macro should error out if no mode with that
-+#   support is found.  If specified 'optional', then configuration proceeds
-+#   regardless, after defining HAVE_CXX${VERSION} if and only if a
-+#   supporting mode is found.
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
-+#   Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
-+#   Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
-+#   Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
-+#   Copyright (c) 2015 Paul Norman <penorman@mac.com>
-+#   Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
-+#
-+#   Copying and distribution of this file, with or without modification, are
-+#   permitted in any medium without royalty provided the copyright notice
-+#   and this notice are preserved.  This file is offered as-is, without any
-+#   warranty.
-+
-+#serial 1
-+
-+dnl  This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
-+dnl  (serial version number 13).
-+
-+AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
-+  m4_if([$1], [11], [],
-+        [$1], [14], [],
-+        [$1], [17], [m4_fatal([support for C++17 not yet implemented in AX_CXX_COMPILE_STDCXX])],
-+        [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
-+  m4_if([$2], [], [],
-+        [$2], [ext], [],
-+        [$2], [noext], [],
-+        [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl
-+  m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true],
-+        [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
-+        [$3], [optional], [ax_cxx_compile_cxx$1_required=false],
-+        [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
-+  AC_LANG_PUSH([C++])dnl
-+  ac_success=no
-+  AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
-+  ax_cv_cxx_compile_cxx$1,
-+  [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
-+    [ax_cv_cxx_compile_cxx$1=yes],
-+    [ax_cv_cxx_compile_cxx$1=no])])
-+  if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
-+    ac_success=yes
-+  fi
-+
-+  m4_if([$2], [noext], [], [dnl
-+  if test x$ac_success = xno; then
-+    for switch in -std=gnu++$1 -std=gnu++0x; do
-+      cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
-+      AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
-+                     $cachevar,
-+        [ac_save_CXXFLAGS="$CXXFLAGS"
-+         CXXFLAGS="$CXXFLAGS $switch"
-+         AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
-+          [eval $cachevar=yes],
-+          [eval $cachevar=no])
-+         CXXFLAGS="$ac_save_CXXFLAGS"])
-+      if eval test x\$$cachevar = xyes; then
-+        CXXFLAGS="$CXXFLAGS $switch"
-+        ac_success=yes
-+        break
-+      fi
-+    done
-+  fi])
-+
-+  m4_if([$2], [ext], [], [dnl
-+  if test x$ac_success = xno; then
-+    dnl HP's aCC needs +std=c++11 according to:
-+    dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
-+    dnl Cray's crayCC needs "-h std=c++11"
-+    for switch in -std=c++$1 -std=c++0x +std=c++$1 "-h std=c++$1"; do
-+      cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
-+      AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
-+                     $cachevar,
-+        [ac_save_CXXFLAGS="$CXXFLAGS"
-+         CXXFLAGS="$CXXFLAGS $switch"
-+         AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
-+          [eval $cachevar=yes],
-+          [eval $cachevar=no])
-+         CXXFLAGS="$ac_save_CXXFLAGS"])
-+      if eval test x\$$cachevar = xyes; then
-+        CXXFLAGS="$CXXFLAGS $switch"
-+        ac_success=yes
-+        break
-+      fi
-+    done
-+  fi])
-+  AC_LANG_POP([C++])
-+  if test x$ax_cxx_compile_cxx$1_required = xtrue; then
-+    if test x$ac_success = xno; then
-+      AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.])
-+    fi
-+  else
-+    if test x$ac_success = xno; then
-+      HAVE_CXX$1=0
-+      AC_MSG_NOTICE([No compiler with C++$1 support was found])
-+    else
-+      HAVE_CXX$1=1
-+      AC_DEFINE(HAVE_CXX$1,1,
-+                [define if the compiler supports basic C++$1 syntax])
-+    fi
-+
-+    AC_SUBST(HAVE_CXX$1)
-+  fi
-+])
-+
-+
-+dnl  Test body for checking C++11 support
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11],
-+  _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
-+)
-+
-+
-+dnl  Test body for checking C++14 support
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
-+  _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
-+  _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
-+)
-+
-+
-+dnl  Tests for new features in C++11
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
-+
-+// If the compiler admits that it is not ready for C++11, why torture it?
-+// Hopefully, this will speed up the test.
-+
-+#ifndef __cplusplus
-+
-+#error "This is not a C++ compiler"
-+
-+#elif __cplusplus < 201103L
-+
-+#error "This is not a C++11 compiler"
-+
-+#else
-+
-+namespace cxx11
-+{
-+
-+  namespace test_static_assert
-+  {
-+
-+    template <typename T>
-+    struct check
-+    {
-+      static_assert(sizeof(int) <= sizeof(T), "not big enough");
-+    };
-+
-+  }
-+
-+  namespace test_final_override
-+  {
-+
-+    struct Base
-+    {
-+      virtual void f() {}
-+    };
-+
-+    struct Derived : public Base
-+    {
-+      virtual void f() override {}
-+    };
-+
-+  }
-+
-+  namespace test_double_right_angle_brackets
-+  {
-+
-+    template < typename T >
-+    struct check {};
-+
-+    typedef check<void> single_type;
-+    typedef check<check<void>> double_type;
-+    typedef check<check<check<void>>> triple_type;
-+    typedef check<check<check<check<void>>>> quadruple_type;
-+
-+  }
-+
-+  namespace test_decltype
-+  {
-+
-+    int
-+    f()
-+    {
-+      int a = 1;
-+      decltype(a) b = 2;
-+      return a + b;
-+    }
-+
-+  }
-+
-+  namespace test_type_deduction
-+  {
-+
-+    template < typename T1, typename T2 >
-+    struct is_same
-+    {
-+      static const bool value = false;
-+    };
-+
-+    template < typename T >
-+    struct is_same<T, T>
-+    {
-+      static const bool value = true;
-+    };
-+
-+    template < typename T1, typename T2 >
-+    auto
-+    add(T1 a1, T2 a2) -> decltype(a1 + a2)
-+    {
-+      return a1 + a2;
-+    }
-+
-+    int
-+    test(const int c, volatile int v)
-+    {
-+      static_assert(is_same<int, decltype(0)>::value == true, "");
-+      static_assert(is_same<int, decltype(c)>::value == false, "");
-+      static_assert(is_same<int, decltype(v)>::value == false, "");
-+      auto ac = c;
-+      auto av = v;
-+      auto sumi = ac + av + 'x';
-+      auto sumf = ac + av + 1.0;
-+      static_assert(is_same<int, decltype(ac)>::value == true, "");
-+      static_assert(is_same<int, decltype(av)>::value == true, "");
-+      static_assert(is_same<int, decltype(sumi)>::value == true, "");
-+      static_assert(is_same<int, decltype(sumf)>::value == false, "");
-+      static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
-+      return (sumf > 0.0) ? sumi : add(c, v);
-+    }
-+
-+  }
-+
-+  namespace test_noexcept
-+  {
-+
-+    int f() { return 0; }
-+    int g() noexcept { return 0; }
-+
-+    static_assert(noexcept(f()) == false, "");
-+    static_assert(noexcept(g()) == true, "");
-+
-+  }
-+
-+  namespace test_constexpr
-+  {
-+
-+    template < typename CharT >
-+    unsigned long constexpr
-+    strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
-+    {
-+      return *s ? strlen_c_r(s + 1, acc + 1) : acc;
-+    }
-+
-+    template < typename CharT >
-+    unsigned long constexpr
-+    strlen_c(const CharT *const s) noexcept
-+    {
-+      return strlen_c_r(s, 0UL);
-+    }
-+
-+    static_assert(strlen_c("") == 0UL, "");
-+    static_assert(strlen_c("1") == 1UL, "");
-+    static_assert(strlen_c("example") == 7UL, "");
-+    static_assert(strlen_c("another\0example") == 7UL, "");
-+
-+  }
-+
-+  namespace test_rvalue_references
-+  {
-+
-+    template < int N >
-+    struct answer
-+    {
-+      static constexpr int value = N;
-+    };
-+
-+    answer<1> f(int&)       { return answer<1>(); }
-+    answer<2> f(const int&) { return answer<2>(); }
-+    answer<3> f(int&&)      { return answer<3>(); }
-+
-+    void
-+    test()
-+    {
-+      int i = 0;
-+      const int c = 0;
-+      static_assert(decltype(f(i))::value == 1, "");
-+      static_assert(decltype(f(c))::value == 2, "");
-+      static_assert(decltype(f(0))::value == 3, "");
-+    }
-+
-+  }
-+
-+  namespace test_uniform_initialization
-+  {
-+
-+    struct test
-+    {
-+      static const int zero {};
-+      static const int one {1};
-+    };
-+
-+    static_assert(test::zero == 0, "");
-+    static_assert(test::one == 1, "");
-+
-+  }
-+
-+  namespace test_lambdas
-+  {
-+
-+    void
-+    test1()
-+    {
-+      auto lambda1 = [](){};
-+      auto lambda2 = lambda1;
-+      lambda1();
-+      lambda2();
-+    }
-+
-+    int
-+    test2()
-+    {
-+      auto a = [](int i, int j){ return i + j; }(1, 2);
-+      auto b = []() -> int { return '0'; }();
-+      auto c = [=](){ return a + b; }();
-+      auto d = [&](){ return c; }();
-+      auto e = [a, &b](int x) mutable {
-+        const auto identity = [](int y){ return y; };
-+        for (auto i = 0; i < a; ++i)
-+          a += b--;
-+        return x + identity(a + b);
-+      }(0);
-+      return a + b + c + d + e;
-+    }
-+
-+    int
-+    test3()
-+    {
-+      const auto nullary = [](){ return 0; };
-+      const auto unary = [](int x){ return x; };
-+      using nullary_t = decltype(nullary);
-+      using unary_t = decltype(unary);
-+      const auto higher1st = [](nullary_t f){ return f(); };
-+      const auto higher2nd = [unary](nullary_t f1){
-+        return [unary, f1](unary_t f2){ return f2(unary(f1())); };
-+      };
-+      return higher1st(nullary) + higher2nd(nullary)(unary);
-+    }
-+
-+  }
-+
-+  namespace test_variadic_templates
-+  {
-+
-+    template <int...>
-+    struct sum;
-+
-+    template <int N0, int... N1toN>
-+    struct sum<N0, N1toN...>
-+    {
-+      static constexpr auto value = N0 + sum<N1toN...>::value;
-+    };
-+
-+    template <>
-+    struct sum<>
-+    {
-+      static constexpr auto value = 0;
-+    };
-+
-+    static_assert(sum<>::value == 0, "");
-+    static_assert(sum<1>::value == 1, "");
-+    static_assert(sum<23>::value == 23, "");
-+    static_assert(sum<1, 2>::value == 3, "");
-+    static_assert(sum<5, 5, 11>::value == 21, "");
-+    static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
-+
-+  }
-+
-+  // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
-+  // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
-+  // because of this.
-+  namespace test_template_alias_sfinae
-+  {
-+
-+    struct foo {};
-+
-+    template<typename T>
-+    using member = typename T::member_type;
-+
-+    template<typename T>
-+    void func(...) {}
-+
-+    template<typename T>
-+    void func(member<T>*) {}
-+
-+    void test();
-+
-+    void test() { func<foo>(0); }
-+
-+  }
-+
-+}  // namespace cxx11
-+
-+#endif  // __cplusplus >= 201103L
-+
-+]])
-+
-+
-+dnl  Tests for new features in C++14
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[
-+
-+// If the compiler admits that it is not ready for C++14, why torture it?
-+// Hopefully, this will speed up the test.
-+
-+#ifndef __cplusplus
-+
-+#error "This is not a C++ compiler"
-+
-+#elif __cplusplus < 201402L
-+
-+#error "This is not a C++14 compiler"
-+
-+#else
-+
-+namespace cxx14
-+{
-+
-+  namespace test_polymorphic_lambdas
-+  {
-+
-+    int
-+    test()
-+    {
-+      const auto lambda = [](auto&&... args){
-+        const auto istiny = [](auto x){
-+          return (sizeof(x) == 1UL) ? 1 : 0;
-+        };
-+        const int aretiny[] = { istiny(args)... };
-+        return aretiny[0];
-+      };
-+      return lambda(1, 1L, 1.0f, '1');
-+    }
-+
-+  }
-+
-+  namespace test_binary_literals
-+  {
-+
-+    constexpr auto ivii = 0b0000000000101010;
-+    static_assert(ivii == 42, "wrong value");
-+
-+  }
-+
-+  namespace test_generalized_constexpr
-+  {
-+
-+    template < typename CharT >
-+    constexpr unsigned long
-+    strlen_c(const CharT *const s) noexcept
-+    {
-+      auto length = 0UL;
-+      for (auto p = s; *p; ++p)
-+        ++length;
-+      return length;
-+    }
-+
-+    static_assert(strlen_c("") == 0UL, "");
-+    static_assert(strlen_c("x") == 1UL, "");
-+    static_assert(strlen_c("test") == 4UL, "");
-+    static_assert(strlen_c("another\0test") == 7UL, "");
-+
-+  }
-+
-+  namespace test_lambda_init_capture
-+  {
-+
-+    int
-+    test()
-+    {
-+      auto x = 0;
-+      const auto lambda1 = [a = x](int b){ return a + b; };
-+      const auto lambda2 = [a = lambda1(x)](){ return a; };
-+      return lambda2();
-+    }
-+
-+  }
-+
-+  namespace test_digit_seperators
-+  {
-+
-+    constexpr auto ten_million = 100'000'000;
-+    static_assert(ten_million == 100000000, "");
-+
-+  }
-+
-+  namespace test_return_type_deduction
-+  {
-+
-+    auto f(int& x) { return x; }
-+    decltype(auto) g(int& x) { return x; }
-+
-+    template < typename T1, typename T2 >
-+    struct is_same
-+    {
-+      static constexpr auto value = false;
-+    };
-+
-+    template < typename T >
-+    struct is_same<T, T>
-+    {
-+      static constexpr auto value = true;
-+    };
-+
-+    int
-+    test()
-+    {
-+      auto x = 0;
-+      static_assert(is_same<int, decltype(f(x))>::value, "");
-+      static_assert(is_same<int&, decltype(g(x))>::value, "");
-+      return x;
-+    }
-+
-+  }
-+
-+}  // namespace cxx14
-+
-+#endif  // __cplusplus >= 201402L
-+
-+]])
-diff --git a/m4/ax_cxx_compile_stdcxx_11.m4 b/m4/ax_cxx_compile_stdcxx_11.m4
-new file mode 100644
-index 0000000..09db383
---- /dev/null
-+++ b/m4/ax_cxx_compile_stdcxx_11.m4
-@@ -0,0 +1,39 @@
-+# ============================================================================
-+#  http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
-+# ============================================================================
-+#
-+# SYNOPSIS
-+#
-+#   AX_CXX_COMPILE_STDCXX_11([ext|noext], [mandatory|optional])
-+#
-+# DESCRIPTION
-+#
-+#   Check for baseline language coverage in the compiler for the C++11
-+#   standard; if necessary, add switches to CXXFLAGS to enable support.
-+#
-+#   This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX
-+#   macro with the version set to C++11.  The two optional arguments are
-+#   forwarded literally as the second and third argument respectively.
-+#   Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for
-+#   more information.  If you want to use this macro, you also need to
-+#   download the ax_cxx_compile_stdcxx.m4 file.
-+#
-+# LICENSE
-+#
-+#   Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
-+#   Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
-+#   Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
-+#   Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
-+#   Copyright (c) 2015 Paul Norman <penorman@mac.com>
-+#   Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
-+#
-+#   Copying and distribution of this file, with or without modification, are
-+#   permitted in any medium without royalty provided the copyright notice
-+#   and this notice are preserved. This file is offered as-is, without any
-+#   warranty.
-+
-+#serial 14
-+
-+include([ax_cxx_compile_stdcxx.m4])
-+
-+AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [AX_CXX_COMPILE_STDCXX([11], [$1], [$2])])
--- 
-2.12.1
-
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
index 421ea9d..3588ce7 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
@@ -1,10 +1,16 @@
 DESCRIPTION = "PulseAudio Volume Control (pavucontrol) is a simple GTK based volume control tool ("mixer") for the PulseAudio sound server."
-LICENSE = "GPLv2"
+HOMEPAGE = "https://freedesktop.org/software/pulseaudio/pavucontrol/"
+SECTION = "x11/multimedia"
+LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
 
-DEPENDS = "intltool-native gtk+3-native gtkmm3 libcanberra pulseaudio"
+# glib-2.0-native is required for glib-gettextize, which is used by the
+# AM_GLIB_GNU_GETTEXT macro in configure.ac. That macro is deprecated, so the
+# glib-2.0-native dependency may go away at some point (something to keep in
+# mind when doing version upgrades).
+DEPENDS = "intltool-native glib-2.0-native gtkmm3 libcanberra pulseaudio"
 
-inherit gnomebase distro_features_check
+inherit autotools distro_features_check
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb
index cc5b844..021496b 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb
@@ -1,5 +1,5 @@
 DESCRIPTION = "WavPack is a completely open audio compression format providing lossless, high-quality lossy, and a unique hybrid compression mode."
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://license.txt;md5=f596650807588c61fcab60bec8242df8"
 
 SRC_URI = "http://wavpack.com/wavpack-${PV}.tar.bz2"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.1.bb
index 70278ec..006e73a 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.1.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.1.bb
@@ -3,7 +3,7 @@
 HOMEPAGE = "http://www.webmproject.org/code/"
 BUGTRACKER = "http://code.google.com/p/webm/issues/list"
 SECTION = "libs/multimedia"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
 
diff --git a/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb b/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb
index 8fc0b35..ed90352 100644
--- a/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb
+++ b/meta-openembedded/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb
@@ -24,7 +24,7 @@
 inherit distro_features_check
 REQUIRED_DISTRO_FEATURES = "pam"
 
-LICENSE = "BSD"
+LICENSE = "BSD-1-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1b4af6f3d4ee079a38107366e93b334d"
 
 SRC_URI = "http://www.openwall.com/${BPN}/${BP}.tar.gz \
diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
index e661020..cd21950 100644
--- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
@@ -5,8 +5,8 @@
 LICENSE = "GPL-2.0+"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
 
-PV = "0.327"
-SRCREV = "874f7831c64de7ea2203cfcd1b3fc336bc27e468"
+PV = "0.328"
+SRCREV = "9f3125deb78a2e275b1285f935235d34ceda641d"
 SRC_URI = "git://github.com/vcrhonek/${BPN}.git"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb b/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb
index 4fc6eb0..c33c791 100644
--- a/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.4.bb
@@ -9,7 +9,7 @@
     file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
 "
 
-DEPENDS = "libusb1"
+DEPENDS = "libusb1 python3"
 
 SRC_URI = "http://www.intra2net.com/en/developer/${BPN}/download/${BPN}1-${PV}.tar.bz2"
 SRC_URI[md5sum] = "0c09fb2bb19a57c839fa6845c6c780a2"
@@ -17,11 +17,17 @@
 
 S = "${WORKDIR}/${BPN}1-${PV}"
 
-inherit cmake binconfig pkgconfig
+inherit cmake binconfig pkgconfig python3native
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on -DFTDIPP=on,-DFTDI_BUILD_CPP=off -DFTDIPP=off,boost"
 
-EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
+EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+                 -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
+                 -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
 
 BBCLASSEXTEND = "native nativesdk"
+
+PACKAGES += "${PN}-python"
+
+FILES_${PN}-python = "${libdir}/${PYTHON_DIR}/site-packages/"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_git.bb b/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_git.bb
new file mode 100644
index 0000000..e3c0bdd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_git.bb
@@ -0,0 +1,12 @@
+SUMMARY = "GUsb is a GObject wrapper for libusb1"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+DEPENDS = "glib-2.0 libusb"
+
+inherit meson gobject-introspection gtk-doc gettext vala
+
+SRC_URI = "git://github.com/hughsie/libgusb.git"
+SRCREV = "636efc0624aa2a88174220fcabc9764c13d7febf"
+PV = "0.3.0+git${SRCPV}"
+S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
index 4e57d5b..e6e0eae 100644
--- a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
@@ -12,7 +12,7 @@
 
 S = "${WORKDIR}/git"
 
-inherit cmake python3native systemd
+inherit cmake python3native systemd distutils3-base
 
 DEPENDS = " \
     flex-native bison-native libaio \
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.2.bb b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.3.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.2.bb
rename to meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.3.bb
index 06e78c7..358f0cb 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.3.bb
@@ -47,7 +47,7 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
 
-SRCREV = "8a7e9b6648898f2c2d2bbd2d22871f79612e716e"
+SRCREV = "6c3bd369b23e959700527e0e2e6d5b2a1bd36294"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch
new file mode 100644
index 0000000..6cb5dfc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch
@@ -0,0 +1,94 @@
+From 6fb28085e867d7c3ef46577d9ff193a185693bcb Mon Sep 17 00:00:00 2001
+From: Oliver Kurth <okurth@vmware.com>
+Date: Mon, 30 Sep 2019 16:24:27 -0700
+Subject: [PATCH] GitHub Issue #367. Remove references to deprecated G_INLINE_FUNC.
+
+G_INLINE_FUNC was a work-around for compilers that didn't support
+static inline.  Change uses of it to static inline.
+
+Upstream-Status: Backport
+[https://github.com/vmware/open-vm-tools/commit/89c0d444567eb525e8d083fb564c46d68e96660c]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ open-vm-tools/lib/include/vmware/tools/plugin.h     | 2 +-
+ open-vm-tools/lib/include/vmware/tools/threadPool.h | 8 ++++----
+ open-vm-tools/lib/include/vmware/tools/utils.h      | 9 ---------
+ 3 files changed, 5 insertions(+), 14 deletions(-)
+
+diff --git a/open-vm-tools/lib/include/vmware/tools/plugin.h b/open-vm-tools/lib/include/vmware/tools/plugin.h
+index f9acc6a2..deefd1f3 100644
+--- a/open-vm-tools/lib/include/vmware/tools/plugin.h
++++ b/open-vm-tools/lib/include/vmware/tools/plugin.h
+@@ -290,7 +290,7 @@ typedef struct ToolsAppCtx {
+  *
+  * @return TRUE if COM is initialized when the function returns.
+  */
+-G_INLINE_FUNC gboolean
++static inline gboolean
+ ToolsCore_InitializeCOM(ToolsAppCtx *ctx)
+ {
+    if (!ctx->comInitialized) {
+diff --git a/open-vm-tools/lib/include/vmware/tools/threadPool.h b/open-vm-tools/lib/include/vmware/tools/threadPool.h
+index 3f2082b3..5880fbcf 100644
+--- a/open-vm-tools/lib/include/vmware/tools/threadPool.h
++++ b/open-vm-tools/lib/include/vmware/tools/threadPool.h
+@@ -91,7 +91,7 @@ typedef struct ToolsCorePool {
+  *******************************************************************************
+  */
+ 
+-G_INLINE_FUNC ToolsCorePool *
++static inline ToolsCorePool *
+ ToolsCorePool_GetPool(ToolsAppCtx *ctx)
+ {
+    ToolsCorePool *pool = NULL;
+@@ -123,7 +123,7 @@ ToolsCorePool_GetPool(ToolsAppCtx *ctx)
+  *******************************************************************************
+  */
+ 
+-G_INLINE_FUNC guint
++static inline guint
+ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
+                          ToolsCorePoolCb cb,
+                          gpointer data,
+@@ -153,7 +153,7 @@ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
+  *******************************************************************************
+  */
+ 
+-G_INLINE_FUNC void
++static inline void
+ ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
+                          guint taskId)
+ {
+@@ -197,7 +197,7 @@ ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
+  *******************************************************************************
+  */
+ 
+-G_INLINE_FUNC gboolean
++static inline gboolean
+ ToolsCorePool_StartThread(ToolsAppCtx *ctx,
+                           const gchar *threadName,
+                           ToolsCorePoolCb cb,
+diff --git a/open-vm-tools/lib/include/vmware/tools/utils.h b/open-vm-tools/lib/include/vmware/tools/utils.h
+index f6574590..a3292d5c 100644
+--- a/open-vm-tools/lib/include/vmware/tools/utils.h
++++ b/open-vm-tools/lib/include/vmware/tools/utils.h
+@@ -51,15 +51,6 @@
+ #  include <sys/time.h>
+ #endif
+ 
+-
+-/* Work around a glib limitation: it doesn't set G_INLINE_FUNC on Win32. */
+-#if defined(G_PLATFORM_WIN32)
+-#  if defined(G_INLINE_FUNC)
+-#     undef G_INLINE_FUNC
+-#  endif
+-#  define G_INLINE_FUNC static __inline
+-#endif
+-
+ #ifndef ABS
+ #  define ABS(x) (((x) >= 0) ? (x) : -(x))
+ #endif
+-- 
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
index 0736572..a711f5e 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
@@ -14,11 +14,9 @@
  open-vm-tools/configure.ac | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
-index 325a39f5..713ea683 100644
 --- a/open-vm-tools/configure.ac
 +++ b/open-vm-tools/configure.ac
-@@ -949,7 +949,7 @@ if test "$with_dnet" = "yes"; then
+@@ -937,7 +937,7 @@ if test "$with_dnet" = "yes"; then
        AC_VMW_CHECK_LIB([dnet],
                         [DNET],
                         [],
@@ -27,11 +25,11 @@
                         [],
                         [dnet.h],
                         [intf_open],
-@@ -959,7 +959,7 @@ if test "$with_dnet" = "yes"; then
+@@ -947,7 +947,7 @@ if test "$with_dnet" = "yes"; then
  
     if test $have_dnet = "no"; then
  		AC_MSG_ERROR(
--		   [dnet-config was not found on your PATH. Please configure without dnet (using --without-dnet) or install dnet - http://libdnet.sourceforge.net])
+-		   [dnet-config was not found on your PATH. Please configure without dnet or install dnet - http://libdnet.sourceforge.net])
 +		   [dnet was not found. Please configure without dnet (using --without-dnet) or install dnet - http://libdnet.sourceforge.net])
     fi
  fi
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
index 5c1aa7c..9cf54f6 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
@@ -19,8 +19,6 @@
  7 files changed, 7 insertions(+), 7 deletions(-)
  rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%)
 
-diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c
-index b41aa29d..8691309d 100644
 --- a/open-vm-tools/lib/asyncsocket/asyncsocket.c
 +++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c
 @@ -86,7 +86,7 @@
@@ -32,8 +30,6 @@
  #include "log.h"
  #include "err.h"
  #include "hostinfo.h"
-diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c
-index 7ea3b7f4..740c4fed 100644
 --- a/open-vm-tools/lib/hgfsServer/hgfsServer.c
 +++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c
 @@ -48,7 +48,7 @@
@@ -45,8 +41,6 @@
  #include "mutexRankLib.h"
  #include "vm_basic_asm.h"
  #include "unicodeOperations.h"
-diff --git a/open-vm-tools/lib/include/asyncsocket.h b/open-vm-tools/lib/include/asyncsocket.h
-index ec9b45aa..dc91e738 100644
 --- a/open-vm-tools/lib/include/asyncsocket.h
 +++ b/open-vm-tools/lib/include/asyncsocket.h
 @@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket;
@@ -58,8 +52,6 @@
  struct IVmdbPoll;
  typedef struct AsyncSocketPollParams {
     int flags;               /* Default 0, only POLL_FLAG_NO_BULL is valid */
-diff --git a/open-vm-tools/lib/include/pollImpl.h b/open-vm-tools/lib/include/pollImpl.h
-index 46442e55..8bc66997 100644
 --- a/open-vm-tools/lib/include/pollImpl.h
 +++ b/open-vm-tools/lib/include/pollImpl.h
 @@ -44,7 +44,7 @@
@@ -71,24 +63,672 @@
  #include "vm_basic_asm.h"
  
  #if defined(__cplusplus)
-diff --git a/open-vm-tools/lib/include/poll.h b/open-vm-tools/lib/include/vm_poll.h
-similarity index 99%
-rename from open-vm-tools/lib/include/poll.h
-rename to open-vm-tools/lib/include/vm_poll.h
-index 6acd4f35..fbc88494 100644
 --- a/open-vm-tools/lib/include/poll.h
-+++ b/open-vm-tools/lib/include/vm_poll.h
-@@ -60,7 +60,7 @@ extern "C" {
- #if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
- #include <sys/kernel.h>
- #endif
++++ /dev/null
+@@ -1,330 +0,0 @@
+-/*********************************************************
+- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
+- *
+- * This program is free software; you can redistribute it and/or modify it
+- * under the terms of the GNU Lesser General Public License as published
+- * by the Free Software Foundation version 2.1 and no 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 Lesser GNU General Public
+- * License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public License
+- * along with this program; if not, write to the Free Software Foundation, Inc.,
+- * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA.
+- *
+- *********************************************************/
+-
+-/*********************************************************
+- * The contents of this file are subject to the terms of the Common
+- * Development and Distribution License (the "License") version 1.0
+- * and no later version.  You may not use this file except in
+- * compliance with the License.
+- *
+- * You can obtain a copy of the License at
+- *         http://www.opensource.org/licenses/cddl1.php
+- *
+- * See the License for the specific language governing permissions
+- * and limitations under the License.
+- *
+- *********************************************************/
+-
+-
+-#ifndef _POLL_H_
+-#define _POLL_H_
+-
+-#define INCLUDE_ALLOW_USERLEVEL
+-#define INCLUDE_ALLOW_VMCORE
+-#include "includeCheck.h"
+-
+-#include "vm_basic_types.h"
+-#include "vm_basic_defs.h"
+-#include "vmware.h"
+-#include "userlock.h"
+-
+-#if defined(__cplusplus)
+-extern "C" {
+-#endif
+-
+-#ifdef _WIN32
+-#define HZ 100
+-#elif defined linux
+-#include <asm/param.h>
+-#elif __APPLE__
+-#include <TargetConditionals.h>
+-/*
+- * Old SDKs don't define TARGET_OS_IPHONE at all.
+- * New ones define it to 0 on Mac OS X, 1 on iOS.
+- */
+-#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
+-#include <sys/kernel.h>
+-#endif
 -#include <sys/poll.h>
+-#define HZ 100
+-#endif
+-#ifdef __ANDROID__
+-/*
+- * <poll.h> of android should be included, but its name is same
+- * with this file. So its content is put here to avoid conflict.
+- */
+-#include <asm/poll.h>
+-#define HZ 100
+-typedef unsigned int  nfds_t;
+-int poll(struct pollfd *, nfds_t, long);
+-#endif
+-
+-
+-/*
+- * Poll event types: each type has a different reason for firing,
+- * or condition that must be met before firing.
+- */
+-
+-typedef enum {
+-   /*
+-    * Actual Poll queue types against which you can register callbacks.
+-    */
+-   POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
+-   POLL_VTIME = 0,
+-   POLL_REALTIME,
+-   POLL_DEVICE,
+-   POLL_MAIN_LOOP,
+-   POLL_NUM_QUEUES
+-} PollEventType;
+-
+-
+-/*
+- * Classes of events
+- *
+- * These are the predefined classes.  More can be declared
+- * with Poll_AllocClass().
+- */
+-
+-typedef enum PollClass {
+-   POLL_CLASS_MAIN,
+-   POLL_CLASS_PAUSE,
+-   POLL_CLASS_IPC,
+-   POLL_CLASS_CPT,
+-   POLL_CLASS_MKS,
+-   POLL_FIXED_CLASSES,
+-   POLL_DEFAULT_FIXED_CLASSES,
+-   /* Size enum to maximum */
+-   POLL_MAX_CLASSES = 31,
+-} PollClass;
+-
+-/*
+- * Do not use; Special pseudo private poll class supported by
+- * PollDefault only
+- */
+-#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES
+-#define POLL_DEFAULT_CS_NET    PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET)
+-
+-/*
+- * Each callback is registered in a set of classes
+- */
+-
+-typedef struct PollClassSet {
+-   uintptr_t bits;
+-} PollClassSet;
+-
+-/* An empty PollClassSet. */
+-static INLINE PollClassSet
+-PollClassSet_Empty(void)
+-{
+-   PollClassSet set = { 0 };
+-   return set;
+-}
+-
+-/* A PollClassSet with the single member. */
+-static INLINE PollClassSet
+-PollClassSet_Singleton(PollClass c)
+-{
+-   PollClassSet s = PollClassSet_Empty();
+-
+-   ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8);
+-   ASSERT(c < POLL_MAX_CLASSES);
+-
+-   s.bits = CONST3264U(1) << c;
+-   return s;
+-}
+-
+-/* Combine two PollClassSets. */
+-static INLINE PollClassSet
+-PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
+-{
+-   PollClassSet set;
+-   set.bits = lhs.bits | rhs.bits;
+-   return set;
+-}
+-
+-/* Add single class to PollClassSet. */
+-static INLINE PollClassSet
+-PollClassSet_Include(PollClassSet set, PollClass c)
+-{
+-   return PollClassSet_Union(set, PollClassSet_Singleton(c));
+-}
+-
+-
+-#define POLL_CS_MAIN    PollClassSet_Singleton(POLL_CLASS_MAIN)
+-#define POLL_CS_PAUSE   PollClassSet_Union(POLL_CS_MAIN,            \
+-                           PollClassSet_Singleton(POLL_CLASS_PAUSE))
+-#define POLL_CS_CPT     PollClassSet_Union(POLL_CS_PAUSE,           \
+-                           PollClassSet_Singleton(POLL_CLASS_CPT))
+-#define POLL_CS_IPC     PollClassSet_Union(POLL_CS_CPT,             \
+-                           PollClassSet_Singleton(POLL_CLASS_IPC))
+-#define POLL_CS_VMDB    POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
+-#define POLL_CS_MKS	PollClassSet_Singleton(POLL_CLASS_MKS)
+-/* 
+- * DANGER.  You don't need POLL_CS_ALWAYS.  Really.  So don't use it.
+- */
+-#define POLL_CS_ALWAYS  PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
+-
+-/*
+- * Poll class-set taxonomy:
+- * POLL_CS_MAIN
+- *    - Unless you NEED another class, use POLL_CS_MAIN.
+- * POLL_CS_PAUSE
+- *    - For callbacks that must occur even if the guest is paused.
+- *      Most VMDB or Foundry commands are in this category.
+- * POLL_CS_CPT
+- *    - Only for callbacks which can trigger intermediate Checkpoint 
+- *      transitions.
+- *      The ONLY such callback is Migrate.
+- * POLL_CS_IPC
+- *    - Only for callbacks which can contain Msg_(Post|Hint|Question) 
+- *      responses, and for signal handlers (why)?
+- *      Vigor, VMDB, and Foundry can contain Msg_* responses.
+- * POLL_CS_MKS
+- *    - Callback runs in MKS thread.
+- * POLL_CS_ALWAYS
+- *    - Only for events that must be processed immediately.
+- *      The ONLY such callback is OvhdMemVmxSizeCheck.
+- */
+-
+-
+-/*
+- * Poll_Callback flags
+- */
+-
+-#define POLL_FLAG_PERIODIC		0x01    // keep after firing
+-#define POLL_FLAG_REMOVE_AT_POWEROFF	0x02  	// self-explanatory
+-#define POLL_FLAG_READ			0x04	// device is ready for reading
+-#define POLL_FLAG_WRITE			0x08	// device is ready for writing
+-#define POLL_FLAG_SOCKET                0x10    // device is a Windows socket
+-#define POLL_FLAG_NO_BULL               0x20    // callback does its own locking
+-#define POLL_FLAG_WINSOCK               0x40    // Winsock style write events
+-#define POLL_FLAG_FD                    0x80    // device is a Windows file descriptor.
+-#define POLL_FLAG_ACCEPT_INVALID_FDS    0x100   // For broken 3rd party libs, e.g. curl
+-#define POLL_FLAG_THUNK_TO_WND          0x200   // thunk callback to window message loop
+-
+-
+-typedef void (*PollerFunction)(void *clientData);
+-typedef void (*PollerFireWrapper)(PollerFunction func,
+-                                  void *funcData,
+-                                  void *wrapperData);
+-typedef Bool (*PollerErrorFn)(const char *errorStr);
+-
+-/*
+- * Initialisers:
+- *
+- *      For the sake of convenience, we declare the initialisers
+- *      for custom implmentations here, even though the actual
+- *      implementations are distinct from the core poll code.
+- */
+-
+-typedef struct PollOptions {
+-   Bool locked;           // Use internal MXUser for locking
+-   Bool allowFullQueue;   // Don't assert when device event queue is full.
+-   VThreadID windowsMsgThread;       // thread that processes Windows messages
+-   PollerFireWrapper fireWrapperFn;  // optional; may be useful for stats
+-   void *fireWrapperData; // optional
+-   PollerErrorFn errorFn; // optional; called upon unrecoverable error
+-} PollOptions;
+-
+-
+-void Poll_InitDefault(void);
+-void Poll_InitDefaultEx(const PollOptions *opts);
+-void Poll_InitGtk(void); // On top of glib for Linux
+-void Poll_InitCF(void);  // On top of CoreFoundation for OSX
+-
+-
+-/*
+- * Functions
+- */
+-int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]);
+-void Poll_Loop(Bool loop, Bool *exit, PollClass c);
+-void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
+-Bool Poll_LockingEnabled(void);
+-void Poll_Exit(void);
+-
+-
+-/*
+- * Poll_Callback adds a callback regardless of whether an identical one exists.
+- * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of
+- * one read and one write callback per fd.
+- *
+- * Poll_CallbackRemove removes one callback. If there are multiple identical
+- * callbacks, which one is removed is an implementation detail. Note that in
+- * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to
+- * create the callback is not specified when removing, so all callbacks
+- * of those types with the same flags, function, and clientData are considered
+- * "identical" even if their fd/delay differed.
+- */
+-
+-VMwareStatus Poll_Callback(PollClassSet classSet,
+-                           int flags,
+-                           PollerFunction f,
+-                           void *clientData,
+-                           PollEventType type,
+-                           PollDevHandle info, // fd/microsec delay
+-                           MXUserRecLock *lck);
+-Bool Poll_CallbackRemove(PollClassSet classSet,
+-                         int flags,
+-                         PollerFunction f,
+-                         void *clientData,
+-                         PollEventType type);
+-Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
+-                                int flags,
+-                                PollerFunction f,
+-                                PollEventType type,
+-                                void **clientData);
+-
+-void Poll_NotifyChange(PollClassSet classSet);
+-
+-/*
+- * Wrappers for Poll_Callback and Poll_CallbackRemove that present
+- * simpler subsets of those interfaces.
+- */
+-
+-VMwareStatus Poll_CB_Device(PollerFunction f,
+-                            void *clientData,
+-                            PollDevHandle device,
+-                            Bool periodic);
+-
+-Bool Poll_CB_DeviceRemove(PollerFunction f,
+-                          void *clientData,
+-                          Bool periodic);
+-
+-
+-VMwareStatus Poll_CB_RTime(PollerFunction f,
+-                           void *clientData,
+-                           int64 delay,   // microseconds
+-                           Bool periodic,
+-                           MXUserRecLock *lock);
+-
+-Bool Poll_CB_RTimeRemove(PollerFunction f,
+-                         void *clientData,
+-                         Bool periodic);
+-
+-
+-#ifdef _WIN32
+-void Poll_SetPumpsWindowsMessages(Bool pumps);
+-void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
+-Bool Poll_FireWndCallback(void *lparam);
+-#endif
+-
+-#if defined(__cplusplus)
+-}  // extern "C"
+-#endif
+-
+-#endif // _POLL_H_
+--- /dev/null
++++ b/open-vm-tools/lib/include/vm_poll.h
+@@ -0,0 +1,330 @@
++/*********************************************************
++ * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU Lesser General Public License as published
++ * by the Free Software Foundation version 2.1 and no 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 Lesser GNU General Public
++ * License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA.
++ *
++ *********************************************************/
++
++/*********************************************************
++ * The contents of this file are subject to the terms of the Common
++ * Development and Distribution License (the "License") version 1.0
++ * and no later version.  You may not use this file except in
++ * compliance with the License.
++ *
++ * You can obtain a copy of the License at
++ *         http://www.opensource.org/licenses/cddl1.php
++ *
++ * See the License for the specific language governing permissions
++ * and limitations under the License.
++ *
++ *********************************************************/
++
++
++#ifndef _POLL_H_
++#define _POLL_H_
++
++#define INCLUDE_ALLOW_USERLEVEL
++#define INCLUDE_ALLOW_VMCORE
++#include "includeCheck.h"
++
++#include "vm_basic_types.h"
++#include "vm_basic_defs.h"
++#include "vmware.h"
++#include "userlock.h"
++
++#if defined(__cplusplus)
++extern "C" {
++#endif
++
++#ifdef _WIN32
++#define HZ 100
++#elif defined linux
++#include <asm/param.h>
++#elif __APPLE__
++#include <TargetConditionals.h>
++/*
++ * Old SDKs don't define TARGET_OS_IPHONE at all.
++ * New ones define it to 0 on Mac OS X, 1 on iOS.
++ */
++#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
++#include <sys/kernel.h>
++#endif
 +#include <poll.h>
- #define HZ 100
- #endif
- #ifdef __ANDROID__
-diff --git a/open-vm-tools/lib/rpcIn/rpcin.c b/open-vm-tools/lib/rpcIn/rpcin.c
-index 8eea7d86..c48f5be2 100644
++#define HZ 100
++#endif
++#ifdef __ANDROID__
++/*
++ * <poll.h> of android should be included, but its name is same
++ * with this file. So its content is put here to avoid conflict.
++ */
++#include <asm/poll.h>
++#define HZ 100
++typedef unsigned int  nfds_t;
++int poll(struct pollfd *, nfds_t, long);
++#endif
++
++
++/*
++ * Poll event types: each type has a different reason for firing,
++ * or condition that must be met before firing.
++ */
++
++typedef enum {
++   /*
++    * Actual Poll queue types against which you can register callbacks.
++    */
++   POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
++   POLL_VTIME = 0,
++   POLL_REALTIME,
++   POLL_DEVICE,
++   POLL_MAIN_LOOP,
++   POLL_NUM_QUEUES
++} PollEventType;
++
++
++/*
++ * Classes of events
++ *
++ * These are the predefined classes.  More can be declared
++ * with Poll_AllocClass().
++ */
++
++typedef enum PollClass {
++   POLL_CLASS_MAIN,
++   POLL_CLASS_PAUSE,
++   POLL_CLASS_IPC,
++   POLL_CLASS_CPT,
++   POLL_CLASS_MKS,
++   POLL_FIXED_CLASSES,
++   POLL_DEFAULT_FIXED_CLASSES,
++   /* Size enum to maximum */
++   POLL_MAX_CLASSES = 31,
++} PollClass;
++
++/*
++ * Do not use; Special pseudo private poll class supported by
++ * PollDefault only
++ */
++#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES
++#define POLL_DEFAULT_CS_NET    PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET)
++
++/*
++ * Each callback is registered in a set of classes
++ */
++
++typedef struct PollClassSet {
++   uintptr_t bits;
++} PollClassSet;
++
++/* An empty PollClassSet. */
++static INLINE PollClassSet
++PollClassSet_Empty(void)
++{
++   PollClassSet set = { 0 };
++   return set;
++}
++
++/* A PollClassSet with the single member. */
++static INLINE PollClassSet
++PollClassSet_Singleton(PollClass c)
++{
++   PollClassSet s = PollClassSet_Empty();
++
++   ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8);
++   ASSERT(c < POLL_MAX_CLASSES);
++
++   s.bits = CONST3264U(1) << c;
++   return s;
++}
++
++/* Combine two PollClassSets. */
++static INLINE PollClassSet
++PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
++{
++   PollClassSet set;
++   set.bits = lhs.bits | rhs.bits;
++   return set;
++}
++
++/* Add single class to PollClassSet. */
++static INLINE PollClassSet
++PollClassSet_Include(PollClassSet set, PollClass c)
++{
++   return PollClassSet_Union(set, PollClassSet_Singleton(c));
++}
++
++
++#define POLL_CS_MAIN    PollClassSet_Singleton(POLL_CLASS_MAIN)
++#define POLL_CS_PAUSE   PollClassSet_Union(POLL_CS_MAIN,            \
++                           PollClassSet_Singleton(POLL_CLASS_PAUSE))
++#define POLL_CS_CPT     PollClassSet_Union(POLL_CS_PAUSE,           \
++                           PollClassSet_Singleton(POLL_CLASS_CPT))
++#define POLL_CS_IPC     PollClassSet_Union(POLL_CS_CPT,             \
++                           PollClassSet_Singleton(POLL_CLASS_IPC))
++#define POLL_CS_VMDB    POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
++#define POLL_CS_MKS	PollClassSet_Singleton(POLL_CLASS_MKS)
++/* 
++ * DANGER.  You don't need POLL_CS_ALWAYS.  Really.  So don't use it.
++ */
++#define POLL_CS_ALWAYS  PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
++
++/*
++ * Poll class-set taxonomy:
++ * POLL_CS_MAIN
++ *    - Unless you NEED another class, use POLL_CS_MAIN.
++ * POLL_CS_PAUSE
++ *    - For callbacks that must occur even if the guest is paused.
++ *      Most VMDB or Foundry commands are in this category.
++ * POLL_CS_CPT
++ *    - Only for callbacks which can trigger intermediate Checkpoint 
++ *      transitions.
++ *      The ONLY such callback is Migrate.
++ * POLL_CS_IPC
++ *    - Only for callbacks which can contain Msg_(Post|Hint|Question) 
++ *      responses, and for signal handlers (why)?
++ *      Vigor, VMDB, and Foundry can contain Msg_* responses.
++ * POLL_CS_MKS
++ *    - Callback runs in MKS thread.
++ * POLL_CS_ALWAYS
++ *    - Only for events that must be processed immediately.
++ *      The ONLY such callback is OvhdMemVmxSizeCheck.
++ */
++
++
++/*
++ * Poll_Callback flags
++ */
++
++#define POLL_FLAG_PERIODIC		0x01    // keep after firing
++#define POLL_FLAG_REMOVE_AT_POWEROFF	0x02  	// self-explanatory
++#define POLL_FLAG_READ			0x04	// device is ready for reading
++#define POLL_FLAG_WRITE			0x08	// device is ready for writing
++#define POLL_FLAG_SOCKET                0x10    // device is a Windows socket
++#define POLL_FLAG_NO_BULL               0x20    // callback does its own locking
++#define POLL_FLAG_WINSOCK               0x40    // Winsock style write events
++#define POLL_FLAG_FD                    0x80    // device is a Windows file descriptor.
++#define POLL_FLAG_ACCEPT_INVALID_FDS    0x100   // For broken 3rd party libs, e.g. curl
++#define POLL_FLAG_THUNK_TO_WND          0x200   // thunk callback to window message loop
++
++
++typedef void (*PollerFunction)(void *clientData);
++typedef void (*PollerFireWrapper)(PollerFunction func,
++                                  void *funcData,
++                                  void *wrapperData);
++typedef Bool (*PollerErrorFn)(const char *errorStr);
++
++/*
++ * Initialisers:
++ *
++ *      For the sake of convenience, we declare the initialisers
++ *      for custom implmentations here, even though the actual
++ *      implementations are distinct from the core poll code.
++ */
++
++typedef struct PollOptions {
++   Bool locked;           // Use internal MXUser for locking
++   Bool allowFullQueue;   // Don't assert when device event queue is full.
++   VThreadID windowsMsgThread;       // thread that processes Windows messages
++   PollerFireWrapper fireWrapperFn;  // optional; may be useful for stats
++   void *fireWrapperData; // optional
++   PollerErrorFn errorFn; // optional; called upon unrecoverable error
++} PollOptions;
++
++
++void Poll_InitDefault(void);
++void Poll_InitDefaultEx(const PollOptions *opts);
++void Poll_InitGtk(void); // On top of glib for Linux
++void Poll_InitCF(void);  // On top of CoreFoundation for OSX
++
++
++/*
++ * Functions
++ */
++int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]);
++void Poll_Loop(Bool loop, Bool *exit, PollClass c);
++void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
++Bool Poll_LockingEnabled(void);
++void Poll_Exit(void);
++
++
++/*
++ * Poll_Callback adds a callback regardless of whether an identical one exists.
++ * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of
++ * one read and one write callback per fd.
++ *
++ * Poll_CallbackRemove removes one callback. If there are multiple identical
++ * callbacks, which one is removed is an implementation detail. Note that in
++ * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to
++ * create the callback is not specified when removing, so all callbacks
++ * of those types with the same flags, function, and clientData are considered
++ * "identical" even if their fd/delay differed.
++ */
++
++VMwareStatus Poll_Callback(PollClassSet classSet,
++                           int flags,
++                           PollerFunction f,
++                           void *clientData,
++                           PollEventType type,
++                           PollDevHandle info, // fd/microsec delay
++                           MXUserRecLock *lck);
++Bool Poll_CallbackRemove(PollClassSet classSet,
++                         int flags,
++                         PollerFunction f,
++                         void *clientData,
++                         PollEventType type);
++Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
++                                int flags,
++                                PollerFunction f,
++                                PollEventType type,
++                                void **clientData);
++
++void Poll_NotifyChange(PollClassSet classSet);
++
++/*
++ * Wrappers for Poll_Callback and Poll_CallbackRemove that present
++ * simpler subsets of those interfaces.
++ */
++
++VMwareStatus Poll_CB_Device(PollerFunction f,
++                            void *clientData,
++                            PollDevHandle device,
++                            Bool periodic);
++
++Bool Poll_CB_DeviceRemove(PollerFunction f,
++                          void *clientData,
++                          Bool periodic);
++
++
++VMwareStatus Poll_CB_RTime(PollerFunction f,
++                           void *clientData,
++                           int64 delay,   // microseconds
++                           Bool periodic,
++                           MXUserRecLock *lock);
++
++Bool Poll_CB_RTimeRemove(PollerFunction f,
++                         void *clientData,
++                         Bool periodic);
++
++
++#ifdef _WIN32
++void Poll_SetPumpsWindowsMessages(Bool pumps);
++void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
++Bool Poll_FireWndCallback(void *lparam);
++#endif
++
++#if defined(__cplusplus)
++}  // extern "C"
++#endif
++
++#endif // _POLL_H_
 --- a/open-vm-tools/lib/rpcIn/rpcin.c
 +++ b/open-vm-tools/lib/rpcIn/rpcin.c
 @@ -57,7 +57,7 @@
@@ -100,16 +740,3 @@
  #  include "asyncsocket.h"
  #  include "vmci_defs.h"
  #include "dataMap.h"
-diff --git a/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c b/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
-index 03700937..f0b49ad7 100644
---- a/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
-+++ b/open-vm-tools/services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c
-@@ -48,7 +48,7 @@
- #include "rpcout.h"
- #include "rabbitmqProxyConst.h"
- #include "vm_basic_types.h"
--#include "poll.h"
-+#include "vm_poll.h"
- #ifdef OPEN_VM_TOOLS
- #include "vmci_sockets.h"
- #include "sslDirect.h"
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch
index 88f4f69..3e4753b 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch
@@ -14,18 +14,14 @@
  open-vm-tools/lib/misc/util_misc.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/open-vm-tools/lib/misc/util_misc.c b/open-vm-tools/lib/misc/util_misc.c
-index 198c23d2..0ac0a335 100644
 --- a/open-vm-tools/lib/misc/util_misc.c
 +++ b/open-vm-tools/lib/misc/util_misc.c
-@@ -719,8 +719,8 @@ Util_ExpandString(const char *fileName) // IN  file path to expand
+@@ -719,7 +719,7 @@ Util_ExpandString(const char *fileName)
        ASSERT(!freeChunk[i]);
        chunks[i] = expand;
        if (chunks[i] == NULL) {
--	 Log("%s: Cannot allocate memory to expand \"%s\" in \"%s\".\n",
--             __FUNCTION__, expand, fileName);
+-	 Log("%s: Cannot allocate memory to expand $ in \"%s\".\n",
 +	 Log("%s: Cannot allocate memory to expand in \"%s\".\n",
-+             __FUNCTION__, fileName);
+              __FUNCTION__, fileName);
  	 goto out;
        }
-       chunkSize[i] = strlen(expand);
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch
deleted file mode 100644
index b5ccffd..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0014-Fix-new-warnings-from-gcc9.patch
+++ /dev/null
@@ -1,1281 +0,0 @@
-From af9eca8689c97ea8e792902b458a31608286655e Mon Sep 17 00:00:00 2001
-From: Martin Jansa <martin.jansa@lge.com>
-Date: Thu, 13 Jun 2019 16:01:03 +0000
-Subject: [PATCH] Fix new warnings from gcc9
-
-Imported from Fedora:
-https://src.fedoraproject.org/rpms/open-vm-tools/raw/master/f/gcc9-warnings.patch
-
-Upstream bug:
-https://github.com/vmware/open-vm-tools/issues/330
-
-Upstream-Status: Pending
----
- open-vm-tools/hgfsmounter/hgfsmounter.c   |  14 +-
- open-vm-tools/lib/hgfsServer/hgfsServer.c |  24 ++-
- open-vm-tools/vmhgfs-fuse/dir.c           | 175 ++++++++---------
- open-vm-tools/vmhgfs-fuse/file.c          | 217 +++++++++++++---------
- open-vm-tools/vmhgfs-fuse/filesystem.c    |  46 ++---
- open-vm-tools/vmhgfs-fuse/fsutil.c        |  63 ++++---
- open-vm-tools/vmhgfs-fuse/link.c          | 125 +++++++------
- 7 files changed, 367 insertions(+), 297 deletions(-)
-
-diff --git a/open-vm-tools/hgfsmounter/hgfsmounter.c b/open-vm-tools/hgfsmounter/hgfsmounter.c
-index 0921b700..3f6798dc 100644
---- a/open-vm-tools/hgfsmounter/hgfsmounter.c
-+++ b/open-vm-tools/hgfsmounter/hgfsmounter.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 2006-2017 VMware, Inc. All rights reserved.
-+ * Copyright (C) 2006-2019 VMware, Inc. All rights reserved.
-  *
-  * This program is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as published
-@@ -514,11 +514,13 @@ ParseFmask(const char *option,         // IN:  option string along with value
-            HgfsMountInfo *mountInfo,   // OUT: mount data
-            int *flags)                 // OUT: mount flags
- {
-+   unsigned short fmask = 0;
-    ASSERT(option);
-    ASSERT(mountInfo);
- 
--   if (ParseMask(option, &mountInfo->fmask)) {
--      LOG("Setting mount fmask to %o\n", mountInfo->fmask);
-+   if (ParseMask(option, &fmask)) {
-+      LOG("Setting mount fmask to %o\n", fmask);
-+      mountInfo->fmask = fmask;
-       return TRUE;
-    }
- 
-@@ -548,11 +550,13 @@ ParseDmask(const char *option,         // IN:  option string along with value
-            HgfsMountInfo *mountInfo,   // OUT: mount data
-            int *flags)                 // OUT: mount flags
- {
-+   unsigned short dmask = 0;
-    ASSERT(option);
-    ASSERT(mountInfo);
- 
--   if (ParseMask(option, &mountInfo->dmask)) {
--      LOG("Setting mount dmask to %o\n", mountInfo->dmask);
-+   if (ParseMask(option, &dmask)) {
-+      LOG("Setting mount dmask to %o\n", dmask);
-+      mountInfo->dmask = dmask;
-       return TRUE;
-    }
- 
-diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c
-index 740c4fed..422383cd 100644
---- a/open-vm-tools/lib/hgfsServer/hgfsServer.c
-+++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
-+ * Copyright (C) 1998-2019 VMware, Inc. All rights reserved.
-  *
-  * This program is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as published
-@@ -159,7 +159,7 @@ struct HgfsTransportSessionInfo {
-    HgfsServerChannelData channelCapabilities;
- };
- 
--/* The input request paramaters object. */
-+/* The input request parameters object. */
- typedef struct HgfsInputParam {
-    const void *request;          /* Hgfs header followed by operation request */
-    size_t requestSize;           /* Size of Hgfs header and operation request */
-@@ -2682,8 +2682,8 @@ HgfsSearchHandle2Search(HgfsHandle handle,         // IN: handle
-  *    None
-  *
-  * Side effects:
-- *    If there isnt enough memory to accomodate the new names, those file nodes
-- *    that couldnt be updated are deleted.
-+ *    If there isn't enough memory to accommodate the new names, those file nodes
-+ *    that couldn't be updated are deleted.
-  *
-  *-----------------------------------------------------------------------------
-  */
-@@ -3399,7 +3399,7 @@ HgfsServerSessionReceive(HgfsPacket *packet,      // IN: Hgfs Packet
- 
-    /* Send error if we fail to process the op. */
-    if (HGFS_ERROR_SUCCESS != status) {
--      LOG(4, ("Error %d occured parsing the packet\n", (uint32)status));
-+      LOG(4, ("Error %d occurred parsing the packet\n", (uint32)status));
-       HgfsServerCompleteRequest(status, 0, input);
-    }
- }
-@@ -4131,7 +4131,7 @@ HgfsServerSetSessionCapability(HgfsOp op,                  // IN: operation code
-          result = TRUE;
-       }
-    }
--   LOG(4, ("%s: Setting capabilitiy flags %x for op code %d %s\n",
-+   LOG(4, ("%s: Setting capability flags %x for op code %d %s\n",
-            __FUNCTION__, flags, op, result ? "succeeded" : "failed"));
- 
-    return result;
-@@ -4143,7 +4143,7 @@ HgfsServerSetSessionCapability(HgfsOp op,                  // IN: operation code
-  *
-  * HgfsServerResEnumInit --
-  *
-- *    Initialize an enumeration of all exisitng resources.
-+ *    Initialize an enumeration of all existing resources.
-  *
-  * Results:
-  *    The enumeration state object.
-@@ -4239,7 +4239,7 @@ HgfsServerResEnumExit(void *enumState)           // IN/OUT: enumeration state
-  *
-  * HgfsServerEnumerateSharedFolders --
-  *
-- *    Enumerates all exisitng shared folders and registers shared folders with
-+ *    Enumerates all existing shared folders and registers shared folders with
-  *    directory notification package.
-  *
-  * Results:
-@@ -6536,11 +6536,13 @@ HgfsServerRead(HgfsInputParam *input)  // IN: Input params
-             payload = &reply->payload[0];
-          }
-          if (payload) {
-+            uint32 actualSize = 0;
-             status = HgfsPlatformReadFile(readFd, input->session, offset,
-                                           requiredSize, payload,
--                                          &reply->actualSize);
-+                                          &actualSize);
-             if (HGFS_ERROR_SUCCESS == status) {
-                reply->reserved = 0;
-+               reply->actualSize = actualSize;
-                replyPayloadSize = sizeof *reply;
- 
-                if (readUseDataBuffer) {
-@@ -6556,11 +6558,13 @@ HgfsServerRead(HgfsInputParam *input)  // IN: Input params
-          break;
-       }
-    case HGFS_OP_READ: {
-+         uint32 actualSize = 0;
-          HgfsReplyRead *reply = replyRead;
- 
-          status = HgfsPlatformReadFile(readFd, input->session, offset, requiredSize,
--                                       reply->payload, &reply->actualSize);
-+                                       reply->payload, &actualSize);
-          if (HGFS_ERROR_SUCCESS == status) {
-+            reply->actualSize = actualSize;
-             replyPayloadSize = sizeof *reply + reply->actualSize;
-          } else {
-             LOG(4, ("%s: V1 Failed to read-> %d.\n", __FUNCTION__, status));
-diff --git a/open-vm-tools/vmhgfs-fuse/dir.c b/open-vm-tools/vmhgfs-fuse/dir.c
-index 6298a4ea..e71b7afd 100644
---- a/open-vm-tools/vmhgfs-fuse/dir.c
-+++ b/open-vm-tools/vmhgfs-fuse/dir.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 2013 VMware, Inc. All rights reserved.
-+ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved.
-  *
-  * This program is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as published
-@@ -54,38 +54,53 @@ HgfsPackDirOpenRequest(const char *path,    // IN: Path of the dir to open
-                        HgfsOp opUsed,       // IN: Op to be used
-                        HgfsReq *req)        // IN/OUT: Packet to write into
- {
--   char *name;
--   unsigned int *nameLength = NULL;
-    size_t reqSize;
--   int result;
- 
-    ASSERT(path);
-    ASSERT(req);
-    LOG(4, ("Path = %s \n", path));
-    switch (opUsed) {
-    case HGFS_OP_SEARCH_OPEN_V3: {
-+      int result;
-       HgfsRequestSearchOpenV3 *requestV3 = HgfsGetRequestPayload(req);
- 
--      /* We'll use these later. */
--      name = requestV3->dirName.name;
--      nameLength = &requestV3->dirName.length;
-       requestV3->dirName.flags = 0;
-       requestV3->dirName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
-       requestV3->dirName.fid = HGFS_INVALID_HANDLE;
-       requestV3->reserved = 0;
-       reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
-+      /* Convert to CP name. */
-+      result = CPName_ConvertTo(path,
-+                                HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+                                requestV3->dirName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed\n"));
-+         return -EINVAL;
-+      }
-+      LOG(4, ("After conversion = %s\n", requestV3->dirName.name));
-+      requestV3->dirName.length = result;
-+      reqSize += result;
-       break;
-    }
- 
-    case HGFS_OP_SEARCH_OPEN: {
-+      int result;
-       HgfsRequestSearchOpen *request;
- 
-       request = (HgfsRequestSearchOpen *)(HGFS_REQ_PAYLOAD(req));
- 
--      /* We'll use these later. */
--      name = request->dirName.name;
--      nameLength = &request->dirName.length;
-       reqSize = sizeof *request;
-+      /* Convert to CP name. */
-+      result = CPName_ConvertTo(path,
-+                                HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+                                request->dirName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed\n"));
-+         return -EINVAL;
-+      }
-+      LOG(4, ("After conversion = %s\n", request->dirName.name));
-+      request->dirName.length = result;
-+      reqSize += result;
-       break;
-    }
- 
-@@ -94,21 +109,7 @@ HgfsPackDirOpenRequest(const char *path,    // IN: Path of the dir to open
-       return -EPROTO;
-    }
- 
--   /* Convert to CP name. */
--
--   LOG(4, ("After buildPath = %s\n", path));
--   result = CPName_ConvertTo(path,
--                             HGFS_LARGE_PACKET_MAX - (reqSize - 1),
--                             name);
--   if (result < 0) {
--      LOG(4, ("CP conversion failed\n"));
--      return -EINVAL;
--   }
--
--   LOG(4, ("After conversion = %s\n", name));
--
--   *nameLength = (uint32) result;
--   req->payloadSize = reqSize + result;
-+   req->payloadSize = reqSize;
- 
-    /* Fill in header here as payloadSize needs to be there. */
-    HgfsPackHeader(req, opUsed);
-@@ -149,7 +150,6 @@ HgfsDirOpen(const char* path,       // IN: Path of dir to open
-    int result;
-    HgfsOp opUsed;
-    HgfsStatus replyStatus;
--   HgfsHandle *replySearch;
- 
-    ASSERT(path);
-    req = HgfsGetNewRequest();
-@@ -161,16 +161,6 @@ HgfsDirOpen(const char* path,       // IN: Path of dir to open
- 
- retry:
-    opUsed = hgfsVersionSearchOpen;
--   if (opUsed == HGFS_OP_SEARCH_OPEN_V3) {
--      HgfsReplySearchOpenV3 *requestV3 = HgfsGetReplyPayload(req);
--
--     replySearch = &requestV3->search;
--
--   } else {
--      HgfsReplySearchOpen *request = (HgfsReplySearchOpen *)HGFS_REQ_PAYLOAD(req);
--
--      replySearch = &request->search;
--   }
- 
-    result = HgfsPackDirOpenRequest(path, opUsed, req);
-    if (result != 0) {
-@@ -187,8 +177,14 @@ retry:
- 
-       switch (result) {
-       case 0:
--         *handle = *replySearch;
--         LOG(6, ("Set handle to %u\n", *replySearch));
-+         if (opUsed == HGFS_OP_SEARCH_OPEN_V3) {
-+            HgfsReplySearchOpenV3 *requestV3 = HgfsGetReplyPayload(req);
-+            *handle = requestV3->search;
-+         } else {
-+            HgfsReplySearchOpen *request = (HgfsReplySearchOpen *)HGFS_REQ_PAYLOAD(req);
-+            *handle = request->search;
-+         }
-+         LOG(6, ("Set handle to %u\n", *handle));
-          break;
-       case -EPROTO:
-          /* Retry with older version(s). Set globally. */
-@@ -626,25 +622,30 @@ HgfsPackCreateDirRequest(const char *path,
-                          HgfsOp opUsed,         // IN: Op to be used.
-                          HgfsReq *req)          // IN/OUT: Packet to write into
- {
--   char *fileName = NULL;
--   uint32 *fileNameLength;
-    size_t reqSize;
--   int result;
-+
- 
-    ASSERT(req);
- 
-    switch (opUsed) {
-    case HGFS_OP_CREATE_DIR_V3: {
-+      int result;
-       HgfsRequestCreateDirV3 *requestV3 = HgfsGetRequestPayload(req);
- 
-       reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
--      /* We'll use these later. */
--      fileName = requestV3->fileName.name;
--      fileNameLength = &requestV3->fileName.length;
-       requestV3->fileName.flags = 0;
-       requestV3->fileName.fid = HGFS_INVALID_HANDLE;
-       requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
--
-+      /* Convert to CP name. */
-+      result = CPName_ConvertTo(path,
-+                                HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+                                requestV3->fileName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed.\n"));
-+         return -EINVAL;
-+      }
-+      requestV3->fileName.length = result;
-+      reqSize += result;
-       requestV3->mask = HGFS_CREATE_DIR_MASK;
- 
-       /* Set permissions. */
-@@ -656,15 +657,23 @@ HgfsPackCreateDirRequest(const char *path,
-       break;
-    }
-    case HGFS_OP_CREATE_DIR_V2: {
-+      int result;
-       HgfsRequestCreateDirV2 *requestV2;
- 
-       requestV2 = (HgfsRequestCreateDirV2 *)(HGFS_REQ_PAYLOAD(req));
- 
--      /* We'll use these later. */
--      fileName = requestV2->fileName.name;
--      fileNameLength = &requestV2->fileName.length;
-       reqSize = sizeof *requestV2;
- 
-+      /* Convert to CP name. */
-+      result = CPName_ConvertTo(path,
-+                                HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+                                requestV2->fileName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed.\n"));
-+         return -EINVAL;
-+      }
-+      requestV2->fileName.length = result;
-+      reqSize += result;
-       requestV2->mask = HGFS_CREATE_DIR_MASK;
- 
-       /* Set permissions. */
-@@ -675,15 +684,22 @@ HgfsPackCreateDirRequest(const char *path,
-       break;
-    }
-    case HGFS_OP_CREATE_DIR: {
-+      int result;
-       HgfsRequestCreateDir *request;
- 
-       request = (HgfsRequestCreateDir *)(HGFS_REQ_PAYLOAD(req));
- 
--      /* We'll use these later. */
--      fileName = request->fileName.name;
--      fileNameLength = &request->fileName.length;
-       reqSize = sizeof *request;
--
-+      /* Convert to CP name. */
-+      result = CPName_ConvertTo(path,
-+                                HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+                                request->fileName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed.\n"));
-+         return -EINVAL;
-+      }
-+      request->fileName.length = result;
-+      reqSize += result;
-       /* Set permissions. */
-       request->permissions = (permsMode & S_IRWXU) >> 6;
-       break;
-@@ -693,18 +709,7 @@ HgfsPackCreateDirRequest(const char *path,
-       return -EPROTO;
-    }
- 
--
--   /* Convert to CP name. */
--   result = CPName_ConvertTo(path,
--                             HGFS_LARGE_PACKET_MAX - (reqSize - 1),
--                             fileName);
--   if (result < 0) {
--      LOG(4, ("CP conversion failed.\n"));
--      return -EINVAL;
--   }
--
--   *fileNameLength = result;
--   req->payloadSize = reqSize + result;
-+   req->payloadSize = reqSize;
- 
-    /* Fill in header here as payloadSize needs to be there. */
-    HgfsPackHeader(req, opUsed);
-@@ -827,8 +832,6 @@ HgfsDelete(const char* path,       // IN: Path to file
-    HgfsReq *req = NULL;
-    int result = 0;
-    HgfsStatus replyStatus;
--   char *fileName = NULL;
--   uint32 *fileNameLength;
-    uint32 reqSize;
-    HgfsOp opUsed;
-    HgfsAttrInfo newAttr = {0};
-@@ -862,8 +865,17 @@ HgfsDelete(const char* path,       // IN: Path to file
- 
-       reqSize = sizeof(*request) + HgfsGetRequestHeaderSize();
-       request->hints = 0;
--      fileName = request->fileName.name;
--      fileNameLength = &request->fileName.length;
-+      /* Convert to CP name. */
-+      result = CPName_ConvertTo(path,
-+                                HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
-+                                request->fileName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed.\n"));
-+         result = -EINVAL;
-+         goto out;
-+      }
-+      request->fileName.length = result;
-+      reqSize += result;
-       request->fileName.fid = HGFS_INVALID_HANDLE;
-       request->fileName.flags = 0;
-       request->fileName.caseType = HGFS_FILE_NAME_DEFAULT_CASE;
-@@ -874,24 +886,21 @@ HgfsDelete(const char* path,       // IN: Path to file
- 
-       request = (HgfsRequestDelete *)(HGFS_REQ_PAYLOAD(req));
-       /* Fill out the request packet. */
--      fileName = request->fileName.name;
--      fileNameLength = &request->fileName.length;
-       reqSize = sizeof *request;
-+      /* Convert to CP name. */
-+      result = CPName_ConvertTo(path,
-+                                HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
-+                                request->fileName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed.\n"));
-+         result = -EINVAL;
-+         goto out;
-+      }
-+      request->fileName.length = result;
-+      reqSize += result;
-    }
- 
--
--   /* Convert to CP name. */
--   result = CPName_ConvertTo(path,
--                             HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
--                             fileName);
--   if (result < 0) {
--      LOG(4, ("CP conversion failed.\n"));
--      result = -EINVAL;
--      goto out;
--   }
--
--   *fileNameLength = result;
--   req->payloadSize = reqSize + result;
-+   req->payloadSize = reqSize;
- 
-    /* Fill in header here as payloadSize needs to be there. */
-    HgfsPackHeader(req, opUsed);
-diff --git a/open-vm-tools/vmhgfs-fuse/file.c b/open-vm-tools/vmhgfs-fuse/file.c
-index 389ebba8..0b6c48bc 100644
---- a/open-vm-tools/vmhgfs-fuse/file.c
-+++ b/open-vm-tools/vmhgfs-fuse/file.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 2013,2017 VMware, Inc. All rights reserved.
-+ * Copyright (C) 2013,2018-2019 VMware, Inc. All rights reserved.
-  *
-  * This program is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as published
-@@ -66,10 +66,7 @@ HgfsPackOpenRequest(const char *path,          // IN: Path to file
-                     HgfsOp opUsed,             // IN: Op to use
-                     HgfsReq *req)              // IN/OUT: Packet to write into
- {
--   char *name;
--   uint32 *nameLength;
-    size_t reqSize;
--   int result;
-    int openMode, openFlags;
- 
-    ASSERT(path);
-@@ -88,14 +85,22 @@ HgfsPackOpenRequest(const char *path,          // IN: Path to file
- 
-    switch (opUsed) {
-     case HGFS_OP_OPEN_V3: {
-+      int result;
-       HgfsRequestOpenV3 *requestV3 = HgfsGetRequestPayload(req);
- 
-       reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
- 
--      /* We'll use these later. */
--      name = requestV3->fileName.name;
--      nameLength = &requestV3->fileName.length;
-+      /* Convert to CP name. */
-+      result = CPName_ConvertTo(path,
-+                                HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+                                requestV3->fileName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed.\n"));
-+         return -EINVAL;
-+      }
- 
-+      requestV3->fileName.length = result;
-+      reqSize += result;
-       /* Linux clients need case-sensitive lookups. */
-       requestV3->fileName.flags = 0;
-       requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
-@@ -122,15 +127,24 @@ HgfsPackOpenRequest(const char *path,          // IN: Path to file
-    }
- 
-    case HGFS_OP_OPEN_V2: {
-+      int result;
-       HgfsRequestOpenV2 *requestV2;
- 
-       requestV2 = (HgfsRequestOpenV2 *)(HGFS_REQ_PAYLOAD(req));
- 
--      /* We'll use these later. */
--      name = requestV2->fileName.name;
--      nameLength = &requestV2->fileName.length;
-       reqSize = sizeof *requestV2;
- 
-+      /* Convert to CP name. */
-+      result = CPName_ConvertTo(path,
-+                                HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+                                requestV2->fileName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed.\n"));
-+         return -EINVAL;
-+      }
-+
-+      requestV2->fileName.length = result;
-+      reqSize += result;
-       requestV2->mask = mask;
-       requestV2->mode = openMode;
-       requestV2->flags = openFlags;
-@@ -148,14 +162,23 @@ HgfsPackOpenRequest(const char *path,          // IN: Path to file
-       break;
-    }
-    case HGFS_OP_OPEN: {
-+      int result;
-       HgfsRequestOpen *request;
- 
-       request = (HgfsRequestOpen *)(HGFS_REQ_PAYLOAD(req));
--      /* We'll use these later. */
--      name = request->fileName.name;
--      nameLength = &request->fileName.length;
-       reqSize = sizeof *request;
- 
-+      /* Convert to CP name. */
-+      result = CPName_ConvertTo(path,
-+                                HGFS_LARGE_PACKET_MAX - (reqSize - 1),
-+                                request->fileName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed.\n"));
-+         return -EINVAL;
-+      }
-+
-+      request->fileName.length = result;
-+      reqSize += result;
-       request->mode = openMode;
-       request->flags = openFlags;
- 
-@@ -168,18 +191,7 @@ HgfsPackOpenRequest(const char *path,          // IN: Path to file
-       return -EPROTO;
-    }
- 
--
--   /* Convert to CP name. */
--   result = CPName_ConvertTo(path,
--                             HGFS_LARGE_PACKET_MAX - (reqSize - 1),
--                             name);
--   if (result < 0) {
--      LOG(4, ("CP conversion failed.\n"));
--      return -EINVAL;
--   }
--
--   *nameLength = (uint32) result;
--   req->payloadSize = reqSize + result;
-+   req->payloadSize = reqSize;
- 
-    /* Fill in header here as payloadSize needs to be there. */
-    HgfsPackHeader(req, opUsed);
-@@ -915,10 +927,6 @@ int
- HgfsRename(const char* from, const char* to)
- {
-    HgfsReq *req = NULL;
--   char *oldName;
--   char *newName;
--   uint32 *oldNameLength;
--   uint32 *newNameLength;
-    int result = 0;
-    uint32 reqSize;
-    HgfsOp opUsed;
-@@ -942,33 +950,41 @@ retry:
-    if (opUsed == HGFS_OP_RENAME_V3) {
-       HgfsRequestRenameV3 *requestV3 = HgfsGetRequestPayload(req);
- 
--      oldName = requestV3->oldName.name;
--      oldNameLength = &requestV3->oldName.length;
-       requestV3->hints = 0;
-       requestV3->oldName.flags = 0;
-       requestV3->oldName.fid = HGFS_INVALID_HANDLE;
-       requestV3->oldName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
-       requestV3->reserved = 0;
-       reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
-+      /* Convert old name to CP format. */
-+      result = CPName_ConvertTo(from,
-+                                HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
-+                                requestV3->oldName.name);
-+      if (result < 0) {
-+         LOG(4, ("oldName CP conversion failed\n"));
-+         result = -EINVAL;
-+         goto out;
-+      }
-+
-+      requestV3->oldName.length = result;
-+      reqSize += result;
-    } else {
-       HgfsRequestRename *request = (HgfsRequestRename *)HGFS_REQ_PAYLOAD(req);
- 
--      oldName = request->oldName.name;
--      oldNameLength = &request->oldName.length;
-       reqSize = sizeof *request;
--   }
--   /* Convert old name to CP format. */
--   result = CPName_ConvertTo(from,
--                             HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
--                             oldName);
--   if (result < 0) {
--      LOG(4, ("oldName CP conversion failed\n"));
--      result = -EINVAL;
--      goto out;
--   }
-+      /* Convert old name to CP format. */
-+      result = CPName_ConvertTo(from,
-+                                HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize),
-+                                request->oldName.name);
-+      if (result < 0) {
-+         LOG(4, ("oldName CP conversion failed\n"));
-+         result = -EINVAL;
-+         goto out;
-+      }
- 
--   *oldNameLength = result;
--   reqSize += result;
-+      request->oldName.length = result;
-+      reqSize += result;
-+   }
- 
-    /*
-     * Build full new name to send to server.
-@@ -983,8 +999,20 @@ retry:
- 
-       newNameP = (HgfsFileNameV3 *)((char *)&requestV3->oldName +
-                                     sizeof requestV3->oldName + result);
--      newName = newNameP->name;
--      newNameLength = &newNameP->length;
-+
-+      LOG(6, ("New name: \"%s\"\n", newNameP->name));
-+
-+      /* Convert new name to CP format. */
-+      result = CPName_ConvertTo(to,
-+                                HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize) - result,
-+                                newNameP->name);
-+      if (result < 0) {
-+         LOG(4, ("newName CP conversion failed\n"));
-+         result = -EINVAL;
-+         goto out;
-+      }
-+      newNameP->length = result;
-+      reqSize += result;
-       newNameP->flags = 0;
-       newNameP->fid = HGFS_INVALID_HANDLE;
-       newNameP->caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
-@@ -993,24 +1021,22 @@ retry:
-       HgfsFileName *newNameP;
-       newNameP = (HgfsFileName *)((char *)&request->oldName +
-                                   sizeof request->oldName + result);
--      newName = newNameP->name;
--      newNameLength = &newNameP->length;
--   }
- 
--   LOG(6, ("New name: \"%s\"\n", newName));
-+      LOG(6, ("New name: \"%s\"\n", newNameP->name));
- 
--   /* Convert new name to CP format. */
--   result = CPName_ConvertTo(to,
--                             HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize) - result,
--                             newName);
--   if (result < 0) {
--      LOG(4, ("newName CP conversion failed\n"));
--      result = -EINVAL;
--      goto out;
-+      /* Convert new name to CP format. */
-+      result = CPName_ConvertTo(to,
-+                                HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize) - result,
-+                                newNameP->name);
-+      if (result < 0) {
-+         LOG(4, ("newName CP conversion failed\n"));
-+         result = -EINVAL;
-+         goto out;
-+      }
-+      newNameP->length = result;
-+      reqSize += result;
-    }
- 
--   *newNameLength = result;
--   reqSize += result;
-    req->payloadSize = reqSize;
- 
-    /* Fill in header here as payloadSize needs to be there. */
-@@ -1068,7 +1094,7 @@ retry:
-          }
-          break;
-       default:
--         LOG(4, ("failed with result %d\n", result));
-+         LOG(4, ("Server protocol result %d\n", result));
-       }
-       break;
-    default:
-@@ -1109,21 +1135,17 @@ HgfsPackSetattrRequest(const char *path,   // IN:  path to file
- {
-    HgfsAttrV2 *attrV2;
-    HgfsAttr *attrV1;
--   HgfsAttrHint *hints;
-    HgfsAttrChanges *update;
--   char *fileName = NULL;
--   uint32 *fileNameLength = NULL;
-    size_t reqBufferSize;
-    size_t reqSize;
--   int result = 0;
-    ASSERT(req);
- 
-    switch (opUsed) {
-    case HGFS_OP_SETATTR_V3: {
-+      int result;
-       HgfsRequestSetattrV3 *requestV3 = HgfsGetRequestPayload(req);
- 
-       attrV2 = &requestV3->attr;
--      hints = &requestV3->hints;
- 
-       /*
-        * Clear attributes, mask, and hints before touching them.
-@@ -1131,7 +1153,7 @@ HgfsPackSetattrRequest(const char *path,   // IN:  path to file
-        * make sure to zero them all here.
-        */
-       memset(attrV2, 0, sizeof *attrV2);
--      memset(hints, 0, sizeof *hints);
-+      requestV3->hints = 0;
- 
-       /*
-        * When possible, issue a setattr using an existing handle. This will
-@@ -1143,14 +1165,21 @@ HgfsPackSetattrRequest(const char *path,   // IN:  path to file
-        * the times also requires write permissions on Windows, so we require it
-        * here too. Otherwise, any handle will do.
-        */
--      fileName = requestV3->fileName.name;
--      fileNameLength = &requestV3->fileName.length;
-       requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
-       requestV3->fileName.fid = HGFS_INVALID_HANDLE;
-       requestV3->fileName.flags = 0;
-       requestV3->reserved = 0;
-       reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
-       reqBufferSize = HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize);
-+      result = CPName_ConvertTo(path,
-+                                reqBufferSize,
-+                                requestV3->fileName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed.\n"));
-+         return -EINVAL;
-+      }
-+      requestV3->fileName.length = result;
-+      reqSize += result;
- 
-       attrV2->mask = attr->mask;
-       if (attr->mask & (HGFS_ATTR_VALID_SPECIAL_PERMS |
-@@ -1173,22 +1202,22 @@ HgfsPackSetattrRequest(const char *path,   // IN:  path to file
-       }
-       if (attr->mask & HGFS_ATTR_VALID_ACCESS_TIME) {
-          attrV2->accessTime = attr->accessTime;
--         *hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME;
-+         requestV3->hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME;
-       }
-       if (attr->mask & HGFS_ATTR_VALID_WRITE_TIME) {
-          attrV2->writeTime = attr->writeTime;
--         *hints |= HGFS_ATTR_HINT_SET_WRITE_TIME;
-+         requestV3->hints |= HGFS_ATTR_HINT_SET_WRITE_TIME;
-       }
- 
-       break;
-    }
-    case HGFS_OP_SETATTR_V2: {
-+      int result;
-       HgfsRequestSetattrV2 *requestV2;
- 
-       requestV2 = (HgfsRequestSetattrV2 *)(HGFS_REQ_PAYLOAD(req));
- 
-       attrV2 = &requestV2->attr;
--      hints = &requestV2->hints;
- 
-       /*
-        * Clear attributes, mask, and hints before touching them.
-@@ -1196,13 +1225,19 @@ HgfsPackSetattrRequest(const char *path,   // IN:  path to file
-        * make sure to zero them all here.
-        */
-       memset(attrV2, 0, sizeof *attrV2);
--      memset(hints, 0, sizeof *hints);
--
--      fileName = requestV2->fileName.name;
--      fileNameLength = &requestV2->fileName.length;
-+      requestV2->hints = 0;
- 
-       reqSize = sizeof *requestV2;
-       reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, requestV2);
-+      result = CPName_ConvertTo(path,
-+                                reqBufferSize,
-+                                requestV2->fileName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed.\n"));
-+         return -EINVAL;
-+      }
-+      requestV2->fileName.length = result;
-+      reqSize += result;
- 
-       if (attr->mask & (HGFS_ATTR_VALID_SPECIAL_PERMS |
-                           HGFS_ATTR_VALID_OWNER_PERMS |
-@@ -1224,16 +1259,17 @@ HgfsPackSetattrRequest(const char *path,   // IN:  path to file
-       }
-       if (attr->mask & HGFS_ATTR_VALID_ACCESS_TIME) {
-          attrV2->accessTime = attr->accessTime;
--         *hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME;
-+         requestV2->hints |= HGFS_ATTR_HINT_SET_ACCESS_TIME;
-       }
-       if (attr->mask & HGFS_ATTR_VALID_WRITE_TIME) {
-          attrV2->writeTime = attr->writeTime;
--         *hints |= HGFS_ATTR_HINT_SET_WRITE_TIME;
-+         requestV2->hints |= HGFS_ATTR_HINT_SET_WRITE_TIME;
-       }
- 
-       break;
-    }
-    case HGFS_OP_SETATTR: {
-+      int result;
-       HgfsRequestSetattr *request;
- 
-       request = (HgfsRequestSetattr *)(HGFS_REQ_PAYLOAD(req));
-@@ -1241,11 +1277,17 @@ HgfsPackSetattrRequest(const char *path,   // IN:  path to file
-       attrV1 = &request->attr;
-       update = &request->update;
- 
--      /* We'll use these later. */
--      fileName = request->fileName.name;
--      fileNameLength = &request->fileName.length;
-       reqSize = sizeof *request;
-       reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, request);
-+      result = CPName_ConvertTo(path,
-+                                reqBufferSize,
-+                                request->fileName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed.\n"));
-+         return -EINVAL;
-+      }
-+      request->fileName.length = result;
-+      reqSize += result;
- 
-       /*
-        * Clear attributes before touching them.
-@@ -1284,16 +1326,7 @@ HgfsPackSetattrRequest(const char *path,   // IN:  path to file
-       return -EPROTO;
-    }
- 
--   result = CPName_ConvertTo(path,
--                             reqBufferSize,
--                             fileName);
--      if (result < 0) {
--         LOG(4, ("CP conversion failed.\n"));
--         return -EINVAL;
--   }
--
--   *fileNameLength = result;
--   req->payloadSize = reqSize + result;
-+   req->payloadSize = reqSize;
- 
-    /* Fill in header here as payloadSize needs to be there. */
-    HgfsPackHeader(req, opUsed);
-diff --git a/open-vm-tools/vmhgfs-fuse/filesystem.c b/open-vm-tools/vmhgfs-fuse/filesystem.c
-index fb9d547d..1931a5d2 100644
---- a/open-vm-tools/vmhgfs-fuse/filesystem.c
-+++ b/open-vm-tools/vmhgfs-fuse/filesystem.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 2013 VMware, Inc. All rights reserved.
-+ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved.
-  *
-  * This program is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as published
-@@ -123,36 +123,50 @@ HgfsPackQueryVolumeRequest(const char *path,        // IN: File pointer for this
-                            HgfsOp opUsed,           // IN: Op to be used.
-                            HgfsReq *req)            // IN/OUT: Packet to write into
- {
--   char *name;
--   uint32 *nameLength;
-    size_t requestSize;
--   int result;
-+
- 
-    ASSERT(req);
- 
-    switch (opUsed) {
-    case HGFS_OP_QUERY_VOLUME_INFO_V3: {
-+      int result;
-       HgfsRequestQueryVolumeV3 *requestV3 = HgfsGetRequestPayload(req);
- 
--      /* We'll use these later. */
--      name = requestV3->fileName.name;
--      nameLength = &requestV3->fileName.length;
-       requestV3->fileName.flags = 0;
-       requestV3->fileName.fid = HGFS_INVALID_HANDLE;
-       requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
-       requestV3->reserved = 0;
-       requestSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
-+      /* Convert to CP name. */
-+      result = CPName_ConvertTo(path,
-+                                HGFS_LARGE_PACKET_MAX - (requestSize - 1),
-+                                requestV3->fileName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed.\n"));
-+         return -EINVAL;
-+      }
-+      requestV3->fileName.length = result;
-+      requestSize += result;
-       break;
-    }
-    case HGFS_OP_QUERY_VOLUME_INFO: {
-+      int result;
-       HgfsRequestQueryVolume *request;
- 
-       request = (HgfsRequestQueryVolume *)(HGFS_REQ_PAYLOAD(req));
- 
--      /* We'll use these later. */
--      name = request->fileName.name;
--      nameLength = &request->fileName.length;
-       requestSize = sizeof *request;
-+      /* Convert to CP name. */
-+      result = CPName_ConvertTo(path,
-+                                HGFS_LARGE_PACKET_MAX - (requestSize - 1),
-+                                request->fileName.name);
-+      if (result < 0) {
-+         LOG(4, ("CP conversion failed.\n"));
-+         return -EINVAL;
-+      }
-+      request->fileName.length = result;
-+      requestSize += result;
-       break;
-    }
-    default:
-@@ -160,17 +174,7 @@ HgfsPackQueryVolumeRequest(const char *path,        // IN: File pointer for this
-       return -EPROTO;
-    }
- 
--   /* Convert to CP name. */
--   result = CPName_ConvertTo(path,
--                             HGFS_LARGE_PACKET_MAX - (requestSize - 1),
--                             name);
--   if (result < 0) {
--      LOG(4, ("CP conversion failed.\n"));
--      return -EINVAL;
--   }
--
--   *nameLength = (uint32) result;
--   req->payloadSize = requestSize + result;
-+   req->payloadSize = requestSize;
- 
-    /* Fill in header here as payloadSize needs to be there. */
-    HgfsPackHeader(req, opUsed);
-diff --git a/open-vm-tools/vmhgfs-fuse/fsutil.c b/open-vm-tools/vmhgfs-fuse/fsutil.c
-index 042c223c..af85c405 100644
---- a/open-vm-tools/vmhgfs-fuse/fsutil.c
-+++ b/open-vm-tools/vmhgfs-fuse/fsutil.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 2013 VMware, Inc. All rights reserved.
-+ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved.
-  *
-  * This program is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as published
-@@ -189,8 +189,6 @@ HgfsPackGetattrRequest(HgfsReq *req,            // IN/OUT: Request buffer
-    size_t reqBufferSize;
-    size_t reqSize;
-    int result = 0;
--   char *fileName = NULL;
--   uint32 *fileNameLength = NULL;
-    ASSERT(attr);
-    ASSERT(req);
-    ASSERT(path);
-@@ -204,8 +202,6 @@ HgfsPackGetattrRequest(HgfsReq *req,            // IN/OUT: Request buffer
- 
-       /* Fill out the request packet. */
-       requestV3->hints = 0;
--      fileName = requestV3->fileName.name;
--      fileNameLength = &requestV3->fileName.length;
-       requestV3->fileName.flags = 0;
-       requestV3->fileName.fid = HGFS_INVALID_HANDLE;
-       requestV3->fileName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
-@@ -213,6 +209,19 @@ HgfsPackGetattrRequest(HgfsReq *req,            // IN/OUT: Request buffer
-       requestV3->reserved = 0;
-       reqSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
-       reqBufferSize = HGFS_NAME_BUFFER_SIZET(HGFS_LARGE_PACKET_MAX, reqSize);
-+      if (requestV3->fileName.name != NULL) {
-+         /* Convert to CP name. */
-+         result = CPName_ConvertTo(path,
-+                                   reqBufferSize,
-+                                   requestV3->fileName.name);
-+         LOG(8, ("Converted path %s\n", requestV3->fileName.name));
-+         if (result < 0) {
-+            LOG(8, ("CP conversion failed.\n"));
-+            result = -EINVAL;
-+            goto out;
-+         }
-+         requestV3->fileName.length = result;
-+      }
-       break;
-    }
- 
-@@ -223,20 +232,42 @@ HgfsPackGetattrRequest(HgfsReq *req,            // IN/OUT: Request buffer
- 
-       requestV2 = (HgfsRequestGetattrV2 *)(HGFS_REQ_PAYLOAD(req));
-       requestV2->hints = 0;
--      fileName = requestV2->fileName.name;
--      fileNameLength = &requestV2->fileName.length;
-       reqSize = sizeof *requestV2;
-       reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, requestV2);
-+      if (requestV2->fileName.name != NULL) {
-+         /* Convert to CP name. */
-+         result = CPName_ConvertTo(path,
-+                                   reqBufferSize,
-+                                   requestV2->fileName.name);
-+         LOG(8, ("Converted path %s\n", requestV2->fileName.name));
-+         if (result < 0) {
-+            LOG(8, ("CP conversion failed.\n"));
-+            result = -EINVAL;
-+            goto out;
-+         }
-+         requestV2->fileName.length = result;
-+      }
-       break;
-    }
- 
-    case HGFS_OP_GETATTR: {
-       HgfsRequestGetattr *requestV1;
-       requestV1 = (HgfsRequestGetattr *)(HGFS_REQ_PAYLOAD(req));
--      fileName = requestV1->fileName.name;
--      fileNameLength = &requestV1->fileName.length;
-       reqSize = sizeof *requestV1;
-       reqBufferSize = HGFS_NAME_BUFFER_SIZE(HGFS_LARGE_PACKET_MAX, requestV1);
-+      if (requestV1->fileName.name != NULL) {
-+         /* Convert to CP name. */
-+         result = CPName_ConvertTo(path,
-+                                   reqBufferSize,
-+                                   requestV1->fileName.name);
-+         LOG(8, ("Converted path %s\n", requestV1->fileName.name));
-+         if (result < 0) {
-+            LOG(8, ("CP conversion failed.\n"));
-+            result = -EINVAL;
-+            goto out;
-+         }
-+         requestV1->fileName.length = result;
-+      }
-       break;
-    }
- 
-@@ -246,20 +277,6 @@ HgfsPackGetattrRequest(HgfsReq *req,            // IN/OUT: Request buffer
-       goto out;
-    }
- 
--   if (fileName != NULL) {
--      /* Convert to CP name. */
--      result = CPName_ConvertTo(path,
--                                reqBufferSize,
--                                fileName);
--      LOG(8, ("Converted path %s\n", fileName));
--      if (result < 0) {
--         LOG(8, ("CP conversion failed.\n"));
--         result = -EINVAL;
--         goto out;
--      }
--      *fileNameLength = result;
--   }
--
-    req->payloadSize = reqSize + result;
- 
-    /* Fill in header here as payloadSize needs to be there. */
-diff --git a/open-vm-tools/vmhgfs-fuse/link.c b/open-vm-tools/vmhgfs-fuse/link.c
-index a00e8446..777eb76e 100644
---- a/open-vm-tools/vmhgfs-fuse/link.c
-+++ b/open-vm-tools/vmhgfs-fuse/link.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 2013 VMware, Inc. All rights reserved.
-+ * Copyright (C) 2013,2019 VMware, Inc. All rights reserved.
-  *
-  * This program is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as published
-@@ -51,36 +51,81 @@ HgfsPackSymlinkCreateRequest(const char* symlink,     // IN: path of the link
- {
-    HgfsRequestSymlinkCreateV3 *requestV3 = NULL;
-    HgfsRequestSymlinkCreate *request = NULL;
--   char *symlinkName;
--   uint32 *symlinkNameLength;
--   char *targetName;
--   uint32 *targetNameLength;
-    size_t targetNameBytes;
--
-    size_t requestSize;
--   int result;
-+
-+   targetNameBytes = strlen(symname) + 1;
- 
-    switch (opUsed) {
-    case HGFS_OP_CREATE_SYMLINK_V3: {
-+      int result;
-+      HgfsFileNameV3 *fileNameP;
-       requestV3 = HgfsGetRequestPayload(req);
- 
--      /* We'll use these later. */
--      symlinkName = requestV3->symlinkName.name;
--      symlinkNameLength = &requestV3->symlinkName.length;
-       requestV3->symlinkName.flags = 0;
-       requestV3->symlinkName.fid = HGFS_INVALID_HANDLE;
-       requestV3->symlinkName.caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
-       requestV3->reserved = 0;
-       requestSize = sizeof(*requestV3) + HgfsGetRequestHeaderSize();
-+      /* Convert symlink name to CP format. */
-+      result = CPName_ConvertTo(symlink,
-+                                HGFS_LARGE_PACKET_MAX - (requestSize - 1),
-+                                requestV3->symlinkName.name);
-+      if (result < 0) {
-+         LOG(4, ("SymlinkName CP conversion failed.\n"));
-+         return -EINVAL;
-+      }
-+      requestV3->symlinkName.length = result;
-+      requestSize += result;
-+
-+      /* Copy target name into request packet. */
-+      if (targetNameBytes > HGFS_LARGE_PACKET_MAX - (requestSize - 1)) {
-+         LOG(4, ("Target name is too long.\n"));
-+         return -EINVAL;
-+      }
-+
-+      fileNameP = (HgfsFileNameV3 *)((char *)&requestV3->symlinkName +
-+                                     sizeof requestV3->symlinkName + result);
-+      memcpy(fileNameP->name, symname, targetNameBytes);
-+      LOG(6, ("Target name: \"%s\"\n", fileNameP->name));
-+      /* Convert target name to CPName-lite format. */
-+      CPNameLite_ConvertTo(fileNameP->name, targetNameBytes - 1, '/');
-+      fileNameP->length = targetNameBytes - 1;
-+      fileNameP->flags = 0;
-+      fileNameP->fid = HGFS_INVALID_HANDLE;
-+      fileNameP->caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
-       break;
-    }
-    case HGFS_OP_CREATE_SYMLINK: {
-+      int result;
-+      HgfsFileName *fileNameP;
-       request = (HgfsRequestSymlinkCreate *)(HGFS_REQ_PAYLOAD(req));
- 
--      /* We'll use these later. */
--      symlinkName = request->symlinkName.name;
--      symlinkNameLength = &request->symlinkName.length;
-       requestSize = sizeof *request;
-+      /* Convert symlink name to CP format. */
-+      result = CPName_ConvertTo(symlink,
-+                                HGFS_LARGE_PACKET_MAX - (requestSize - 1),
-+                                request->symlinkName.name);
-+      if (result < 0) {
-+         LOG(4, ("SymlinkName CP conversion failed.\n"));
-+         return -EINVAL;
-+      }
-+      request->symlinkName.length = result;
-+      requestSize += result;
-+
-+      /* Copy target name into request packet. */
-+      if (targetNameBytes > HGFS_LARGE_PACKET_MAX - (requestSize - 1)) {
-+         LOG(4, ("Target name is too long.\n"));
-+         return -EINVAL;
-+      }
-+
-+      fileNameP = (HgfsFileName *)((char *)&request->symlinkName +
-+                                   sizeof request->symlinkName + result);
-+      memcpy(fileNameP->name, symname, targetNameBytes);
-+      LOG(6, ("Target name: \"%s\"\n", fileNameP->name));
-+      /* Convert target name to CPName-lite format. */
-+      CPNameLite_ConvertTo(fileNameP->name, targetNameBytes - 1, '/');
-+      fileNameP->length = targetNameBytes - 1;
-       break;
-    }
-    default:
-@@ -88,59 +133,13 @@ HgfsPackSymlinkCreateRequest(const char* symlink,     // IN: path of the link
-       return -EPROTO;
-    }
- 
--
--   /* Convert symlink name to CP format. */
--   result = CPName_ConvertTo(symlink,
--                             HGFS_LARGE_PACKET_MAX - (requestSize - 1),
--                             symlinkName);
--   if (result < 0) {
--      LOG(4, ("SymlinkName CP conversion failed.\n"));
--      return -EINVAL;
--   }
--
--   *symlinkNameLength = result;
--   req->payloadSize = requestSize + result;
-+   req->payloadSize = requestSize;
- 
-    /*
--    * Note the different buffer length. This is because HgfsRequestSymlink
--    * contains two filenames, and once we place the first into the packet we
--    * must account for it when determining the amount of buffer available for
--    * the second.
--    *
--    * Also note that targetNameBytes accounts for the NUL character. Once
--    * we've converted it to CP name, it won't be NUL-terminated and the length
--    * of the string in the packet itself won't account for it.
-+    * targetNameBytes accounts for the NUL character. Once we've converted
-+    * it to CP name, it won't be NUL-terminated and the length of the string
-+    * in the packet itself won't account for it.
-     */
--   if (opUsed == HGFS_OP_CREATE_SYMLINK_V3) {
--      HgfsFileNameV3 *fileNameP;
--      fileNameP = (HgfsFileNameV3 *)((char *)&requestV3->symlinkName +
--                                     sizeof requestV3->symlinkName + result);
--      targetName = fileNameP->name;
--      targetNameLength = &fileNameP->length;
--      fileNameP->flags = 0;
--      fileNameP->fid = HGFS_INVALID_HANDLE;
--      fileNameP->caseType = HGFS_FILE_NAME_CASE_SENSITIVE;
--   } else {
--      HgfsFileName *fileNameP;
--      fileNameP = (HgfsFileName *)((char *)&request->symlinkName +
--                                   sizeof request->symlinkName + result);
--      targetName = fileNameP->name;
--      targetNameLength = &fileNameP->length;
--   }
--   targetNameBytes = strlen(symname) + 1;
--
--   /* Copy target name into request packet. */
--   if (targetNameBytes > HGFS_LARGE_PACKET_MAX - (requestSize - 1)) {
--      LOG(4, ("Target name is too long.\n"));
--      return -EINVAL;
--   }
--   memcpy(targetName, symname, targetNameBytes);
--   LOG(6, ("Target name: \"%s\"\n", targetName));
--
--   /* Convert target name to CPName-lite format. */
--   CPNameLite_ConvertTo(targetName, targetNameBytes - 1, '/');
--
--   *targetNameLength = targetNameBytes - 1;
-    req->payloadSize += targetNameBytes - 1;
- 
-    /* Fill in header here as payloadSize needs to be there. */
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb
rename to meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb
index 63a64fc..e43a39b 100644
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb
@@ -38,10 +38,9 @@
     file://0011-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \
     file://0012-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \
     file://0013-misc-Do-not-print-NULL-string-into-logs.patch;patchdir=.. \
-    file://0014-Fix-new-warnings-from-gcc9.patch;patchdir=.. \
+    file://0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch;patchdir=.. \
 "
-# stable-10.3.5
-SRCREV = "f2ff192717375b95a6b7e278fb47dbb3d3bc56d1"
+SRCREV = "d3edfd142a81096f9f58aff17d84219b457f4987"
 
 S = "${WORKDIR}/git/open-vm-tools"
 
@@ -56,7 +55,7 @@
 
 EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \
          --disable-tests --without-gtkmm --without-xerces --without-pam \
-         --disable-grabbitmqproxy --disable-vgauth --disable-deploypkg \
+         --disable-vgauth --disable-deploypkg \
          --without-root-privileges --without-kernel-modules"
 
 NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3"
diff --git a/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb b/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb
index 28e9677..ace376e 100644
--- a/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb
+++ b/meta-openembedded/meta-oe/recipes-test/testfloat/testfloat_3a.bb
@@ -4,7 +4,7 @@
 
 HOMEPAGE = "http://www.jhauser.us/arithmetic/TestFloat.html"
 
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://TestFloat-${PV}/COPYING.txt;md5=e45c175a323b5727777fb6bd4b26eafc"
 
 SRC_URI = "\
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman/0001-Import-local-modules-by-relative-path-for-python3-su.patch b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman/0001-Import-local-modules-by-relative-path-for-python3-su.patch
new file mode 100644
index 0000000..977b4aa
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman/0001-Import-local-modules-by-relative-path-for-python3-su.patch
@@ -0,0 +1,74 @@
+From 2e84adb042bfb742eb328220b97f79ddb28db44b Mon Sep 17 00:00:00 2001
+From: Haris Okanovic <haris.okanovic@ni.com>
+Date: Tue, 23 Oct 2018 21:39:56 +0000
+Subject: [PATCH] Import local modules by relative path for python3 support
+
+Upstream-Status: Submitted
+---
+ pyconnman/agent.py      | 2 +-
+ pyconnman/interface.py  | 2 +-
+ pyconnman/manager.py    | 2 +-
+ pyconnman/service.py    | 2 +-
+ pyconnman/technology.py | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/pyconnman/agent.py b/pyconnman/agent.py
+index f72de8d..453d783 100644
+--- a/pyconnman/agent.py
++++ b/pyconnman/agent.py
+@@ -1,5 +1,5 @@
+ from __future__ import unicode_literals
+-from exceptions import ConnCanceledException
++from .exceptions import ConnCanceledException
+ 
+ import dbus.service
+ 
+diff --git a/pyconnman/interface.py b/pyconnman/interface.py
+index 7d82e04..d540c81 100644
+--- a/pyconnman/interface.py
++++ b/pyconnman/interface.py
+@@ -4,7 +4,7 @@ import dbus
+ import types
+ import pprint
+ 
+-from exceptions import ConnSignalNameNotRecognisedException
++from .exceptions import ConnSignalNameNotRecognisedException
+ 
+ 
+ def translate_to_dbus_type(typeof, value):
+diff --git a/pyconnman/manager.py b/pyconnman/manager.py
+index f6f40a8..03244cc 100644
+--- a/pyconnman/manager.py
++++ b/pyconnman/manager.py
+@@ -1,6 +1,6 @@
+ from __future__ import unicode_literals
+ 
+-from interface import ConnInterface
++from .interface import ConnInterface
+ 
+ 
+ class ConnManager(ConnInterface):
+diff --git a/pyconnman/service.py b/pyconnman/service.py
+index bbccced..c6b9241 100644
+--- a/pyconnman/service.py
++++ b/pyconnman/service.py
+@@ -1,6 +1,6 @@
+ from __future__ import unicode_literals
+ 
+-from interface import ConnInterface
++from .interface import ConnInterface
+ 
+ 
+ class ConnService(ConnInterface):
+diff --git a/pyconnman/technology.py b/pyconnman/technology.py
+index 4777229..d25bad6 100644
+--- a/pyconnman/technology.py
++++ b/pyconnman/technology.py
+@@ -1,6 +1,6 @@
+ from __future__ import unicode_literals
+ 
+-from interface import ConnInterface
++from .interface import ConnInterface
+ 
+ 
+ class ConnTechnology(ConnInterface):
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.1.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.1.0.bb
index e0f3fdd..32bbe8b 100644
--- a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.1.0.bb
@@ -2,4 +2,8 @@
 
 inherit setuptools3
 
+SRC_URI_append = " \
+    file://0001-Import-local-modules-by-relative-path-for-python3-su.patch \
+"
+
 RDEPENDS_${PN} += "python3-dbus python3-pprint"
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.73.bb b/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.77.bb
similarity index 70%
rename from meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.73.bb
rename to meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.77.bb
index 88f5b18..738cf86 100644
--- a/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.73.bb
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.77.bb
@@ -2,8 +2,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=cd13dafd4eeb0802bb6efea6b4a4bdbc"
 
-SRC_URI[md5sum] = "0375c061b93411feb86da01e801df888"
-SRC_URI[sha256sum] = "536b07a097d0619e7ab1effa3747fda177a24168d17a07a93ca9ac30977608f7"
+SRC_URI[md5sum] = "21f015ae93cf9ea2bbbc418a2267e9fb"
+SRC_URI[sha256sum] = "2bfe12a22f396474b0e57c898c7e2c561a8f850bf2055d8cf0f7119f0c7a523f"
 
 PYPI_PACKAGE = "Pyro4"
 
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun.inc b/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun.inc
index 79a8bfb..3991a83 100644
--- a/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun.inc
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun.inc
@@ -2,8 +2,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=13f7629e8e4989b66b4a913ab05a91de"
 
-SRC_URI[md5sum] = "5b35b1cf80a02cca7ec72eb95d6b0192"
-SRC_URI[sha256sum] = "07595dadf85f5176eb08c8d4d9ba5b862a180e96633f670f91437c47a1bead0d"
+SRC_URI[md5sum] = "adcaeea56d0ed06814487cdbde32d198"
+SRC_URI[sha256sum] = "5ead86b3391acef239535ebcabeb04d2cdc6b40ab14580d28c6da193c2d1fe53"
 
 PYPI_PACKAGE = "python-pytun"
 
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb b/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun_2.3.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun_2.2.1.bb
rename to meta-openembedded/meta-python/recipes-connectivity/python-pytun/python-pytun_2.3.0.bb
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb b/meta-openembedded/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.3.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.2.1.bb
rename to meta-openembedded/meta-python/recipes-connectivity/python-pytun/python3-pytun_2.3.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc
index fa178ce..e384234 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc
@@ -1,5 +1,5 @@
 DESCRIPTION = "A database migration tool for SQLAlchemy"
-LICENSE = "BSD"
+LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=28aaf14a6592d14dbfb2f4abd597aa27"
 
 SRC_URI[md5sum] = "6fe272274fce2641b93998ef9b702b76"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
index b18dbaf..9b8c1cb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
@@ -6,8 +6,8 @@
 
 PYPI_PACKAGE = "asn1crypto"
 
-SRC_URI[md5sum] = "cf33950b47b5148e29f1d62a6b6c009b"
-SRC_URI[sha256sum] = "0b199f211ae690df3db4fd6c1c4ff976497fb1da689193e368eedbadc53d9292"
+SRC_URI[md5sum] = "fc3815cdd4812505e3ee297740c5f5d3"
+SRC_URI[sha256sum] = "87620880a477123e01177a1f73d0f327210b43a3cdbd714efcd2fa49a8d7b384"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_1.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_1.2.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_1.0.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto_1.2.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc
index fae0f13..171d320 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc
@@ -4,11 +4,13 @@
 LICENSE = "LGPL-2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
-SRC_URI[md5sum] = "2dd01ef0d5b5f0fc754c1ba40137b61c"
-SRC_URI[sha256sum] = "fc9b582dba0366e63540982c3944a9230cbc6f303641c51483fa547dcc22393a"
+SRC_URI[md5sum] = "b2cd5c0383ff33c1410e737c2607aa7a"
+SRC_URI[sha256sum] = "09a3fba616519311f1af8a461f804b68f0370e100c9264a035aa7846d7852e33"
 
 inherit pypi
 
+DEPENDS += "${PYTHON_PN}-pytest-runner-native"
+
 PACKAGES =+ "${PN}-tests"
 
 FILES_${PN}-tests += " \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.6.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_2.3.2.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.6.5.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-astroid_2.3.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
index 13c9e5f..35d28a4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
@@ -3,8 +3,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff"
 
-SRC_URI[sha256sum] = "f913492e1663d3c36f502e5e9ba6cd13cf19d7fab50aa13239e420fef95e1396"
-SRC_URI[md5sum] = "d5a6ee80beaa072bd2b3bcb6fee0d508"
+SRC_URI[sha256sum] = "f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"
+SRC_URI[md5sum] = "5b2db50fcc31be34d32798183c9bd062"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-attrs_19.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-attrs_19.3.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-attrs_19.2.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-attrs_19.3.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-automat.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-automat.inc
index f6cbb35..ec39221 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-automat.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-automat.inc
@@ -5,8 +5,8 @@
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/python-automat:"
 
-SRC_URI[md5sum] = "b72d5b7a83c2b1bd6e9ec3614a69f9ea"
-SRC_URI[sha256sum] = "cbd78b83fa2d81fe2a4d23d258e1661dd7493c9a50ee2f1a5b2cac61c1793b0e"
+SRC_URI[md5sum] = "47e980a48201a1dabe37fa11f0187013"
+SRC_URI[sha256sum] = "269a09dfb063a3b078983f4976d83f0a0d3e6e7aaf8e27d8df1095e09dc4a484"
 
 PYPI_PACKAGE = "Automat"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-automat_0.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-automat_0.8.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-automat_0.7.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-automat_0.8.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc
index 7423fa7..60493e1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc
@@ -7,8 +7,8 @@
     file://AWSIoTPythonSDK/core/protocol/paho/client.py;endline=14;md5=5a3c8a1a4bb71bd934f450ecff972ad9 \
 "
 
-SRC_URI[md5sum] = "50a5c46410c2b44b5c09f1ea5eb15a3b"
-SRC_URI[sha256sum] = "b3c8af3ce24eab861447a194f3c382509dd70e90452c86a5426f1e7272460177"
+SRC_URI[md5sum] = "2b3df629827d8bc18ca4d927b4885a17"
+SRC_URI[sha256sum] = "7e67c8cfeee8a1c8fd251bcc418de9d4dca697753565c9a9e614525179d9555d"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.4.7.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.4.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.4.7.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
index 4274672..e6e6862 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
@@ -1,6 +1,6 @@
 DESCRIPTION = "A collection of tools for internationalizing Python applications"
 HOMEPAGE = "http://babel.edgewall.org/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=942469df9305abb1c59e95f778310384"
 
 SRC_URI[md5sum] = "83c158b7dae9135750a7cf204e6e2eea"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.5.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.7.0.1.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.5.0.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.7.0.1.bb
index 45492da..9032a7c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.5.0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-backports-ssl_3.7.0.1.bb
@@ -7,10 +7,10 @@
 implement the check separately. This backport brings match_hostname() to users of earlier versions of Python"
 
 LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=95a5ee8fd779fbeca8b4cbca64433c87"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=b2adbe8bfdeb625c9a01afd9aaa66619"
 
-SRC_URI[md5sum] = "c03fc5e2c7b3da46b81acf5cbacfe1e6"
-SRC_URI[sha256sum] = "502ad98707319f4a51fa2ca1c677bd659008d27ded9f6380c79e8932e38dcdf2"
+SRC_URI[md5sum] = "32d2f593af01a046bec3d2f5181a420a"
+SRC_URI[sha256sum] = "bb82e60f9fbf4c080eabd957c39f0641f0fc247d9a16e31e26d594d8f42b9fd2"
 
 PYPI_PACKAGE = "backports.ssl_match_hostname"
 inherit pypi setuptools
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc
index 4490969..a264003 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt.inc
@@ -4,8 +4,8 @@
 
 DEPENDS += "${PYTHON_PN}-cffi-native"
 
-SRC_URI[md5sum] = "8408abc974446e64862a9742104e97b6"
-SRC_URI[sha256sum] = "67ed1a374c9155ec0840214ce804616de49c3df9c5bc66740687c1c9b1cd9e8d"
+SRC_URI[md5sum] = "5d6f93b575ce52470af37a8e7dce76fe"
+SRC_URI[sha256sum] = "0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.7.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.7.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
index 07baa2d..df4f7a4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
@@ -4,8 +4,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf"
 DEPENDS += "libffi ${PYTHON_PN}-pycparser"
 
-SRC_URI[md5sum] = "2c90be6d3bfbf80ab732b28fd677051d"
-SRC_URI[sha256sum] = "8fe230f612c18af1df6f348d02d682fe2c28ca0a6c3856c99599cdacae7cf226"
+SRC_URI[md5sum] = "824ad9f228fbc6ce203c334e2ff4ab8f"
+SRC_URI[sha256sum] = "558b3afef987cf4b17abd849e7bedf64ee12b28175d564d05b628a0f9355599b"
 
 RDEPENDS_${PN}_class-target = " \
     ${PYTHON_PN}-ctypes \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.13.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.13.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.13.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.13.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
index 60bc46f..f9dfd56 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
@@ -5,7 +5,7 @@
 Line Interface Creation Kit". It's highly configurable but comes with \
 sensible defaults out of the box."
 HOMEPAGE = "http://click.pocoo.org/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=c13ed890b210a882c1778216694c98c7"
 
 SRC_URI[md5sum] = "7f53d50f7b7373ebc7963f9ff697450a"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2.inc
index 7782b14..3a6bf54 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2.inc
@@ -3,8 +3,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=01aeabea7ae1529a8e4b674b7107d6bc"
 
-SRC_URI[md5sum] = "f7a51dc68ad377ebc6a84408044dc1a2"
-SRC_URI[sha256sum] = "840cdbf50e83761fea69ca5beadcba7569ab03734e3ee42b0dbf7f6f90e1213d"
+SRC_URI[md5sum] = "20f3f76b2aaf36a17372717b469ca969"
+SRC_URI[sha256sum] = "c81284083d993af18b8fef57d89d854d49d051d4c2c8a8e12d0281e369ac3682"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.18.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.19.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.18.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.19.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
index 887d2d3..10af48c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
@@ -8,8 +8,8 @@
     ${PYTHON_PN}-cryptography \
 "
 
-SRC_URI[md5sum] = "1a518a28ed9c924ca6c570aa8ea0c334"
-SRC_URI[sha256sum] = "f12dfb9bd669a68004074cb5b26df6e93ed1a95ebd1a999dff0a840212ff68bc"
+SRC_URI[md5sum] = "a744ed29bb9ef56b3a50317fea3b218e"
+SRC_URI[sha256sum] = "6cd32174c56a3eca72f64af43c1daacaae758cfa5ff9d280dfcf818fa11ef116"
 
 PYPI_PACKAGE = "cryptography_vectors"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.8.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.8.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
index 876fcc2..5acd02d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
@@ -12,8 +12,8 @@
     ${PYTHON_PN}-six \
 "
 
-SRC_URI[md5sum] = "7dfe1035cae43569e571318f000462a4"
-SRC_URI[sha256sum] = "e6347742ac8f35ded4a46ff835c60e68c22a536a8ae5c4422966d06946b6d4c6"
+SRC_URI[md5sum] = "77730058b556c6d9838679a94c6229ce"
+SRC_URI[sha256sum] = "3cda1f0ed8747339bbdf71b9f38ca74c7b592f24f65cdb3ab3765e4b02871651"
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-cffi \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.8.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.8.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc
index 96cf8b4..caf4340 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc
@@ -6,7 +6,7 @@
 can be abused and you should not try to solve every problem with a \
 decorator, just because you can."
 
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=be2fd2007972bf96c08af3293d728b22"
 
 SRC_URI[md5sum] = "a565a98581c0d110bc247323e89df9b1"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc
index 6a04429..1b5f716 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc
@@ -1,6 +1,6 @@
 DESCRIPTION = "DNS toolkit for Python"
 HOMEPAGE = "http://www.dnspython.org/"
-LICENSE = "BSD"
+LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b9d855ee0d7bea17c8b0994d37985e1e"
 
 SRC_URI[md5sum] = "05d33ffb5d8f35ae0474bb952778a344"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc
index 5a3884a..989d1e5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-evdev.inc
@@ -1,6 +1,6 @@
 SUMMARY = "Python evdev lib"
 HOMEPAGE = "https://github.com/gvalkov/python-evdev"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=18debddbb3f52c661a129724a883a8e2"
 
 SRC_URI[md5sum] = "c7e855ae9f97f869a59e75b29f05ce74"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter.inc
index a333ef4..6ddcaa9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-feedformatter.inc
@@ -1,7 +1,7 @@
 DESCRIPTION = "A Python library for generating news feeds in RSS and Atom formats"
 HOMEPAGE = "http://code.google.com/p/feedformatter/"
 SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=258e3f39e2383fbd011035d04311008d"
 SRCREV = "7391193c83e10420b5a2d8ef846d23fc368c6d85"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel.inc
index b60ee17..f560f3e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-babel.inc
@@ -1,5 +1,5 @@
 DESCRIPTION = "i18n and l10n support for Flask based on babel and pytz"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=51917f3e8e858f5ae295a7d0e2eb3cc9"
 
 SRC_URI[md5sum] = "07803453743f139309021572a799c6b3"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bcrypt_0.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bcrypt_0.7.1.bb
index f035862..d090b34 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bcrypt_0.7.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bcrypt_0.7.1.bb
@@ -1,5 +1,5 @@
 DESCRIPTION = "Bcrypt hashing for Flask."
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0ee2ee5bee7fe96597770e92db5719a8"
 
 SRC_URI[md5sum] = "d345c36ac6637d3ca9fa942e238d00ca"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc
index bb08703..0df276d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-mail.inc
@@ -1,7 +1,7 @@
 SUMMARY = "Flask extension for sending email"
 DESCRIPTION = "A Flask extension for sending email"
 HOMEPAGE = " https://github.com/rduplain/flask-email"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5b16dfa6d3f275ace5985bb92949f770"
 
 SRC_URI[md5sum] = "04b35a42a44ec7aa724ec8ce55e2e08e"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc
index 3925152..5fc35c1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc
@@ -2,7 +2,7 @@
 DESCRIPTION = "PyMongo support for Flask applications."
 HOMEPAGE = "https://github.com/mitsuhiko/flask/"
 SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://flask_pymongo/wrappers.py;beginline=1;endline=24;md5=424c4e1047d28e01b4e4634a069c019d"
 
 SRC_URI[md5sum] = "94df71e6800b1d7915cc91a74b70f959"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script.inc
index fca777b..f48af8b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-script.inc
@@ -1,5 +1,5 @@
 DESCRIPTION = "Scripting support for flask"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e686048adb69341fc8a08caeda528b41"
 
 SRC_URI[md5sum] = "3fbd91fe13cebedfb2431331f6eabb68"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc
index e0efbc6..957d07d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy.inc
@@ -1,5 +1,5 @@
 DESCRIPTION = "Adds SQLAlchemy support to your Flask application."
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5ed1b8cc741515a835a7f6bf2f62ef4a"
 
 SRC_URI[md5sum] = "373ce61dfd03b593ad2eaba68c9fee35"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc
index c2b7182..adef32c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-user.inc
@@ -3,7 +3,7 @@
 Confirm email, Login, Change username, Change password, Forgot Password \
 and more."
 HOMEPAGE = " https://github.com/lingthio/Flask-User"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=97de97cd9d6e23c88129d884588ce71a"
 
 SRC_URI[md5sum] = "f7965e66ca139c8436896da07e66c21f"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc
index 3c90656..8636711 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-wtf.inc
@@ -1,5 +1,5 @@
 DESCRIPTION = "Simple integration of Flask and WTForms."
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3ca6bb31670492f791e6a9f2fb9f8a80"
 
 SRC_URI[md5sum] = "586f50f233926cade42e3d744aca3e8f"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic.inc
index a1fe14e..48ff714 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-xstatic.inc
@@ -1,5 +1,5 @@
 DESCRIPTION = "XStatic support for flask"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=659968f6ebd4b70b6c3190d20b4a924c"
 
 SRC_URI[md5sum] = "2f56023e1444c8bd1fec41afe93de743"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
index ffd783f..10dca43 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
@@ -3,7 +3,7 @@
 Flask is a microframework for Python based on Werkzeug, Jinja 2 and good \
 intentions. And before you ask: It’s BSD licensed!"
 HOMEPAGE = "https://github.com/mitsuhiko/flask/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c011883ac26229b8ba3084f55c7664c6"
 
 SRC_URI[md5sum] = "824f0f20aae1f44c9c7dc4054adb7969"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress.inc
new file mode 100644
index 0000000..a230206
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress.inc
@@ -0,0 +1,13 @@
+SUMMARY = "Python 3.3+'s ipaddress for Python 2.6, 2.7, 3.2."
+HOMEPAGE = "https://github.com/phihag/ipaddress"
+LICENSE = "Python-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7f538584cc3407bf76042def7168548a"
+
+DEPENDS += "${PYTHON_PN}-pip"
+
+SRC_URI[md5sum] = "aaee67a8026782af1831148beb0d9060"
+SRC_URI[sha256sum] = "b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2"
+
+inherit pypi
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.22.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.22.bb
deleted file mode 100644
index 66de8b6..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.22.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Python 3.3+'s ipaddress for Python 2.6, 2.7, 3.2."
-HOMEPAGE = "https://github.com/phihag/ipaddress"
-LICENSE = "Python-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7f538584cc3407bf76042def7168548a"
-
-DEPENDS += "python-pip"
-
-SRC_URI[md5sum] = "74c1ce3109f30eaa1ab3dd342e7b76d4"
-SRC_URI[sha256sum] = "b146c751ea45cad6188dd6cf2d9b757f6f4f8d6ffb96a023e6f2e26eea02a72c"
-
-inherit pypi setuptools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.23.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.23.bb
new file mode 100644
index 0000000..ed4e6cb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.23.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-ipaddress.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc
index 3cb6bb8..8c12891 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc
@@ -1,5 +1,5 @@
 SUMMARY = "ISO 8601 date/time parser"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709"
 
 SRC_URI[md5sum] = "0e1203fce27ce65e2d01c5f21c4d428f"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc
index 8f64c2a..b23142d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc
@@ -1,6 +1,6 @@
 SUMMARY  = "Appling JSON patches in Python 2.6+ and 3.x"
 HOMEPAGE = "https://github.com/stefankoegl/python-json-patch"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=32b15c843b7a329130f4e266a281ebb3"
 
 inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc
index 4ed01ed..d36f029 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpointer.inc
@@ -1,6 +1,6 @@
 SUMMARY = "Resolve JSON Pointers in Python"
 HOMEPAGE = "https://github.com/stefankoegl/python-json-pointer"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=32b15c843b7a329130f4e266a281ebb3"
 
 inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy.inc
index 83d2ea3..b88afce 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy.inc
@@ -1,6 +1,6 @@
 SUMMARY = "A fast and thorough lazy object proxy"
 HOMEPAGE = "https://python-lazy-object-proxy.readthedocs.io/"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 SECTION = "devel/python"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=ec680df42d8ad56427a83308817658cc"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-meld3.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-meld3.inc
index d4e274e..558e436 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-meld3.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-meld3.inc
@@ -5,7 +5,7 @@
 another.  See http://www.entrian.com/PyMeld for a treatise on the \
 benefits of this pattern."
 HOMEPAGE = "https://github.com/supervisor/meld3"
-LICENSE = "BSD"
+LICENSE = "BSD-4-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9e7581cef5645475fcefebdc15ed7abf"
 
 SRC_URI[md5sum] = "3ccc78cd79cffd63a751ad7684c02c91"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
index 91235b9..bca58f7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
@@ -1,6 +1,6 @@
 DESCRIPTION = "Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL"
 HOMEPAGE = "http://python-requests.org"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://MANIFEST.in;md5=ce22c0cd986d2de3f7073cd6b5523ae0"
 
 SRC_URI[md5sum] = "b0fc8ea38f87d2c1ab1ed79a95c078f9"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc
index 5b6d4df..bea9be6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr.inc
@@ -1,5 +1,5 @@
 SUMMARY = "A network address manipulation library for Python."
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e6345d695ffe3776f68a56fe7962db44"
 
 SRC_URI[md5sum] = "51019ef59c93f3979bcb37d3b8527e07"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib.inc
index c5de8a0..fea0714 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib.inc
@@ -1,7 +1,7 @@
 SUMMARY = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"
 HOMEPAGE = "https://github.com/idan/oauthlib"
 
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5ba9ce41463615e082609806255bce1b"
 
 SRC_URI = "https://pypi.python.org/packages/a5/8a/212e9b47fb54be109f3ff0684165bb38c51117f34e175c379fce5c7df754/oauthlib-${PV}.tar.gz"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
index 9e477ec..8a6d7e9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
@@ -6,7 +6,7 @@
 tasks, from verifying a hash found in /etc/shadow, to providing full-strength password \
 hashing for multi-user applications."
 HOMEPAGE = "https://bitbucket.org/ecollins/passlib"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=73eed1a5470b969951dac411086c7036"
 
 SRC_URI[md5sum] = "254869dae3fd9f09f0746a3cb29a0b15"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pika.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pika.inc
index 10be5bb..bde154f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pika.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pika.inc
@@ -5,7 +5,7 @@
 "
 SECTION = "devel/python"
 HOMEPAGE = "https://pika.readthedocs.io"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=535836bf0a5de515a7bfee026075701d"
 
 SRC_URI[md5sum] = "6002400cdd33bf85ec8680ece72910d4"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pip_19.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pip_19.3.1.bb
similarity index 75%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pip_19.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pip_19.3.1.bb
index 2b5ee9e..2827a12 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pip_19.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pip_19.3.1.bb
@@ -3,8 +3,8 @@
 LICENSE = "MIT & LGPL-2.1"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8ba06d529c955048e5ddd7c45459eb2e"
 
-SRC_URI[md5sum] = "a57da8b758cbf1a155cde6a7a4428ba7"
-SRC_URI[sha256sum] = "324d234b8f6124846b4e390df255cacbe09ce22791c3b714aa1ea6e44a4f2861"
+SRC_URI[md5sum] = "1aaaf90fbafc50e7ba1e66ffceb00960"
+SRC_URI[sha256sum] = "21207d76c1031e517668898a6b46a9fb1501c7a4710ef5dfd6a40ad9e6757ea7"
 
 inherit pypi setuptools
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-ply.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-ply.inc
index a744950..149fe05 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-ply.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-ply.inc
@@ -2,7 +2,7 @@
 DESCRIPTION = "Python ply: PLY is yet another implementation of lex and yacc for Python"
 HOMEPAGE = "https://pypi.python.org/pypi/ply"
 SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://README.md;beginline=5;endline=32;md5=f5ee5c355c0e6719c787a71b8f0fa96c"
 
 SRC_URI[md5sum] = "6465f602e656455affcd7c5734c638f8"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pocketsphinx.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pocketsphinx.inc
index 4c848b6..1f8f66a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pocketsphinx.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pocketsphinx.inc
@@ -1,6 +1,6 @@
 SUMMARY = "This package provides a python interface to CMU Sphinxbase and Pocketsphinx libraries created with SWIG and Setuptools."
 SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=826ebda787eb48e78aec2624f9faba72"
 
 SRC_URI[md5sum] = "c0f2bfd54bc4c438c3bb64825f57d575"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc
index b342aef..58f1961 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pretend.inc
@@ -1,6 +1,6 @@
 SUMMARY = "A library for stubbing in Python"
 HOMEPAGE = "https://github.com/alex/pretend"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=411780c0b7fa756753e94affeee5bc99"
 
 SRC_URI[md5sum] = "ad53883ede48aeac7ae584f0de0240e8"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable.inc
index 6004ecd..07e896d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable.inc
@@ -1,6 +1,6 @@
 SUMMARY = "Python library for displaying tabular data in a ASCII table format"
 HOMEPAGE = "http://code.google.com/p/prettytable"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3e73500ffa52de5071cff65990055282"
 
 SRC_URI[md5sum] = "0c1361104caff8b09f220748f9d69899"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
index 1a4bd35..ef1b056 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
@@ -1,5 +1,5 @@
 SUMMARY = "Library for building powerful interactive command lines in Python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b2cde7da89f0c1f3e49bf968d00d554f"
 
 SRC_URI[md5sum] = "8db8b8e40e91bc6dce133d8d5727a717"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
index 0908c1c..380b9bc 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
@@ -1,5 +1,5 @@
 SUMMARY = "A cross-platform process and system utilities module for Python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e35fd9f271d19d5f742f20a9d1f8bb8b"
 
 SRC_URI[md5sum] = "1bbc1788588cc3c2c461cd98a830ba72"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyhamcrest_1.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyhamcrest_1.9.0.bb
index 02d4f54..8dbb79a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyhamcrest_1.9.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyhamcrest_1.9.0.bb
@@ -1,5 +1,5 @@
 SUMMARY = "Hamcrest framework for matcher objects"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f6df1318c6071dd1707f5e3b6c11f24f"
 
 PYPI_PACKAGE = "PyHamcrest"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux.inc
index 6a39896..c755c0a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pynetlinux.inc
@@ -2,7 +2,7 @@
 DESCRIPTION = "This library contains Python bindings to ioctl calls"
 SECTION = "devel/python"
 HOMEPAGE = "http://github.com/rlisagor/pynetlinux"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=74e1861736ee959824fe7542323c12e9"
 
 inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc
index 870f1d8..c9580de 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc
@@ -1,5 +1,5 @@
 SUMMARY = "Serial Port Support for Python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d476d94926db6e0008a5b3860d1f5c0d"
 
 SRC_URI[md5sum] = "ed6183b15519a0ae96675e9c3330c69b"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.2.2.bb
index 24759b5..7a2d89d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.2.2.bb
@@ -5,7 +5,7 @@
 HOMEPAGE = "https://pypi.python.org/pypi/pysmi"
 SECTION = "devel/python"
 
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=d8b1bbadd635f187dee74d999a8c67b8"
 
 SRC_URI[md5sum] = "3b0f71e4e9f730d211f09d8ef5371140"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.4.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.4.9.bb
index 9ff4df2..8883df9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.4.9.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.4.9.bb
@@ -5,7 +5,7 @@
 "
 HOMEPAGE = "https://pypi.python.org/pypi/pysnmp"
 SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=b15d29f500f748d1c2a15709769090a8"
 
 SRCNAME = "pysnmp"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
index ceadcb2..1836e52 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
@@ -1,6 +1,6 @@
 DESCRIPTION = "A Python SOCKS client module"
 HOMEPAGE = "http://python-requests.org"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1d457bcffb9661b45f799d4efee72f16"
 
 SRC_URI[md5sum] = "89b1a6865c61bae67a32417517612ee6"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc
index baf2db5..e783dd4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc
@@ -1,6 +1,6 @@
 SUMMARY = "PyUSB provides USB access on the Python language"
 HOMEPAGE = "http://pyusb.sourceforge.net/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=51691ed11cc2c7ae93e383f60ed49b0f"
 DEPENDS += "libusb1"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib.inc
index 0eac197..2fa6d98 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib.inc
@@ -1,5 +1,5 @@
 SUMMARY = "RDFLib is a pure Python package for working with RDF"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=68c1a3bb687bd63b8e5552f3ea249840"
 
 SRC_URI[md5sum] = "534fe35b13c5857d53fa1ac5a41eca67"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
index 98883ec..a7e1bf6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
@@ -2,8 +2,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
 
-SRC_URI[md5sum] = "cfec5d2dbbd0a85c40066f79035b5878"
-SRC_URI[sha256sum] = "a767141fecdab1c0b3c8e4c788ac912d7c94a0d6c452d40777ba84f918316379"
+SRC_URI[md5sum] = "50b2199082fe808d032ec1710c9d7415"
+SRC_URI[sha256sum] = "bd25e1fb5e4d603dcf490f1fde40fb4c595b357795674c3e5cb7f6217ab39ea5"
 
 PYPI_PACKAGE = "setuptools_scm"
 inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_3.3.3.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_2.1.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_3.3.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater.inc
index 94fa8a6..a2534e4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-speaklater.inc
@@ -1,5 +1,5 @@
 DESCRIPTION = "Media asset management for Python, with glue code for various frameworks"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b810770075a29bf44b96607440e7c801"
 
 SRC_URI[md5sum] = "e8d5dbe36e53d5a35cff227e795e8bbf"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-supervisor.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-supervisor.inc
index beab497..158cd52 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-supervisor.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-supervisor.inc
@@ -4,7 +4,7 @@
 to monitorand control a number of processes on UNIX-like \
 operating systems."
 HOMEPAGE = "https://github.com/Supervisor/supervisor"
-LICENSE = "BSD"
+LICENSE = "BSD-4-Clause"
 LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=5b4e3a2172bba4c47cded5885e7e507e"
 
 SRC_URI[md5sum] = "ac70dadd051dcaf1d03c467d51a3aac1"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc
index c3d0bfe..8f05de8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-ujson.inc
@@ -1,7 +1,7 @@
 SUMMARY  = "Ultra fast JSON encoder and decoder for Python"
 DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3."
 
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=88df8e78b9edfd744953862179f2d14e"
 
 SRC_URI[md5sum] = "42f77b0cce686dfa4da2e68480b1dd24"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
index a02bbbb..ef254e3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
@@ -1,5 +1,5 @@
 SUMMARY = "Simple Python module for working with HTML/CSS color definitions."
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=197add016087e6884a012b0f185d44ad"
 
 SRC_URI[md5sum] = "40890db38b2a856e526a568864025fe6"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc
index c04a4e0..e630fdd 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc
@@ -7,7 +7,7 @@
 cookie handling, file uploads, a powerful URL routing system and a bunch \
 of community contributed addon modules."
 HOMEPAGE = "http://werkzeug.pocoo.org/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=ed9a0b7c0254616d72dadb98b293ef1b"
 
 SRC_URI[md5sum] = "6d20b5be2d245be4ac7706cc390d130c"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh.inc
index a4ca5dc..040b324 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-whoosh.inc
@@ -4,7 +4,7 @@
 implemented in pure Python. Programmers can use it to easily add search \
 functionality to their applications and websites. Every part of how \
 Whoosh works can be extended or replaced to meet your needs exactly."
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=05303186defc6141143629961c7c8a60"
 
 SRC_URI[md5sum] = "893433e9c0525ac043df33e6e04caab2"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc
index ed49811..496c73f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt.inc
@@ -1,6 +1,6 @@
 SUMMARY = "A Python module for decorators, wrappers and monkey patching."
 HOMEPAGE = "http://wrapt.readthedocs.org/"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 SECTION = "devel/python"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=fdfc019b57affbe1d7a32e3d34e83db4"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc
index 868686b..93c5bc4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc
@@ -1,7 +1,7 @@
 DESCRIPTION = "A flexible forms validation and rendering library for python web development."
 HOMEPAGE = "https://pypi.python.org/pypi/WTForms"
 SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://PKG-INFO;md5=c4660c132770d5d0a5757541f6b79493"
 
 SRC_URI[md5sum] = "41c0008dbe7bd98892c58f7457a46a4a"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc
index 893e82e..1478a47 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc
@@ -3,7 +3,7 @@
  versions 2.0 onwards) on any platform. Pure Python (2.6, 2.7, 3.2+). \
 Strong support for Excel dates. Unicode-aware."
 HOMEPAGE = "http://www.python-excel.org/"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://PKG-INFO;md5=08bd814936237b6e1355e6370b24b2c1"
 
 SRC_URI[md5sum] = "b85c9916ac755cad489a9005f5a0d390"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-xxhash.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-xxhash.inc
index 93b2a15..1ec3937 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-xxhash.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-xxhash.inc
@@ -1,6 +1,6 @@
 SUMMARY = "xxhash is a Python binding for the xxHash library by Yann Collet."
 SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5a8d76283514a1b7e6a414aba38629b5"
 
 SRC_URI[md5sum] = "80461eff10ac62214fa788a6045aab43"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.2.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.0.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-asn1crypto_1.2.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astor/f820f3ff7ad8818475b6e107e63aa9a54252d2a9.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-astor/f820f3ff7ad8818475b6e107e63aa9a54252d2a9.patch
new file mode 100644
index 0000000..8236993
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astor/f820f3ff7ad8818475b6e107e63aa9a54252d2a9.patch
@@ -0,0 +1,87 @@
+From f820f3ff7ad8818475b6e107e63aa9a54252d2a9 Mon Sep 17 00:00:00 2001
+From: Jonathan Ringer <jonringer117@gmail.com>
+Date: Thu, 17 Oct 2019 16:54:16 -0700
+Subject: [PATCH] Fix packaging for setuptools>=41.4
+
+---
+ astor/VERSION     |  1 +
+ astor/__init__.py |  5 ++++-
+ setup.cfg         |  3 ++-
+ setup.py          | 16 +---------------
+ 4 files changed, 8 insertions(+), 17 deletions(-)
+ create mode 100644 astor/VERSION
+
+diff --git a/astor/VERSION b/astor/VERSION
+new file mode 100644
+index 0000000..a3df0a6
+--- /dev/null
++++ b/astor/VERSION
+@@ -0,0 +1 @@
++0.8.0
+diff --git a/astor/__init__.py b/astor/__init__.py
+index 3b02983..8dfcdb1 100644
+--- a/astor/__init__.py
++++ b/astor/__init__.py
+@@ -9,6 +9,7 @@
+ 
+ """
+ 
++import os
+ import warnings
+ 
+ from .code_gen import SourceGenerator, to_source  # NOQA
+@@ -19,7 +20,9 @@
+ from .op_util import symbol_data  # NOQA
+ from .tree_walk import TreeWalk  # NOQA
+ 
+-__version__ = '0.8.0'
++ROOT = os.path.dirname(__file__)
++with open(os.path.join(ROOT, 'VERSION')) as version_file:
++    __version__ = version_file.read().strip
+ 
+ parse_file = code_to_ast.parse_file
+ 
+diff --git a/setup.cfg b/setup.cfg
+index 1baf6fc..a43634f 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -2,6 +2,7 @@
+ name = astor
+ description = Read/rewrite/write Python ASTs
+ long_description = file:README.rst
++version = file: astor/VERSION
+ author = Patrick Maupin
+ author_email = pmaupin@gmail.com
+ platforms = Independent
+@@ -40,7 +41,7 @@ test_suite = nose.collector
+ [options.packages.find]
+ exclude = tests
+ 
+-[wheel]
++[bdist_wheel]
+ universal = 1
+ 
+ [build-system]
+diff --git a/setup.py b/setup.py
+index 4a111b5..6068493 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1,17 +1,3 @@
+-import os
+-import sys
+-
+ from setuptools import setup
+-from setuptools.config import read_configuration
+-
+-from setuputils import find_version
+-
+-
+-def here(*paths):
+-    return os.path.join(os.path.dirname(__file__), *paths)
+-
+-config = read_configuration(here('setup.cfg'))
+-config['metadata']['version'] = find_version(here('astor', '__init__.py'))
+-config['options'].update(config['metadata'])
+ 
+-setup(**config['options'])
++setup()
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.bb
similarity index 62%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.7.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.bb
index c2dc924..17cc540 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.7.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.8.bb
@@ -4,8 +4,10 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=561205fdabc3ec52cae2d30815b8ade7"
 
-SRC_URI = "git://github.com/berkerpeksag/astor.git"
-SRCREV ?= "4ca3a26e52f08678854c2841cd0fdf223461e47d"
+SRC_URI = "git://github.com/berkerpeksag/astor.git \
+           file://f820f3ff7ad8818475b6e107e63aa9a54252d2a9.patch \
+          "
+SRCREV ?= "3a7607e31f0c17e747ded5cfe0b582d99f7caecf"
 
 inherit setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.6.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.3.2.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.6.5.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.3.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_19.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_19.3.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_19.2.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_19.3.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.8.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.7.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.8.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.4.7.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.4.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.4.7.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.7.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-bcrypt_3.1.7.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.13.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.13.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.13.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.13.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.18.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.19.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.18.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.19.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.8.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.8.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.8.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.8.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next/python3-dbus-next_0.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next/python3-dbus-next_0.1.2.bb
new file mode 100644
index 0000000..967163a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next/python3-dbus-next_0.1.2.bb
@@ -0,0 +1,11 @@
+SUMMARY = "A zero-dependency DBus library for Python with asyncio support"
+HOMEPAGE = "https://github.com/acrisci/python-dbus-next"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=b32e18a71bcdd072bce21f204629a104"
+
+SRC_URI[md5sum] = "df838d695284dd1775860f9691a8663f"
+SRC_URI[sha256sum] = "a567d845ceed5feac48dda7faeb9ff2571f9a434a3c32b9b363f763e82368762"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_2.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_2.9.0.bb
index bca7757..7822e46 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_2.9.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_2.9.0.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Provides both a high- and low-level interface to the HDF5 library from Python. "
 HOMEPAGE = "https://www.h5py.org/"
 SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://setup.py;beginline=107;endline=107;md5=795ecad0d261c998cc526c84a822dff6"
 
 SRC_URI = "git://github.com/h5py/h5py.git \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipaddress_1.0.23.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipaddress_1.0.23.bb
new file mode 100644
index 0000000..77e9787
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipaddress_1.0.23.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-ipaddress.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.0.1.bb
index b6d2f18..68cd723 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.0.1.bb
@@ -1,5 +1,5 @@
 SUMMARY = "A Python implementation of John Gruber's Markdown."
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.md;md5=745aaad0c69c60039e638bff9ffc59ed"
 
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.3.bb
new file mode 100644
index 0000000..24e1ccb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-msm_0.8.3.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Mycroft Skill Manager, in python!"
+HOMEPAGE = "https://github.com/MycroftAI/mycroft-skills-manager"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e23fadd6ceef8c618fc1c65191d846fa"
+
+SRC_URI[md5sum] = "d5f580c58389b337f5577cb92f36e788"
+SRC_URI[sha256sum] = "c201785997f3b766ec376a89bbb3367889ac542183ca26733ffe002bb94917b4"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+    python3-pako \
+    python3-monotonic \
+    python3-appdirs \
+"
+
+do_install_append() {
+    # Stop this from being installed
+    rm -rf ${D}/usr/share
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.2.3.bb
new file mode 100644
index 0000000..21c48fc
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pako_0.2.3.bb
@@ -0,0 +1,13 @@
+SUMMARY = "The universal package manager library"
+HOMEPAGE = "https://github.com/MycroftAI/pako"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e23fadd6ceef8c618fc1c65191d846fa"
+
+SRC_URI[md5sum] = "8eb7077075091c50e4b8a9f939607277"
+SRC_URI[sha256sum] = "6be55fd8c5a2a6f02974f37438c1c47a3d9e764ce81c9d0a1a8c9a1815a59778"
+
+inherit pypi setuptools3
+
+do_install_append() {
+    rm -rf ${D}/usr/share
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_3.3.3.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_2.1.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_3.3.3.bb
diff --git a/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb b/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb
index 8b2ff44..1d66d13 100644
--- a/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb
+++ b/meta-openembedded/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb
@@ -1,7 +1,7 @@
 SUMMARRY = "spawn-fcgi is used to spawn FastCGI applications"
 HOMEPAGE = "http://redmine.lighttpd.net/projects/spawn-fcgi"
 
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
 
 SRC_URI = "http://download.lighttpd.net/spawn-fcgi/releases-1.6.x/spawn-fcgi-${PV}.tar.gz \
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
index d54d622..112365d 100644
--- a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
@@ -1,6 +1,6 @@
 SUMMARY = "Web-based administration interface"
 HOMEPAGE = "http://www.webmin.com"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENCE;md5=0373ac9f611e542ddebe1ec6394afc3c"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/webadmin/webmin-${PV}.tar.gz \