reset upstream subtrees to HEAD

Reset the following subtrees on HEAD:
  poky: 8217b477a1(master)
  meta-xilinx: 64aa3d35ae(master)
  meta-openembedded: 0435c9e193(master)
  meta-raspberrypi: 490a4441ac(master)
  meta-security: cb6d1c85ee(master)

Squashed patches:
  meta-phosphor: drop systemd 239 patches
  meta-phosphor: mrw-api: use correct install path

Change-Id: I268e2646d9174ad305630c6bbd3fbc1a6105f43d
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
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 fa73ea5..d0b5697 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
@@ -9,6 +9,6 @@
 inherit pypi
 
 RDEPENDS_${PN}_class-target += " \
-    ${PYTHON_PN}-cryptography \
+    ${PYTHON_PN}-crypt \
     ${PYTHON_PN}-ctypes \
-"    
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc
new file mode 100644
index 0000000..52ae318
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools.inc
@@ -0,0 +1,16 @@
+SUMMARY = "Extensible memoizing collections and decorators"
+HOMEPAGE = "https://github.com/tkem/cachetools"
+DESCRIPTION = "This module provides various memoizing \
+collections and decorators, including variants of the \
+Python 3 Standard Library @lru_cache function decorator."
+SECTION = "devel/python"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=27f7518eb6f7dc686d0f953b2f28dae5"
+
+inherit pypi
+
+SRC_URI[md5sum] = "a7b1c5eb5390d50067c62d7bcb4e875c"
+SRC_URI[sha256sum] = "9efcc9fab3b49ab833475702b55edd5ae07af1af7a4c627678980b45e459c460"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.0.bb
new file mode 100644
index 0000000..8c12ad0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cachetools_3.1.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-cachetools.inc
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 c81545b..60bc46f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
@@ -6,10 +6,10 @@
 sensible defaults out of the box."
 HOMEPAGE = "http://click.pocoo.org/"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=09e8b7869f94ba9e9a7b260d53c65dab"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=c13ed890b210a882c1778216694c98c7"
 
-SRC_URI[md5sum] = "fc4cc00c4863833230d3af92af48abd4"
-SRC_URI[sha256sum] = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"
+SRC_URI[md5sum] = "7f53d50f7b7373ebc7963f9ff697450a"
+SRC_URI[sha256sum] = "5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"
 
 UPSTREAM_CHECK_REGEX = "click/(?P<pver>\d+(\.\d+)+)/"
 
@@ -21,3 +21,5 @@
     "
 
 BBCLASSEXTEND = "native nativesdk"
+
+PYPI_PACKAGE = "Click"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-click_7.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-click_6.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-click_7.0.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 d1e254b..04173f0 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] = "294d44f32885a6b97d5f9cdd7ffc73a3"
-SRC_URI[sha256sum] = "356a2ded84ae379e556515eec9b68dd74957651a38465d10605bb9fbae280f15"
+SRC_URI[md5sum] = "e7f44b1678e3071e2044a32f7c353d14"
+SRC_URI[sha256sum] = "829d43e8066056de8ea7b8ad311db79e47d8d658e23d5f5fc4b0245a1b3baa74"
 
 PYPI_PACKAGE = "cryptography_vectors"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.4.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.4.1.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 dbbfe2c..2c1ac1c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
@@ -10,14 +10,13 @@
     ${PYTHON_PN}-six \
 "
 
-SRC_URI[md5sum] = "a0f3f563ab1c5c3bc02fae8d4aa3ad16"
-SRC_URI[sha256sum] = "c132bab45d4bd0fff1d3fe294d92b0a6eb8404e93337b3127bdec9f21de117e6"
+SRC_URI[md5sum] = "464f180ff64622760cca7167f97b3ff4"
+SRC_URI[sha256sum] = "e85b410885addaeb31a867eabcefc9ef4a7e904ad45eac9e60a763a54b244626"
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-cffi \
     ${PYTHON_PN}-idna \
     ${PYTHON_PN}-asn1crypto \
-    ${PYTHON_PN}-pycparser \
     ${PYTHON_PN}-setuptools \
     ${PYTHON_PN}-six \
 "
@@ -27,7 +26,6 @@
     ${PYTHON_PN}-idna \
     ${PYTHON_PN}-numbers \
     ${PYTHON_PN}-asn1crypto \
-    ${PYTHON_PN}-pycparser \
     ${PYTHON_PN}-setuptools \
     ${PYTHON_PN}-six \
     ${PYTHON_PN}-threading \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.4.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.4.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc
index 13513f2..bc89d10 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-gevent.inc
@@ -4,8 +4,9 @@
 HOMEPAGE = "http://www.gevent.org"
 LICENSE = "MIT & Python-2.0 & BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=4de99aac27b470c29c6c309e0c279b65 \
-                    file://NOTICE;md5=5966cd2c6582656d28ab3c33da3860f8 \
-                    file://deps/libev/LICENSE;md5=d6ad416afd040c90698edcdf1cbee347"
+                    file://NOTICE;md5=18108df3583462cafd457f024b9b09b5 \
+                    file://deps/libev/LICENSE;md5=d6ad416afd040c90698edcdf1cbee347 \
+                    "
 DEPENDS += "libevent"
 DEPENDS += "${PYTHON_PN}-greenlet"
 RDEPENDS_${PN} = "${PYTHON_PN}-greenlet \
@@ -17,10 +18,11 @@
 
 SRC_URI_append = " \
     file://libev-conf.patch;patch=1;pnum=1 \
+    file://0002-setup.py-do-not-query-for-include-dir.patch \
 "
 
-SRC_URI[md5sum] = "7f0baf355384fe5ff2ecf66853422554"
-SRC_URI[sha256sum] = "4791c8ae9c57d6f153354736e1ccab1e2baf6c8d9ae5a77a9ac90f41e2966b2d"
+SRC_URI[md5sum] = "6b9dd98917061803d9158e5258b8f412"
+SRC_URI[sha256sum] = "1eb7fa3b9bd9174dfe9c3b59b7a09b768ecd496debfc4976a9530a3e15c990d1"
 
 # The python-gevent has no autoreconf ability
 # and the logic for detecting a cross compile is flawed
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/0002-setup.py-do-not-query-for-include-dir.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/0002-setup.py-do-not-query-for-include-dir.patch
new file mode 100644
index 0000000..7536b71
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/0002-setup.py-do-not-query-for-include-dir.patch
@@ -0,0 +1,26 @@
+From a53ed6b2f967a5f95e69d51cad3f8c120d7df65b Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 7 Feb 2019 15:21:15 +0100
+Subject: [PATCH] setup.py: do not query for include dir
+
+As this will return the native python directory erroneously.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 86d6c5a..5d22291 100755
+--- a/setup.py
++++ b/setup.py
+@@ -52,7 +52,7 @@ from _setupares import ARES
+ # Get access to the greenlet header file.
+ # The sysconfig dir is not enough if we're in a virtualenv
+ # See https://github.com/pypa/pip/issues/4610
+-include_dirs = [sysconfig.get_path("include")]
++include_dirs = []
+ venv_include_dir = os.path.join(sys.prefix, 'include', 'site',
+                                 'python' + sysconfig.get_python_version())
+ venv_include_dir = os.path.abspath(venv_include_dir)
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.4.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.4.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc
index fcd81f6..c7c656c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet.inc
@@ -3,7 +3,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=03143d7a1a9f5d8a0fee825f24ca9c36 \
                     file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a"
 
-SRC_URI[md5sum] = "a87b6028c3b742b210bf5973939db595"
-SRC_URI[sha256sum] = "f1cc268a15ade58d9a0c04569fe6613e19b8b0345b64453064e2c3c6d79051af"
+SRC_URI[md5sum] = "10fa304f673fc18b28fa6d8c6658cb80"
+SRC_URI[sha256sum] = "9416443e219356e3c31f1f918a91badf2e37acf297e2fa13d24d1cc2380f8fbc"
 
 inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.14.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.15.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.14.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.15.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc
index 23d25f7..fd341f5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc
@@ -5,7 +5,11 @@
 DEPENDS_append = "${PYTHON_PN}-protobuf"
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/python-grpcio:"
-SRC_URI_append_class-target = " file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch "
+
+SRC_URI_append_class-target = " file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch \
+                                file://ppc-boringssl-support.patch \
+                                file://riscv64_support.patch \
+"
 
 RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \
                   ${PYTHON_PN}-setuptools \
@@ -17,8 +21,8 @@
 
 inherit pypi
 
-SRC_URI[md5sum] = "0987ae2e47b5103de3cacc437874a3c5"
-SRC_URI[sha256sum] = "4bf23666e763ca7ff6010465864e9f088f4ac7ecc1e11abd6f85b250e66b2c05"
+SRC_URI[md5sum] = "188565f150f34d1927b87e014f0f4b73"
+SRC_URI[sha256sum] = "2ddbca16c2e7b3f2ffc6e34c7cfa6886fb01de9f156ad3f77b72ad652d632097"
 
 CLEANBROKEN = "1"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
index 996597b..f17f048 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
@@ -18,11 +18,9 @@
  setup.py | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-Index: grpcio-1.14.1/setup.py
-===================================================================
---- grpcio-1.14.1.orig/setup.py
-+++ grpcio-1.14.1/setup.py
-@@ -123,7 +123,7 @@ ENABLE_DOCUMENTATION_BUILD = os.environ.
+--- a/setup.py
++++ b/setup.py
+@@ -145,7 +145,7 @@ ENABLE_DOCUMENTATION_BUILD = os.environ.
  EXTRA_ENV_COMPILE_ARGS = os.environ.get('GRPC_PYTHON_CFLAGS', None)
  EXTRA_ENV_LINK_ARGS = os.environ.get('GRPC_PYTHON_LDFLAGS', None)
  if EXTRA_ENV_COMPILE_ARGS is None:
@@ -31,7 +29,7 @@
    if 'win32' in sys.platform and sys.version_info < (3, 5):
      EXTRA_ENV_COMPILE_ARGS += ' -D_hypot=hypot'
      # We use define flags here and don't directly add to DEFINE_MACROS below to
-@@ -135,7 +135,7 @@ if EXTRA_ENV_COMPILE_ARGS is None:
+@@ -157,7 +157,7 @@ if EXTRA_ENV_COMPILE_ARGS is None:
      else:
        EXTRA_ENV_COMPILE_ARGS += ' -D_ftime=_ftime64 -D_timeb=__timeb64'
    elif "linux" in sys.platform:
@@ -39,4 +37,4 @@
 +    EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv -fno-exceptions'
    elif "darwin" in sys.platform:
      EXTRA_ENV_COMPILE_ARGS += ' -fvisibility=hidden -fno-wrapv -fno-exceptions'
- EXTRA_ENV_COMPILE_ARGS += ' -DPB_FIELD_16BIT'
+ EXTRA_ENV_COMPILE_ARGS += ' -DPB_FIELD_32BIT'
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch
new file mode 100644
index 0000000..6435abb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/ppc-boringssl-support.patch
@@ -0,0 +1,17 @@
+Let boringSSL compile on ppc32 bit
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/third_party/boringssl/include/openssl/base.h
++++ b/third_party/boringssl/include/openssl/base.h
+@@ -95,6 +95,9 @@ extern "C" {
+ #elif (defined(__PPC64__) || defined(__powerpc64__)) && defined(_LITTLE_ENDIAN)
+ #define OPENSSL_64_BIT
+ #define OPENSSL_PPC64LE
++#elif (defined(__PPC__) || defined(__powerpc__))
++#define OPENSSL_32_BIT
++#define OPENSSL_PPC
+ #elif defined(__mips__) && !defined(__LP64__)
+ #define OPENSSL_32_BIT
+ #define OPENSSL_MIPS
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/riscv64_support.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/riscv64_support.patch
new file mode 100644
index 0000000..fef7d9e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/riscv64_support.patch
@@ -0,0 +1,16 @@
+Add RISC-V 64bit support
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/third_party/boringssl/include/openssl/base.h
++++ b/third_party/boringssl/include/openssl/base.h
+@@ -104,6 +104,9 @@ extern "C" {
+ #elif defined(__mips__) && defined(__LP64__)
+ #define OPENSSL_64_BIT
+ #define OPENSSL_MIPS64
++#elif defined(__riscv) && defined(__riscv_xlen)
++#define OPENSSL_64_BIT
++#define OPENSSL_RISCV64
+ #elif defined(__pnacl__)
+ #define OPENSSL_32_BIT
+ #define OPENSSL_PNACL
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.14.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.19.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.14.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.19.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc
index 0eb8bf3..a8e0fb4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib.inc
@@ -13,3 +13,5 @@
     ${PYTHON_PN}-webencodings \
     ${PYTHON_PN}-xml \
 "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
index 519812d..13b0cdb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
@@ -3,8 +3,8 @@
 LICENSE = "BSD-3-Clause & Python-2.0 & Unicode"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=782775b32f96098512e283fb5d4546cd"
 
-SRC_URI[md5sum] = "0e5bb69018ddef1b9d95f681182be82c"
-SRC_URI[sha256sum] = "684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16"
+SRC_URI[md5sum] = "2e9ae0b4a0b26d1747c6127cdb060bc1"
+SRC_URI[sha256sum] = "c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407"
 
 RDEPENDS_${PN}_class-target = "\
     ${PYTHON_PN}-codecs \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.8.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.8.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc
new file mode 100644
index 0000000..3cb6bb8
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-isodate.inc
@@ -0,0 +1,14 @@
+SUMMARY = "ISO 8601 date/time parser"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709"
+
+SRC_URI[md5sum] = "0e1203fce27ce65e2d01c5f21c4d428f"
+SRC_URI[sha256sum] = "2e364a3d5759479cdb2d37cce6b9376ea504db2ff90252a2e5b7cc89cc9ff2d8"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-six \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-isodate_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-isodate_0.6.0.bb
new file mode 100644
index 0000000..d48e123
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-isodate_0.6.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-isodate.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
index 0c0bf0d..5342eb5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
@@ -13,3 +13,5 @@
     ${PYTHON_PN}-json ${PYTHON_PN}-threading ${PYTHON_PN}-numbers"
 
 CLEANBROKEN = "1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-kconfiglib-10.42.0.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-kconfiglib-10.42.0.inc
new file mode 100644
index 0000000..72d6a65
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-kconfiglib-10.42.0.inc
@@ -0,0 +1,8 @@
+DESCRIPTION = "Kconfiglib is a Kconfig implementation in Python"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=712177a72a3937909543eda3ad1bfb7c"
+
+SRC_URI[md5sum] = "2306279a050c6a888f34a5719047f217"
+SRC_URI[sha256sum] = "0070eb9061f924e1fa7bc2b1f0aeea1d38e1ddf9bbdbd4b5c346bcf1a0848674"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
index 7f355a7..14897c0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
@@ -11,15 +11,15 @@
                     file://doc/licenses/elementtree.txt;md5=eb34d036a6e3d56314ee49a6852ac891 \
                     file://doc/licenses/BSD.txt;md5=700a1fc17f4797d4f2d34970c8ee694b \
                     file://doc/licenses/GPL.txt;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://src/lxml/isoschematron/resources/rng/iso-schematron.rng;beginline=2;endline=7;md5=939e7430ce85e1242ff50c4ee9430752 \
+                    file://src/lxml/isoschematron/resources/rng/iso-schematron.rng;beginline=2;endline=7;md5=fc85684a8dd5fa272c086bceb0d99e10 \
                     file://src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl;beginline=2;endline=24;md5=cc86b7b2bbc678e13f58ea403eb9929b \
                     file://src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl;beginline=2;endline=7;md5=5b03236d293dc3784205542b409d2f53 \
                     "
 
 DEPENDS += "libxml2 libxslt"
 
-SRC_URI[md5sum] = "31239400ca4e130b69993bb3c14204b3"
-SRC_URI[sha256sum] = "e2afbe403090f5893e254958d02875e0732975e73c4c0cdd33c1f009a61963ca"
+SRC_URI[md5sum] = "d2b2eb305bfa9ed15aebe61affb3ffa4"
+SRC_URI[sha256sum] = "da5e7e941d6e71c9c9a717c93725cda0708c2474f532e3680ac5e39ec57d224d"
 
 DISTUTILS_BUILD_ARGS += " \
                      --with-xslt-config='pkg-config libxslt' \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
index 927f844..437a60c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
@@ -10,3 +10,5 @@
 inherit pypi
 
 RDEPENDS_${PN} += "${PYTHON_PN}-stringold"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
index fdc8926..9147c06 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
@@ -2,12 +2,12 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751"
 
-SRC_URI[md5sum] = "6d644c06a87a5a111bbbf5b34b4be440"
-SRC_URI[sha256sum] = "378cc8a6d3545b532dfd149da715abae4fda2a3adb6d74e525d0d5e51f46909b"
-
-PYPI_PACKAGE = "msgpack-python"
+PYPI_PACKAGE = "msgpack"
 inherit pypi
 
+SRC_URI[md5sum] = "be3043cc2c1e3b5ebf08463ffa71cf17"
+SRC_URI[sha256sum] = "64abc6bf3a2ac301702f5760f4e6e227d0fd4d84d9014ef9a40faa9d43365259"
+
 RDEPENDS_${PN}_class-target += "\
     ${PYTHON_PN}-io \
 "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.5.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.6.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.5.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.6.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc
new file mode 100644
index 0000000..f2caf64
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-obd.inc
@@ -0,0 +1,9 @@
+DESCRIPTION = "A python module for handling realtime sensor data from OBD-II vehicle ports"
+HOMEPAGE = "https://github.com/brendan-w/python-OBD"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://README.rst;md5=2988a5e913eb105fa08011135c4157d4"
+
+SRC_URI[md5sum] = "93e04f825e13b7ebc97d06b6a6407807"
+SRC_URI[sha256sum] = "4b1bac95df2faac571ebf444778e4d736d050d8ed7049023c0fc929a520eba6d"
+
+inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
index f834e6f..66943ed 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
@@ -7,8 +7,9 @@
 SRCNAME = "paho-mqtt"
 
 inherit pypi
-SRC_URI[md5sum] = "2cc27d8b369700b1fc99325add0dadd2"
-SRC_URI[sha256sum] = "31911f6031de306c27ed79dc77b690d7c55b0dcb0f0434ca34ec6361d0371122"
+
+SRC_URI[md5sum] = "e3ac29cd5dc247a01083a2a8f3fddd08"
+SRC_URI[sha256sum] = "e440a052b46d222e184be3be38676378722072fcd4dfd2c8f509fb861a7b0b79"
 
 DEPENDS += "${PYTHON_PN}-pytest-runner-native"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.4.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.3.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.4.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-paste_2.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.0.6.bb
similarity index 61%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-paste_2.0.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.0.6.bb
index 6b4019f..4d5c323 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-paste_2.0.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.0.6.bb
@@ -5,10 +5,13 @@
 
 LIC_FILES_CHKSUM = "file://docs/license.txt;md5=1798f29d55080c60365e6283cb49779c"
 
-SRC_URI[md5sum] = "1231e14eae62fa7ed76e9130b04bc61e"
-SRC_URI[sha256sum] = "2346a347824c32641bf020c17967b49ae74d3310ec1bc9b958d4b84e2d985218"
+SRC_URI[md5sum] = "4e93762f24fc728ecb4ddcff2693df39"
+SRC_URI[sha256sum] = "06aacf7a40685be0a0db8b26516e7d559d7fe5ccf7a47c5cd34f15ab558a8b92"
 
 PYPI_PACKAGE = "Paste"
 inherit pypi setuptools
 
 FILES_${PN} += "/usr/lib/*"
+
+DEPENDS += "${PYTHON_PN}-pytest-runner-native"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_4.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_4.2.0.bb
index a4b56cd..3248772 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_4.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_4.2.0.bb
@@ -1,3 +1,7 @@
 inherit setuptools
 # The inc file is in oe-core
 require recipes-devtools/python/python-pbr.inc
+
+SRC_URI[md5sum] = "6619780896ca81c7cd19c6e2f439b6c9"
+SRC_URI[sha256sum] = "1b8be50d938c9bb75d0eaf7eda111eec1bf6dc88a62a6412e33bf077457e0f45"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
index b617904..54eacc0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
@@ -28,4 +28,5 @@
 "
 
 # For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools)
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
index d112d9f..47a0e0e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
@@ -3,8 +3,9 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86f1cedb4e6410a88ce8e30b91079169"
 
-SRC_URI[md5sum] = "72370da54358202a60130e223d488136"
-SRC_URI[sha256sum] = "99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226"
+SRC_URI[md5sum] = "76396762adc3fa769c83d8e202d36b6f"
+SRC_URI[sha256sum] = "a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3"
+
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.19.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.18.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.19.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-ptrace-Abstract-over-user_regs_struct-name-which-dif.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-ptrace-Abstract-over-user_regs_struct-name-which-dif.patch
deleted file mode 100644
index 09c4394..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-ptrace-Abstract-over-user_regs_struct-name-which-dif.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 2ef124e235a47dd4742813cf80e11a89cf4f02f8 Mon Sep 17 00:00:00 2001
-From: Andrew Jeffery <andrew@aj.id.au>
-Date: Thu, 3 May 2018 12:35:31 +0930
-Subject: [PATCH] ptrace: Abstract over user_regs_struct name, which differs on
- ARM32
-
-Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
----
- src/ptrace.cc |  6 +++---
- src/ptrace.h  | 10 ++++++++--
- 2 files changed, 11 insertions(+), 5 deletions(-)
-
-diff --git a/src/ptrace.cc b/src/ptrace.cc
-index 485f58e4d82e..610fabb3b8e8 100644
---- a/src/ptrace.cc
-+++ b/src/ptrace.cc
-@@ -122,8 +122,8 @@ void PtraceInterrupt(pid_t pid) {
-   DoWait(pid);
- }
- 
--struct user_regs_struct PtraceGetRegs(pid_t pid) {
--  struct user_regs_struct regs;
-+user_regs_struct PtraceGetRegs(pid_t pid) {
-+  user_regs_struct regs;
-   if (ptrace(PTRACE_GETREGS, pid, 0, &regs)) {
-     std::ostringstream ss;
-     ss << "Failed to PTRACE_GETREGS: " << strerror(errno);
-@@ -132,7 +132,7 @@ struct user_regs_struct PtraceGetRegs(pid_t pid) {
-   return regs;
- }
- 
--void PtraceSetRegs(pid_t pid, struct user_regs_struct regs) {
-+void PtraceSetRegs(pid_t pid, user_regs_struct regs) {
-   if (ptrace(PTRACE_SETREGS, pid, 0, &regs)) {
-     std::ostringstream ss;
-     ss << "Failed to PTRACE_SETREGS: " << strerror(errno);
-diff --git a/src/ptrace.h b/src/ptrace.h
-index 7083be1c4dfd..d6af8bf9f83a 100644
---- a/src/ptrace.h
-+++ b/src/ptrace.h
-@@ -23,6 +23,12 @@
- 
- #include "./config.h"
- 
-+#if defined(__arm__)
-+typedef struct user_regs user_regs_struct;
-+#else
-+typedef struct user_regs_struct user_regs_struct;
-+#endif
-+
- namespace pyflame {
- 
- int DoWait(pid_t pid, int options = 0);
-@@ -39,10 +45,10 @@ void PtraceSeize(pid_t pid);
- void PtraceInterrupt(pid_t pid);
- 
- // get regs from a process
--struct user_regs_struct PtraceGetRegs(pid_t pid);
-+user_regs_struct PtraceGetRegs(pid_t pid);
- 
- // set regs in a process
--void PtraceSetRegs(pid_t pid, struct user_regs_struct regs);
-+void PtraceSetRegs(pid_t pid, user_regs_struct regs);
- 
- // poke a long word into an address
- void PtracePoke(pid_t pid, unsigned long addr, long data);
--- 
-2.14.1
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-symbol-Account-for-prelinked-shared-objects.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-symbol-Account-for-prelinked-shared-objects.patch
deleted file mode 100644
index 3eefc9c..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-symbol-Account-for-prelinked-shared-objects.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From 007965d341349679607699d005c4af811b2c419a Mon Sep 17 00:00:00 2001
-From: Andrew Jeffery <andrew@aj.id.au>
-Date: Fri, 4 May 2018 11:23:53 +0930
-Subject: [PATCH] symbol: Account for prelinked shared objects
-
-Some projects, such as those derived from Yocto, tend to prelink their
-binaries and libraries to reduce runtime overhead. Currently this trips
-up pyflame in its symbol address calculations, and leads to ptrace
-failures due to spurious addresses:
-
-   $ pyflame -t python -c "print 'foo'"
-   Unexpected ptrace(2) exception: Failed to PTRACE_PEEKDATA (pid 1482, addr 0x9f9b1d70): Input/output error
-   Unexpected ptrace(2) exception: Failed to PTRACE_PEEKDATA (pid 1482, addr 0x9f9b1d70): Input/output error
-   Unexpected ptrace(2) exception: Failed to PTRACE_PEEKDATA (pid 1482, addr 0x9f9b1d70): Input/output error
-   Unexpected ptrace(2) exception: Failed to PTRACE_PEEKDATA (pid 1482, addr 0x9f9b1d70): Input/output error
-   Unexpected ptrace(2) exception: Failed to PTRACE_PEEKDATA (pid 1482, addr 0x9f9b1d70): Input/output error
-   ...
-
-Add support for reading a prelinked base p_vaddr out of the ELF and
-adjust the PyAddresses values accordingly.
-
-Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
----
- src/symbol.cc | 15 +++++++++++++++
- src/symbol.h  | 29 ++++++++++++++++++++++++++++-
- 2 files changed, 43 insertions(+), 1 deletion(-)
-
-diff --git a/src/symbol.cc b/src/symbol.cc
-index 125174efeeb5..39c3e8132dd1 100644
---- a/src/symbol.cc
-+++ b/src/symbol.cc
-@@ -166,6 +166,17 @@ PyABI ELF::WalkTable(int sym, int str, PyAddresses *addrs) {
-   return abi;
- }
- 
-+addr_t ELF::GetBaseAddress() {
-+  int32_t phnum = hdr()->e_phnum;
-+  int32_t i;
-+  for (i = 0; i < phnum && phdr(i)->p_type != PT_LOAD; i++) {
-+  }
-+  if (i == phnum) {
-+    throw FatalException("Failed to find PT_LOAD entry in program headers");
-+  }
-+  return phdr(i)->p_vaddr;
-+}
-+
- PyAddresses ELF::GetAddresses(PyABI *abi) {
-   PyAddresses addrs;
-   PyABI detected_abi = WalkTable(dynsym_, dynstr_, &addrs);
-@@ -176,6 +187,10 @@ PyAddresses ELF::GetAddresses(PyABI *abi) {
-   if (abi != nullptr) {
-     *abi = detected_abi;
-   }
-+  // Handle prelinked shared objects
-+  if (hdr()->e_type == ET_DYN) {
-+    return addrs - GetBaseAddress();
-+  }
-   return addrs;
- }
- }  // namespace pyflame
-diff --git a/src/symbol.h b/src/symbol.h
-index 124853bcc1c1..bb92b9a2604b 100644
---- a/src/symbol.h
-+++ b/src/symbol.h
-@@ -28,15 +28,19 @@
- 
- #if USE_ELF64
- #define ehdr_t Elf64_Ehdr
-+#define phdr_t Elf64_Phdr
- #define shdr_t Elf64_Shdr
- #define dyn_t Elf64_Dyn
- #define sym_t Elf64_Sym
-+#define addr_t Elf64_Addr
- #define ARCH_ELFCLASS ELFCLASS64
- #else
- #define ehdr_t Elf32_Ehdr
-+#define phdr_t Elf32_Phdr
- #define shdr_t Elf32_Shdr
- #define dyn_t Elf32_Dyn
- #define sym_t Elf32_Sym
-+#define addr_t Elf32_Addr
- #define ARCH_ELFCLASS ELFCLASS32
- #endif
- 
-@@ -67,8 +71,18 @@ struct PyAddresses {
-         interp_head_hint(0),
-         pie(false) {}
- 
-+  PyAddresses operator-(const unsigned long base) const {
-+    PyAddresses res(*this);
-+    res.tstate_addr = this->tstate_addr == 0 ? 0 : this->tstate_addr - base;
-+    res.interp_head_addr =
-+        this->interp_head_addr == 0 ? 0 : this->interp_head_addr - base;
-+    res.interp_head_fn_addr =
-+        this->interp_head_fn_addr == 0 ? 0 : this->interp_head_fn_addr - base;
-+    return res;
-+  }
-+
-   PyAddresses operator+(const unsigned long base) const {
--    PyAddresses res;
-+    PyAddresses res(*this);
-     res.tstate_addr = this->tstate_addr == 0 ? 0 : this->tstate_addr + base;
-     res.interp_head_addr =
-         this->interp_head_addr == 0 ? 0 : this->interp_head_addr + base;
-@@ -113,6 +127,9 @@ class ELF {
-   // ABI.
-   PyAddresses GetAddresses(PyABI *abi);
- 
-+  // Extract the base load address from the Program Header table
-+  addr_t GetBaseAddress();
-+
-  private:
-   void *addr_;
-   size_t length_;
-@@ -122,6 +139,16 @@ class ELF {
-     return reinterpret_cast<const ehdr_t *>(addr_);
-   }
- 
-+  inline const phdr_t *phdr(int idx) const {
-+    if (idx < 0) {
-+      std::ostringstream ss;
-+      ss << "Illegal phdr index: " << idx;
-+      throw FatalException(ss.str());
-+    }
-+    return reinterpret_cast<const phdr_t *>(p() + hdr()->e_phoff +
-+                                            idx * hdr()->e_phentsize);
-+  }
-+
-   inline const shdr_t *shdr(int idx) const {
-     if (idx < 0) {
-       std::ostringstream ss;
--- 
-2.14.1
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame.inc
index 340aab7..d8d8349 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame.inc
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
 DEPENDS = "python"
 
-SRC_URI = "git://github.com/uber/pyflame.git;protocol=https"
+SRC_URI = "git://github.com/uber/pyflame.git;protocol=https;nobranch=1"
 S = "${WORKDIR}/git"
 
 inherit pkgconfig autotools
@@ -13,3 +13,6 @@
 COMPATIBLE_HOST_libc-musl_class-target = "null"
 COMPATIBLE_HOST_mipsarch_class-target = "null"
 COMPATIBLE_HOST_aarch64_class-target = "null"
+COMPATIBLE_HOST_powerpc_class-target = "null"
+COMPATIBLE_HOST_riscv64_class-target = "null"
+COMPATIBLE_HOST_riscv32_class-target = "null"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.6.bb
deleted file mode 100644
index 8dedb89..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.6.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require python-pyflame.inc
-
-# v1.6.6
-SRCREV = "8a9d8c2acc3b3bb027475b738134f1e6fff14e6c"
-SRC_URI += "file://0001-ptrace-Abstract-over-user_regs_struct-name-which-dif.patch"
-SRC_URI += "file://0001-symbol-Account-for-prelinked-shared-objects.patch"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.7.bb
new file mode 100644
index 0000000..cb08f30
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.7.bb
@@ -0,0 +1,4 @@
+require python-pyflame.inc
+
+# v1.6.7
+SRCREV = "c151d2f34737f28a1f5266a003b2b0720bbd9f96"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
index 975f11c..21abdb8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
@@ -7,6 +7,7 @@
     ${PYTHON_PN}-io \
     ${PYTHON_PN}-misc \
     ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-smtpd \
 "
 
 SRC_URI[md5sum] = "8e580fa1ff3971f94a6f81672b76c406"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib.inc
new file mode 100644
index 0000000..0eac197
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib.inc
@@ -0,0 +1,15 @@
+SUMMARY = "RDFLib is a pure Python package for working with RDF"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=68c1a3bb687bd63b8e5552f3ea249840"
+
+SRC_URI[md5sum] = "534fe35b13c5857d53fa1ac5a41eca67"
+SRC_URI[sha256sum] = "da1df14552555c5c7715d8ce71c08f404c988c58a1ecd38552d0da4fc261280d"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-isodate \
+    ${PYTHON_PN}-pyparsing \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib_4.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib_4.2.2.bb
new file mode 100644
index 0000000..7ed0f5f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-rdflib_4.2.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-rdflib.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests-oauthlib.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-requests-oauthlib.inc
new file mode 100644
index 0000000..4bc6a36
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-requests-oauthlib.inc
@@ -0,0 +1,7 @@
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=22d117a849df10d047ed9b792838e863"
+
+SRC_URI[md5sum] = "4358a879a4377393bcfd37d0f9ae6d4d"
+SRC_URI[sha256sum] = "883ac416757eada6d3d07054ec7092ac21c7f35cb1d2cf82faf205637081f468"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-requests"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests-oauthlib_0.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-requests-oauthlib_0.8.0.bb
new file mode 100644
index 0000000..4318915
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-requests-oauthlib_0.8.0.bb
@@ -0,0 +1,3 @@
+require python-requests-oauthlib.inc
+inherit pypi setuptools
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
index 301c2f8..0401ee4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
@@ -1,16 +1,12 @@
 DESCRIPTION = "Python HTTP for Humans."
 HOMEPAGE = "http://python-requests.org"
 LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=bfbeafb85a2cee261510d65d5ec19156"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a8d5a1d1c2d53025e2282c511033f6f7"
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/python-requests:"
 
-SRC_URI += "file://0001-Strip-Authorization-header-whenever-root-URL-changes.patch \
-            file://0002-Rework-authorization-stripping-logic-as-discussed.patch \
-            "
-
-SRC_URI[md5sum] = "6c1a31afec9d614e2e71a91ee6ca2878"
-SRC_URI[sha256sum] = "ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a"
+SRC_URI[md5sum] = "2918817ea4688f4ea21cb4b11e353448"
+SRC_URI[sha256sum] = "ea881206e59f41dbd0bd445437d792e43906703fff75ca8ff43ccdb11f33f263"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0001-Strip-Authorization-header-whenever-root-URL-changes.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0001-Strip-Authorization-header-whenever-root-URL-changes.patch
deleted file mode 100644
index 80ef5ff..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0001-Strip-Authorization-header-whenever-root-URL-changes.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From fb0d391138df48e93c44a2087ea796cca5e229c0 Mon Sep 17 00:00:00 2001
-From: Bruce Merry <bmerry@ska.ac.za>
-Date: Thu, 28 Jun 2018 16:38:42 +0200
-Subject: [PATCH 1/2] Strip Authorization header whenever root URL changes
-
-Previously the header was stripped only if the hostname changed, but in
-an https -> http redirect that can leak the credentials on the wire
-(#4716). Based on with RFC 7235 section 2.2, the header is now stripped
-if the "canonical root URL" (scheme+authority) has changed, by checking
-scheme, hostname and port.
-
-Upstream-Status: Backport
-
-Fix CVE-2018-18074
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- requests/sessions.py   |  4 +++-
- tests/test_requests.py | 12 +++++++++++-
- 2 files changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/requests/sessions.py b/requests/sessions.py
-index ba13526..2969d83 100644
---- a/requests/sessions.py
-+++ b/requests/sessions.py
-@@ -242,7 +242,9 @@ class SessionRedirectMixin(object):
-             original_parsed = urlparse(response.request.url)
-             redirect_parsed = urlparse(url)
- 
--            if (original_parsed.hostname != redirect_parsed.hostname):
-+            if (original_parsed.hostname != redirect_parsed.hostname
-+                    or original_parsed.port != redirect_parsed.port
-+                    or original_parsed.scheme != redirect_parsed.scheme):
-                 del headers['Authorization']
- 
-         # .netrc might have more auth for us on our new host.
-diff --git a/tests/test_requests.py b/tests/test_requests.py
-index fcddb1d..e0e801a 100644
---- a/tests/test_requests.py
-+++ b/tests/test_requests.py
-@@ -1575,7 +1575,17 @@ class TestRequests:
-             auth=('user', 'pass'),
-         )
-         assert r.history[0].request.headers['Authorization']
--        assert not r.request.headers.get('Authorization', '')
-+        assert 'Authorization' not in r.request.headers
-+
-+    def test_auth_is_stripped_on_scheme_redirect(self, httpbin, httpbin_secure, httpbin_ca_bundle):
-+        r = requests.get(
-+            httpbin_secure('redirect-to'),
-+            params={'url': httpbin('get')},
-+            auth=('user', 'pass'),
-+            verify=httpbin_ca_bundle
-+        )
-+        assert r.history[0].request.headers['Authorization']
-+        assert 'Authorization' not in r.request.headers
- 
-     def test_auth_is_retained_for_redirect_on_host(self, httpbin):
-         r = requests.get(httpbin('redirect/1'), auth=('user', 'pass'))
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0002-Rework-authorization-stripping-logic-as-discussed.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0002-Rework-authorization-stripping-logic-as-discussed.patch
deleted file mode 100644
index ef069fb..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0002-Rework-authorization-stripping-logic-as-discussed.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From 698c2fa850bfc8b3bdb768e1c1cd6d57e643811d Mon Sep 17 00:00:00 2001
-From: Bruce Merry <bmerry@ska.ac.za>
-Date: Tue, 14 Aug 2018 13:30:43 +0200
-Subject: [PATCH 2/2] Rework authorization stripping logic as discussed
-
-The exception for http->https upgrade now requires the standard HTTP(S)
-ports to be used, either implicitly (no port specified) or explicitly.
-
-Upstream-Status: Backport
-
-Follow-up fix for CVE-2018-18074
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- requests/sessions.py   | 26 ++++++++++++++++++--------
- tests/test_requests.py | 33 ++++++++++++++++++++++-----------
- 2 files changed, 40 insertions(+), 19 deletions(-)
-
-diff --git a/requests/sessions.py b/requests/sessions.py
-index 2969d83..c11a3a2 100644
---- a/requests/sessions.py
-+++ b/requests/sessions.py
-@@ -115,6 +115,22 @@ class SessionRedirectMixin(object):
-             return to_native_string(location, 'utf8')
-         return None
- 
-+    def should_strip_auth(self, old_url, new_url):
-+        """Decide whether Authorization header should be removed when redirecting"""
-+        old_parsed = urlparse(old_url)
-+        new_parsed = urlparse(new_url)
-+        if old_parsed.hostname != new_parsed.hostname:
-+            return True
-+        # Special case: allow http -> https redirect when using the standard
-+        # ports. This isn't specified by RFC 7235, but is kept to avoid
-+        # breaking backwards compatibility with older versions of requests
-+        # that allowed any redirects on the same host.
-+        if (old_parsed.scheme == 'http' and old_parsed.port in (80, None)
-+                and new_parsed.scheme == 'https' and new_parsed.port in (443, None)):
-+            return False
-+        # Standard case: root URI must match
-+        return old_parsed.port != new_parsed.port or old_parsed.scheme != new_parsed.scheme
-+
-     def resolve_redirects(self, resp, req, stream=False, timeout=None,
-                           verify=True, cert=None, proxies=None, yield_requests=False, **adapter_kwargs):
-         """Receives a Response. Returns a generator of Responses or Requests."""
-@@ -236,16 +252,10 @@ class SessionRedirectMixin(object):
-         headers = prepared_request.headers
-         url = prepared_request.url
- 
--        if 'Authorization' in headers:
-+        if 'Authorization' in headers and self.should_strip_auth(response.request.url, url):
-             # If we get redirected to a new host, we should strip out any
-             # authentication headers.
--            original_parsed = urlparse(response.request.url)
--            redirect_parsed = urlparse(url)
--
--            if (original_parsed.hostname != redirect_parsed.hostname
--                    or original_parsed.port != redirect_parsed.port
--                    or original_parsed.scheme != redirect_parsed.scheme):
--                del headers['Authorization']
-+            del headers['Authorization']
- 
-         # .netrc might have more auth for us on our new host.
-         new_auth = get_netrc_auth(url) if self.trust_env else None
-diff --git a/tests/test_requests.py b/tests/test_requests.py
-index e0e801a..148067b 100644
---- a/tests/test_requests.py
-+++ b/tests/test_requests.py
-@@ -1567,17 +1567,7 @@ class TestRequests:
-             preq = req.prepare()
-             assert test_url == preq.url
- 
--    @pytest.mark.xfail(raises=ConnectionError)
--    def test_auth_is_stripped_on_redirect_off_host(self, httpbin):
--        r = requests.get(
--            httpbin('redirect-to'),
--            params={'url': 'http://www.google.co.uk'},
--            auth=('user', 'pass'),
--        )
--        assert r.history[0].request.headers['Authorization']
--        assert 'Authorization' not in r.request.headers
--
--    def test_auth_is_stripped_on_scheme_redirect(self, httpbin, httpbin_secure, httpbin_ca_bundle):
-+    def test_auth_is_stripped_on_http_downgrade(self, httpbin, httpbin_secure, httpbin_ca_bundle):
-         r = requests.get(
-             httpbin_secure('redirect-to'),
-             params={'url': httpbin('get')},
-@@ -1594,6 +1584,27 @@ class TestRequests:
- 
-         assert h1 == h2
- 
-+    def test_should_strip_auth_host_change(self):
-+        s = requests.Session()
-+        assert s.should_strip_auth('http://example.com/foo', 'http://another.example.com/')
-+
-+    def test_should_strip_auth_http_downgrade(self):
-+        s = requests.Session()
-+        assert s.should_strip_auth('https://example.com/foo', 'http://example.com/bar')
-+
-+    def test_should_strip_auth_https_upgrade(self):
-+        s = requests.Session()
-+        assert not s.should_strip_auth('http://example.com/foo', 'https://example.com/bar')
-+        assert not s.should_strip_auth('http://example.com:80/foo', 'https://example.com/bar')
-+        assert not s.should_strip_auth('http://example.com/foo', 'https://example.com:443/bar')
-+        # Non-standard ports should trigger stripping
-+        assert s.should_strip_auth('http://example.com:8080/foo', 'https://example.com/bar')
-+        assert s.should_strip_auth('http://example.com/foo', 'https://example.com:8443/bar')
-+
-+    def test_should_strip_auth_port_change(self):
-+        s = requests.Session()
-+        assert s.should_strip_auth('http://example.com:1234/foo', 'https://example.com:4321/bar')
-+
-     def test_manual_redirect_with_partial_body_read(self, httpbin):
-         s = requests.Session()
-         r1 = s.get(httpbin('redirect/2'), allow_redirects=False, stream=True)
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.19.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.20.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.19.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.20.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus.inc
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus.inc
index dc587e7..0933b45 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus.inc
@@ -1,5 +1,5 @@
 SUMMARY = "Convenience functions for dbus services in Python 2.x"
-HOMEPAGE = "http://nphilipp.fedorapeople.org/python-slip/"
+HOMEPAGE = "https://github.com/nphilipp/python-slip"
 DESCRIPTION = "\
 The Simple Library for Python 2.x packages contain miscellaneous code for \
 convenience, extension and workaround purposes. \
@@ -17,10 +17,8 @@
 SRC_URI = "https://github.com/nphilipp/${SRCNAME}/releases/download/${SRCNAME}-${PV}/${SRCNAME}-${PV}.tar.bz2"
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
-inherit setuptools
-
-SRC_URI[md5sum] = "a6d8ee96245fc21785d4c1c062c85f2f"
-SRC_URI[sha256sum] = "bc897f1ab6f5b4989f85548799aaeb84fde67bbba18e40341bfe1d7885c2fd9a"
+SRC_URI[md5sum] = "28ae5f93853466c44ec96706ba2a1eb4"
+SRC_URI[sha256sum] = "c726c086f0dd93a0ac7a0176f383a12af91b6657b78a301e3f5b25d9f8d4d10b"
 
 do_compile_prepend() {
     sed -e 's/@VERSION@/${PV}/g' setup.py.in > setup.py
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.5.bb
new file mode 100644
index 0000000..330fa1b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.5.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-slip-dbus.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-tqdm.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-tqdm.inc
new file mode 100644
index 0000000..967a80c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-tqdm.inc
@@ -0,0 +1,13 @@
+SUMMARY = "Fast, Extensible Progress Meter"
+HOMEPAGE = "http://tqdm.github.io/"
+SECTION = "devel/python"
+
+LICENSE = "MIT & MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=054ef7105cba050017d1368262a1623c"
+
+inherit pypi
+
+SRC_URI[md5sum] = "807e8c13e16e3660ac88e05d711daeb0"
+SRC_URI[sha256sum] = "e22977e3ebe961f72362f6ddfb9197cc531c9737aaf5f607ef09740c849ecd05"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-tqdm_4.31.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-tqdm_4.31.1.bb
new file mode 100644
index 0000000..b381009
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-tqdm_4.31.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-tqdm.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
index 01616b1..456adf4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
@@ -35,7 +35,6 @@
 "
 
 PACKAGES =+ "\
-    ${PN}-src \
     ${PN}-bin \
 "
 
@@ -242,9 +241,10 @@
     ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_pydoctortemplates/ \
 "
 
-RDEPENDS_{PN}-src = "${PN}"
+RDEPENDS_${PN}-src = "${PN}"
 FILES_${PN}-src = " \
     ${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py \
     ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*.py \
     ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/*.py \
 "
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twitter.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-twitter.inc
new file mode 100644
index 0000000..f5657ee
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twitter.inc
@@ -0,0 +1,17 @@
+SUMMARY = "Twitter for Python"
+DESCRIPTION = "Python module to support twitter API"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=0307fffd8c4d9946c029daa1426d26e7"
+
+SRC_URI[md5sum] = "c6dc2f315ded761aafc96bea3351c7f6"
+SRC_URI[sha256sum] = "fe85a79f58a01dd335968523b91c5fce760e7fe78bf25a6e71c72204fe499d0b"
+
+PYPI_PACKAGE = "tweepy"
+
+RDEPENDS_${PN} += "\
+        ${PYTHON_PN}-pip \
+        ${PYTHON_PN}-pysocks \
+        ${PYTHON_PN}-requests \
+        ${PYTHON_PN}-six \
+        "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twitter_3.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-twitter_3.7.0.bb
new file mode 100644
index 0000000..6a28b08
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twitter_3.7.0.bb
@@ -0,0 +1,3 @@
+require python-twitter.inc
+inherit pypi setuptools
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-tzlocal.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-tzlocal.inc
new file mode 100644
index 0000000..42f93e6
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-tzlocal.inc
@@ -0,0 +1,8 @@
+SUMMARY = "Library to return tzinfo with the local timezone information"
+HOMEPAGE = "https://pypi.org/project/tzlocal/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=57e0bd61643d81d05683cdce65b11d10"
+
+SRC_URI[md5sum] = "4553be891efa0812c4adfb0c6e818eec"                            
+SRC_URI[sha256sum] = "4ebeb848845ac898da6519b9b31879cf13b6626f7184c496037b818e238f2c4e" 
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-tzlocal_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-tzlocal_1.5.1.bb
new file mode 100644
index 0000000..b7980dd
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-tzlocal_1.5.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-tzlocal.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
index cd6fa8d..e6cc4ac 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
@@ -9,14 +9,6 @@
 
 inherit pypi setuptools
 
-do_compile_append() {
-    ${PYTHON} setup.py -q bdist_egg --dist-dir ./
-}
-
-do_install_append() {
-    install -m 0644 ${S}/vcversioner*.egg ${D}/${PYTHON_SITEPACKAGES_DIR}/
-}
-
 RDEPENDS_${PN} += "\
     ${PYTHON_PN}-subprocess \
     "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc
index 34ca706..a2b8410 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings.inc
@@ -11,3 +11,5 @@
     ${PYTHON_PN}-codecs \
     ${PYTHON_PN}-json \
 "
+
+BBCLASSEXTEND = "native nativesdk"
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 d1ab05d..893e82e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-xlrd.inc
@@ -10,3 +10,5 @@
 SRC_URI[sha256sum] = "8a21885513e6d915fe33a8ee5fdfa675433b61405ba13e2a69e62ee36828d7e2"
 
 RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.7.0.bb
new file mode 100644
index 0000000..c65a6d7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_0.7.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Abseil Python Common Libraries"
+HOMEPAGE = "https://github.com/abseil/abseil-py"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "git://github.com/abseil/abseil-py.git"
+SRCREV ?= "e3ce504183c57fc4eca52fe84732c11cda99d131"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
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.7.1.bb
new file mode 100644
index 0000000..c2dc924
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astor_0.7.1.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Easy manipulation of Python source via the AST."
+HOMEPAGE = "https://github.com/berkerpeksag/astor"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=561205fdabc3ec52cae2d30815b8ade7"
+
+SRC_URI = "git://github.com/berkerpeksag/astor.git"
+SRCREV ?= "4ca3a26e52f08678854c2841cd0fdf223461e47d"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.4.0.bb
deleted file mode 100644
index 84f4761..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.4.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Security oriented static analyser for python code."
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRC_URI[md5sum] = "f74155cb9921be857693b32d2531e857"
-SRC_URI[sha256sum] = "cb977045497f83ec3a02616973ab845c829cdab8144ce2e757fe031104a9abd4"
-
-DEPENDS = "python3-pyyaml python3-six python3-stevedore python3-pbr-native"
-
-inherit setuptools3 pypi
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.5.1.bb
new file mode 100644
index 0000000..3002d5a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.5.1.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Security oriented static analyser for python code."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRC_URI[md5sum] = "81ba3979ded1b421fa8d69e6faa06dcb"
+SRC_URI[sha256sum] = "9413facfe9de1e1bd291d525c784e1beb1a55c9916b51dae12979af63a69ba4c"
+
+DEPENDS = "python3-pbr-native python3-git python3-pbr python3-pyyaml python3-six python3-stevedore"
+
+inherit setuptools3 pypi
+
+RDEPENDS_${PN} += "python3-modules python3-git python3-pbr python3-pyyaml python3-six python3-stevedore"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.0.bb
new file mode 100644
index 0000000..76b2f67
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_3.1.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-cachetools.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-click_7.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-click_7.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.4.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.4.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.4.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.4.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.2.2.bb
new file mode 100644
index 0000000..6e08a19
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.2.2.bb
@@ -0,0 +1,14 @@
+SUMMARY = "A generic AST to represent Python2 and Python3's Abstract Syntax Tree(AST)."
+HOMEPAGE = "https://github.com/serge-sans-paille/gast"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a3ad9b6802e713fc5e307e1230f1ea90"
+
+SRC_URI = "git://github.com/serge-sans-paille/gast.git"
+SRCREV ?= "ed82e2a507505c6b18eb665d3738b6c0602da5e7"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.4.0.bb
similarity index 97%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.2.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.4.0.bb
index 1f172e5..df688e4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_1.4.0.bb
@@ -1,3 +1,2 @@
 require python-gevent.inc
 inherit setuptools3
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.14.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.15.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.14.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.15.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.14.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.19.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.14.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.19.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-cross-compiling-support.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-cross-compiling-support.patch
new file mode 100644
index 0000000..ff50c85
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-cross-compiling-support.patch
@@ -0,0 +1,46 @@
+From 7e3b1745c1fef34683a0610381dd3308ad4d1ba9 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 29 Jan 2019 17:08:32 +0800
+Subject: [PATCH] cross compiling support
+
+Remove useless dirs
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ setup_build.py     | 4 ----
+ setup_configure.py | 2 +-
+ 2 files changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/setup_build.py b/setup_build.py
+index 85b321a..2c78e92 100644
+--- a/setup_build.py
++++ b/setup_build.py
+@@ -53,10 +53,6 @@ if sys.platform.startswith('win'):
+         ('_HDF5USEDLL_', None),
+         ('H5_BUILT_AS_DYNAMIC_LIB', None)
+     ])
+-else:
+-    FALLBACK_PATHS['include_dirs'].extend(['/opt/local/include', '/usr/local/include'])
+-    FALLBACK_PATHS['library_dirs'].extend(['/opt/local/lib', '/usr/local/lib'])
+-
+ 
+ class h5py_build_ext(build_ext):
+ 
+diff --git a/setup_configure.py b/setup_configure.py
+index a2de76a..197f2da 100644
+--- a/setup_configure.py
++++ b/setup_configure.py
+@@ -208,7 +208,7 @@ def autodetect_version(hdf5_dir=None):
+     else:
+         regexp = re.compile(r'^libhdf5.so')
+ 
+-    libdirs = ['/usr/local/lib', '/opt/local/lib']
++    libdirs = []
+     try:
+         if pkgconfig.exists("hdf5"):
+             libdirs.extend(pkgconfig.parse("hdf5")['library_dirs'])
+-- 
+2.7.4
+
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
new file mode 100644
index 0000000..bca7757
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_2.9.0.bb
@@ -0,0 +1,30 @@
+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"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=107;endline=107;md5=795ecad0d261c998cc526c84a822dff6"
+
+SRC_URI = "git://github.com/h5py/h5py.git \
+           file://0001-cross-compiling-support.patch \
+          "
+SRCREV ?= "8d96a14c3508de1bde77aec5db302e478dc5dbc4"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
+DEPENDS = "python3-pkgconfig-native \
+           python3-cython-native \
+           python3-numpy-native \
+           python3-six-native \
+           python3 \
+           hdf5 \
+          "
+
+RDEPENDS_${PN} = "python3-numpy \
+                  python3-six \
+                 "
+
+export HDF5_VERSION="1.8.19"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.8.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.8.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-isodate_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-isodate_0.6.0.bb
new file mode 100644
index 0000000..0e79ae9
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-isodate_0.6.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-isodate.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kconfiglib_10.42.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kconfiglib_10.42.0.bb
new file mode 100644
index 0000000..10b039a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-kconfiglib_10.42.0.bb
@@ -0,0 +1,2 @@
+require python-kconfiglib-${PV}.inc
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-applications_1.0.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-applications_1.0.6.bb
new file mode 100644
index 0000000..d38b992
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-applications_1.0.6.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Reference implementations of popular deep learning models"
+HOMEPAGE = "https://github.com/keras-team/keras-applications"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=366e2fd3c9714f162d3663b6f97cfe41"
+
+SRC_URI = "git://github.com/keras-team/keras-applications.git"
+SRCREV ?= "61de21815728aa66377ebb2a7b4c2f5492a34dd2"
+
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
+RDEPENDS_${PN} = "python3-numpy \
+                  python3-h5py \
+                 "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-preprocessing_1.0.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-preprocessing_1.0.5.bb
new file mode 100644
index 0000000..58b8c62
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-keras-preprocessing_1.0.5.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Easy data preprocessing and data augmentation for deep learning models"
+HOMEPAGE = "https://github.com/keras-team/keras-preprocessing"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1744b320500cc2e3112964d00cce7aa4"
+
+SRC_URI = "git://github.com/keras-team/keras-preprocessing.git"
+SRCREV ?= "362fe9f8daf556151328eb5d02bd5ae638c653b8"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.1.bb
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
new file mode 100644
index 0000000..b6d2f18
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.0.1.bb
@@ -0,0 +1,12 @@
+SUMMARY = "A Python implementation of John Gruber's Markdown."
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=745aaad0c69c60039e638bff9ffc59ed"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "Markdown"
+PYPI_SRC_URI = "https://files.pythonhosted.org/packages/3c/52/7bae9e99a7a4be6af4a713fe9b692777e6468d28991c54c273dfb6ec9fb2/Markdown-${PV}.tar.gz"
+SRC_URI[md5sum] = "72219f46ca440b657bf227500731bdf1"
+SRC_URI[sha256sum] = "d02e0f9b04c500cde6637c11ad7c72671f359b87b9fe924b2383649d8841db7c"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.5.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.5.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.0.bb
new file mode 100644
index 0000000..578e38d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-obd_0.7.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-obd.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.4.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.3.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.4.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch
new file mode 100644
index 0000000..de89ba0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch
@@ -0,0 +1,39 @@
+From 52879439f2976662140b76951f43f16e1d5ef08e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 18 Mar 2019 23:23:55 -0400
+Subject: [PATCH] explicitly set compile options
+
+OE does not support to install egg package, so
+explicitly set build_ext options for oe-core's
+`setup.py install'
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ setup.cfg | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/setup.cfg b/setup.cfg
+index 95900ff..27da313 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -9,3 +9,15 @@ addopts = -vx Tests
+ 
+ [flake8]
+ max-line-length = 88
++
++[build_ext]
++disable-platform-guessing = 1
++enable-zlib = 1
++enable-jpeg = 1
++enable-tiff = 1
++enable-freetype = 1
++enable-lcms = 1
++enable-jpeg2000 = 1
++disable-webp = 1
++disable-webpmux = 1
++disable-imagequant = 1
+-- 
+2.8.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch
new file mode 100644
index 0000000..e862934
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch
@@ -0,0 +1,61 @@
+From a78411402c824668283beb94db4bf7e206a4cf60 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 14 Mar 2019 03:48:10 -0400
+Subject: [PATCH] support cross compiling
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ setup.py | 13 +++----------
+ 1 file changed, 3 insertions(+), 10 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 79f912b..37e5827 100755
+--- a/setup.py
++++ b/setup.py
+@@ -50,7 +50,7 @@ _LIB_IMAGING = (
+     "ZipEncode", "TiffDecode", "Jpeg2KDecode", "Jpeg2KEncode", "BoxBlur",
+     "QuantPngQuant", "codec_fd")
+ 
+-DEBUG = False
++DEBUG = True
+ 
+ 
+ class DependencyException(Exception):
+@@ -345,21 +345,16 @@ class pil_build_ext(build_ext):
+                     _add_directory(library_dirs, match.group(1))
+ 
+         # include, rpath, if set as environment variables:
+-        for k in ('C_INCLUDE_PATH', 'CPATH', 'INCLUDE'):
++        for k in ('C_INCLUDE_PATH', 'CPATH', 'INCLUDE', 'STAGING_INCDIR'):
+             if k in os.environ:
+                 for d in os.environ[k].split(os.path.pathsep):
+                     _add_directory(include_dirs, d)
+ 
+-        for k in ('LD_RUN_PATH', 'LIBRARY_PATH', 'LIB'):
++        for k in ('LD_RUN_PATH', 'LIBRARY_PATH', 'LIB', 'STAGING_LIBDIR'):
+             if k in os.environ:
+                 for d in os.environ[k].split(os.path.pathsep):
+                     _add_directory(library_dirs, d)
+ 
+-        prefix = sysconfig.get_config_var("prefix")
+-        if prefix:
+-            _add_directory(library_dirs, os.path.join(prefix, "lib"))
+-            _add_directory(include_dirs, os.path.join(prefix, "include"))
+-
+         #
+         # add platform directories
+ 
+@@ -413,8 +408,6 @@ class pil_build_ext(build_ext):
+         elif sys.platform.startswith("linux") or \
+                 sys.platform.startswith("gnu") or \
+                 sys.platform.startswith("freebsd"):
+-            for dirname in _find_library_dirs_ldconfig():
+-                _add_directory(library_dirs, dirname)
+             if sys.platform.startswith("linux") and \
+                     os.environ.get('ANDROID_ROOT', None):
+                 # termux support for android.
+-- 
+2.8.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_5.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_5.4.1.bb
new file mode 100644
index 0000000..746c184
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_5.4.1.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Python Imaging Library (Fork). Pillow is the friendly PIL fork by Alex \
+Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and \
+Contributors."
+HOMEPAGE = "https://pillow.readthedocs.io"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c6379001ecb47e2a0420c40177fc1125"
+
+SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=5.4.x \
+           file://0001-support-cross-compiling.patch \
+           file://0001-explicitly-set-compile-options.patch \
+"
+SRCREV ?= "f38f01bbe3a0a9f49ce592c86ff20c01c9655133"
+
+
+inherit setuptools3
+
+DEPENDS += " \
+    zlib \
+    jpeg \
+    tiff \
+    freetype \
+    lcms \
+    openjpeg \
+"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pkgconfig_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pkgconfig_1.4.0.bb
new file mode 100644
index 0000000..92eb8bf
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pkgconfig_1.4.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Python module to interface with the pkg-config command line too"
+HOMEPAGE = "http://github.com/matze/pkgconfig"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=faa7f82be8f220bff6156be4790344fc"
+
+SRC_URI = "git://github.com/matze/pkgconfig.git"
+SRCREV ?= "8af0102346847e8873af8e76ab3f34ba9da806e2"
+
+RDEPENDS_${PN} = "pkgconfig \
+                 "
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch
new file mode 100644
index 0000000..da5e73b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-Add-Python-3.7-compatibility-4862.patch
@@ -0,0 +1,98 @@
+From 539bc017a62f91bdf7c547b58948cb5a2f59d918 Mon Sep 17 00:00:00 2001
+From: Ben Webb <ben@salilab.org>
+Date: Thu, 12 Jul 2018 10:58:10 -0700
+Subject: [PATCH] Add Python 3.7 compatibility (#4862)
+
+Compilation of Python wrappers fails with Python 3.7 because
+the Python folks changed their C API such that
+PyUnicode_AsUTF8AndSize() now returns a const char* rather
+than a char*. Add a patch to work around. Relates #4086.
+
+Upstream-Status: Backport [https://github.com/protocolbuffers/protobuf.git]
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+---
+ google/protobuf/pyext/descriptor.cc            | 2 +-
+ google/protobuf/pyext/descriptor_containers.cc | 2 +-
+ google/protobuf/pyext/descriptor_pool.cc       | 2 +-
+ google/protobuf/pyext/extension_dict.cc        | 2 +-
+ google/protobuf/pyext/message.cc               | 4 ++--
+ 5 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/google/protobuf/pyext/descriptor.cc b/google/protobuf/pyext/descriptor.cc
+index 8af0cb1..19a1c38 100644
+--- a/google/protobuf/pyext/descriptor.cc
++++ b/google/protobuf/pyext/descriptor.cc
+@@ -56,7 +56,7 @@
+   #endif
+   #define PyString_AsStringAndSize(ob, charpp, sizep) \
+     (PyUnicode_Check(ob)? \
+-       ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
++       ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
+        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
+ #endif
+ 
+diff --git a/google/protobuf/pyext/descriptor_containers.cc b/google/protobuf/pyext/descriptor_containers.cc
+index bc007f7..0153664 100644
+--- a/google/protobuf/pyext/descriptor_containers.cc
++++ b/google/protobuf/pyext/descriptor_containers.cc
+@@ -66,7 +66,7 @@
+   #endif
+   #define PyString_AsStringAndSize(ob, charpp, sizep) \
+     (PyUnicode_Check(ob)? \
+-       ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
++       ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
+        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
+ #endif
+ 
+diff --git a/google/protobuf/pyext/descriptor_pool.cc b/google/protobuf/pyext/descriptor_pool.cc
+index 95882ae..962accc 100644
+--- a/google/protobuf/pyext/descriptor_pool.cc
++++ b/google/protobuf/pyext/descriptor_pool.cc
+@@ -48,7 +48,7 @@
+   #endif
+   #define PyString_AsStringAndSize(ob, charpp, sizep) \
+     (PyUnicode_Check(ob)? \
+-       ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
++       ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
+        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
+ #endif
+ 
+diff --git a/google/protobuf/pyext/extension_dict.cc b/google/protobuf/pyext/extension_dict.cc
+index 018b5c2..174c547 100644
+--- a/google/protobuf/pyext/extension_dict.cc
++++ b/google/protobuf/pyext/extension_dict.cc
+@@ -53,7 +53,7 @@
+   #endif
+   #define PyString_AsStringAndSize(ob, charpp, sizep) \
+     (PyUnicode_Check(ob)? \
+-       ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
++       ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
+        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
+ #endif
+ 
+diff --git a/google/protobuf/pyext/message.cc b/google/protobuf/pyext/message.cc
+index 5893533..31094b7 100644
+--- a/google/protobuf/pyext/message.cc
++++ b/google/protobuf/pyext/message.cc
+@@ -79,7 +79,7 @@
+     (PyUnicode_Check(ob)? PyUnicode_AsUTF8(ob): PyBytes_AsString(ob))
+   #define PyString_AsStringAndSize(ob, charpp, sizep) \
+     (PyUnicode_Check(ob)? \
+-       ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
++       ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
+        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
+   #endif
+ #endif
+@@ -1529,7 +1529,7 @@ PyObject* HasField(CMessage* self, PyObject* arg) {
+     return NULL;
+   }
+ #else
+-  field_name = PyUnicode_AsUTF8AndSize(arg, &size);
++  field_name = const_cast<char*>(PyUnicode_AsUTF8AndSize(arg, &size));
+   if (!field_name) {
+     return NULL;
+   }
+-- 
+2.7.4
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb
index 781d1dc..9b0668a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb
@@ -1,2 +1,11 @@
 inherit setuptools3
 require python-protobuf.inc
+
+SRC_URI += "file://0001-Add-Python-3.7-compatibility-4862.patch"
+DEPENDS += "protobuf"
+DISTUTILS_BUILD_ARGS += "--cpp_implementation"
+DISTUTILS_INSTALL_ARGS += "--cpp_implementation"
+
+do_compile_prepend_class-native () {
+    export KOKORO_BUILD_NUMBER="1"
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.18.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.19.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.18.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.19.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylyrics_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylyrics_1.1.0.bb
new file mode 100644
index 0000000..207751c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylyrics_1.1.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Pythonic Implementation of lyrics.wikia.com"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=14;endline=14;md5=95d480cd6f8471abaeae21bd0ed277ba"
+
+SRC_URI[md5sum] = "1f3c997edeba149a8fb2b861cbad89c3"
+SRC_URI[sha256sum] = "c5f36e8ef0ed3b487a9242ce34c19f9684e418a5bbffd5d367dc1d1604b4cd0b"
+
+PYPI_PACKAGE = "PyLyrics"
+PYPI_PACKAGE_EXT = "zip"
+
+inherit pypi setuptools3
\ No newline at end of file
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_4.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_4.2.2.bb
new file mode 100644
index 0000000..6511df3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_4.2.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-rdflib.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-oauthlib_0.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-oauthlib_0.8.0.bb
new file mode 100644
index 0000000..1294661
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-oauthlib_0.8.0.bb
@@ -0,0 +1,3 @@
+require python-requests-oauthlib.inc
+inherit pypi setuptools3
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.19.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.20.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.19.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.20.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-slip-dbus_0.6.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-slip-dbus_0.6.5.bb
new file mode 100644
index 0000000..2402a7a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-slip-dbus_0.6.5.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-slip-dbus.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
index 580d993..78ec431 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
@@ -1,2 +1,3 @@
 require python-systemd.inc
+RDEPENDS_${PN} += "python3-syslog"
 inherit setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_1.1.0.bb
new file mode 100644
index 0000000..17df7f9
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_1.1.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "ANSII Color formatting for output in terminal"
+HOMEPAGE = "https://pypi.python.org/pypi/termcolor"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=809e8749b63567978acfbd81d9f6a27d"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "043e89644f8909d462fbbfa511c768df"
+SRC_URI[sha256sum] = "1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.31.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.31.1.bb
new file mode 100644
index 0000000..348337f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.31.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-tqdm.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb
index 6bd8c52..dfb9d4a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb
@@ -1,8 +1,6 @@
 inherit pypi setuptools3
 require python-twisted.inc
 
-PACKAGES_remove = "${PN}-src"
-
 FILES_${PN}-core_append += " \
   ${libdir}/${PYTHON_DIR}/site-packages/twisted/__pycache__ \
   ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__pycache__/*pyc \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.7.0.bb
new file mode 100644
index 0000000..c2e4d2e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_3.7.0.bb
@@ -0,0 +1,3 @@
+require python-twitter.inc
+inherit pypi setuptools3
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_1.5.1.bb
new file mode 100644
index 0000000..813934c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_1.5.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-tzlocal.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb
index f6372c8..149078c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb
@@ -9,12 +9,4 @@
 
 inherit pypi setuptools3
 
-do_compile_append() {
-    ${PYTHON} setup.py -q bdist_egg --dist-dir ./
-}
-
-do_install_append() {
-    install -m 0644 ${S}/vcversioner*.egg ${D}/${PYTHON_SITEPACKAGES_DIR}/
-}
-
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.32.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.32.3.bb
new file mode 100644
index 0000000..e8c08a7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.32.3.bb
@@ -0,0 +1,16 @@
+SUMMARY = "The official binary distribution format for Python "
+HOMEPAGE = "https://github.com/pypa/wheel"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9d66b41bc2a080e7174acc5dffecd752"
+
+SRC_URI = "git://github.com/pypa/wheel.git"
+SRCREV ?= "11584b78a56b4eedba4eedc55c9dac8aa2dd7070"
+
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+