reset upstream subtrees to yocto 2.6

Reset the following subtrees on thud HEAD:

  poky: 87e3a9739d
  meta-openembedded: 6094ae18c8
  meta-security: 31dc4e7532
  meta-raspberrypi: a48743dc36
  meta-xilinx: c42016e2e6

Also re-apply backports that didn't make it into thud:
  poky:
    17726d0 systemd-systemctl-native: handle Install wildcards

  meta-openembedded:
    4321a5d libtinyxml2: update to 7.0.1
    042f0a3 libcereal: Add native and nativesdk classes
    e23284f libcereal: Allow empty package
    030e8d4 rsyslog: curl-less build with fmhttp PACKAGECONFIG
    179a1b9 gtest: update to 1.8.1

Squashed OpenBMC subtree compatibility updates:
  meta-aspeed:
    Brad Bishop (1):
          aspeed: add yocto 2.6 compatibility

  meta-ibm:
    Brad Bishop (1):
          ibm: prepare for yocto 2.6

  meta-ingrasys:
    Brad Bishop (1):
          ingrasys: set layer compatibility to yocto 2.6

  meta-openpower:
    Brad Bishop (1):
          openpower: set layer compatibility to yocto 2.6

  meta-phosphor:
    Brad Bishop (3):
          phosphor: set layer compatibility to thud
          phosphor: libgpg-error: drop patches
          phosphor: react to fitimage artifact rename

    Ed Tanous (4):
          Dropbear: upgrade options for latest upgrade
          yocto2.6: update openssl options
          busybox: remove upstream watchdog patch
          systemd: Rebase CONFIG_CGROUP_BPF patch

Change-Id: I7b1fe71cca880d0372a82d94b5fd785323e3a9e7
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meta-openembedded/meta-python/README b/meta-openembedded/meta-python/README
index 0566e49..9c10c78 100644
--- a/meta-openembedded/meta-python/README
+++ b/meta-openembedded/meta-python/README
@@ -5,10 +5,6 @@
 -------------------------
 
 This layer is intended to be the home of python modules for OpenEmbedded.
-Modules in this layer need to be independent of openembedded-core and
-meta-openembedded/meta-oe. Because of this, modules required by 'gateone'
-and 'anki' are not included and remain in:
-        meta-openembedded/meta-oe/recipes-devtools/python.
 
 Dependencies
 -------------------------
@@ -17,12 +13,12 @@
 
 	URI: git://git.openembedded.org/openembedded-core
 	layers: meta
-	branch: master
+	branch: thud
 	revision: HEAD
 
 	URI: git://git.openembedded.org/meta-openembedded
 	layers: meta-oe
-	branch: master
+	branch: thud
 	revision: HEAD
 
 Please follow the recommended setup procedures of your OE distribution.
@@ -39,15 +35,13 @@
 before posting.
 
 Send pull requests to openembedded-devel@lists.openembedded.org with
-'[meta-python]' in the subject.
+'[meta-python][thud]' in the subject.
 
 When sending single patches, please use something like: 
-'git send-email -M -1 --to=openembedded-devel@lists.openembedded.org --subject-prefix=meta-python][PATCH'
+'git send-email -M -1 --to=openembedded-devel@lists.openembedded.org --subject-prefix=meta-python][thud][PATCH'
 
 Maintenance
 -------------------------
 
-Layer Maintainers:
-        Tim "moto-timo" Orling <TicoTimo@gmail.com>
-        Derek Straka <derek@asterius.io>
+Thud Maintainers: Armin Kuster <akuster808@gmail.com>
 
diff --git a/meta-openembedded/meta-python/conf/layer.conf b/meta-openembedded/meta-python/conf/layer.conf
index 7089071..321d51b 100644
--- a/meta-openembedded/meta-python/conf/layer.conf
+++ b/meta-openembedded/meta-python/conf/layer.conf
@@ -14,6 +14,6 @@
 
 LAYERDEPENDS_meta-python = "core openembedded-layer"
 
-LAYERSERIES_COMPAT_meta-python = "sumo"
+LAYERSERIES_COMPAT_meta-python = "thud"
 
 LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb b/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb
index 4577873..5d2ca00 100644
--- a/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb
+++ b/meta-openembedded/meta-python/recipes-connectivity/gateone/gateone_git.bb
@@ -16,9 +16,7 @@
 
 inherit setuptools python-dir systemd update-rc.d
 
-DISTUTILS_INSTALL_ARGS = "--root=${D} \
-    --prefix=${prefix} \
-    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
+DISTUTILS_INSTALL_ARGS += " \
     --install-data=${PYTHON_SITEPACKAGES_DIR} \
     --install-scripts=${bindir} \
     --skip_init_scripts"
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman.inc b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman.inc
new file mode 100644
index 0000000..beb2baf
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman.inc
@@ -0,0 +1,12 @@
+DESCRIPTION = "Python-based Network Connectivity Management"
+HOMEPAGE = "https://pypi.python.org/pypi/pyconnman/"
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[md5sum] = "b7fa82034b1c0e1fb1b518ffe3bb4fc0"
+SRC_URI[sha256sum] = "46c64c0692063fd0c9fb0216d49f7884bec9fa9760d8473db4b1e2f8162fab4a"
+
+inherit pypi
+
+RDEPENDS_${PN} = "connman"
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb
index 77b5e4d..3c12db9 100644
--- a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python-pyconnman_0.1.0.bb
@@ -1,12 +1,5 @@
-DESCRIPTION = "Python-based Network Connectivity Management"
-HOMEPAGE = "https://pypi.python.org/pypi/pyconnman/"
-LICENSE = "Apache-2.0"
+require python-pyconnman.inc
 
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+inherit setuptools
 
-SRC_URI[md5sum] = "b7fa82034b1c0e1fb1b518ffe3bb4fc0"
-SRC_URI[sha256sum] = "46c64c0692063fd0c9fb0216d49f7884bec9fa9760d8473db4b1e2f8162fab4a"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "connman python-dbus python-pprint"
+RDEPENDS_${PN} += "python-dbus python-pprint"
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.1.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.1.0.bb
new file mode 100644
index 0000000..e0f3fdd
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.1.0.bb
@@ -0,0 +1,5 @@
+require python-pyconnman.inc
+
+inherit setuptools3
+
+RDEPENDS_${PN} += "python3-dbus python3-pprint"
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.63.bb b/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.63.bb
deleted file mode 100644
index 6f683e3..0000000
--- a/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.63.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Python Remote Objects"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=378acef375e17a3bff03bd0f78c53220"
-
-SRC_URI[md5sum] = "e1d772b67bf7c6f75fa3174bc95c8839"
-SRC_URI[sha256sum] = "67d2b34156619ba37e92100af95aade8129dd2b7327eb05821d43887451f7d7b"
-
-PYPI_PACKAGE = "Pyro4"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += " \
-    ${PYTHON_PN}-logging \
-    ${PYTHON_PN}-selectors34 \
-    ${PYTHON_PN}-serpent \
-    ${PYTHON_PN}-threading \
-    ${PYTHON_PN}-zlib \
-    "
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.73.bb b/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.73.bb
new file mode 100644
index 0000000..88f5b18
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-pyro4/python-pyro4_4.73.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Python Remote Objects"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cd13dafd4eeb0802bb6efea6b4a4bdbc"
+
+SRC_URI[md5sum] = "0375c061b93411feb86da01e801df888"
+SRC_URI[sha256sum] = "536b07a097d0619e7ab1effa3747fda177a24168d17a07a93ca9ac30977608f7"
+
+PYPI_PACKAGE = "Pyro4"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-selectors34 \
+    ${PYTHON_PN}-serpent \
+    ${PYTHON_PN}-threading \
+    ${PYTHON_PN}-zlib \
+    "
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb
index 8047ec7..10cff42 100644
--- a/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python-thrift_0.11.0.bb
@@ -7,6 +7,9 @@
 
 inherit pypi setuptools
 
+# Use different filename to prevent conflicts with thrift itself
+PYPI_SRC_URI_append = ";downloadfilename=${BP}.${PYPI_PACKAGE_EXT}"
+
 RDEPENDS_${PN} += "\
     ${PYTHON_PN}-logging \
     ${PYTHON_PN}-six \
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-txws/python-txws_0.9.1.bb b/meta-openembedded/meta-python/recipes-connectivity/python-txws/python-txws_0.9.1.bb
index 0b2ac11..f3631cd 100644
--- a/meta-openembedded/meta-python/recipes-connectivity/python-txws/python-txws_0.9.1.bb
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-txws/python-txws_0.9.1.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=76699830db7fa9e897f6a1ad05f98ec8"
 
-DEPENDS = "python-twisted python-six python-vcversioner"
+DEPENDS = "python-twisted python-six python-vcversioner python-six-native python-vcversioner-native"
 
 SRC_URI = "git://github.com/MostAwesomeDude/txWS.git"
 SRCREV= "88cf6d9b9b685ffa1720644bd53c742afb10a414"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/pamela_0.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/pamela_0.3.0.bb
new file mode 100644
index 0000000..8071fcb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/pamela_0.3.0.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Pamela: yet another Python wrapper for PAM"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=bfb663f37eb99232bc8ccfa4ea8f1202"
+
+SRC_URI[md5sum] = "de6516118d51eb5fc97017f3b6d5c68b"
+SRC_URI[sha256sum] = "1e198446a6cdd87704aa0def7621d62e7c20b0e6068e2788b9a866a8355e5d6b"
+
+PYPI_PACKAGE = "pamela"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} = "libpam"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc
index f1a6412..477e89c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc
@@ -2,8 +2,8 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c5f1361296835ff94bda73db7dd312a6"
 
-SRC_URI[md5sum] = "5cfef58641c9a94d4a5d547e951a7dda"
-SRC_URI[sha256sum] = "13b8611788acf0d7b617775db5c2ae26554a6d4263c590ef628d448fd05aef56"
+SRC_URI[md5sum] = "762ab9ba56d1c0b1bfbc7c9f7f849c92"
+SRC_URI[sha256sum] = "52d73b1d750f1414fa90c25a08da47b87de1e4ad883935718a8f36396e19e78e"
 
 PYPI_PACKAGE = "alembic"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_0.9.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.0.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-alembic_0.9.8.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.0.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
index 5c37995..f1f0a3c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
@@ -1,7 +1,7 @@
-DESCRIPTION = "Python binding to the Networking and Cryptography (NaCl) library"
-HOMEPAGE = "https://github.com/pyca/pynacl"
+DESCRIPTION = "A fast, pure Python library for parsing and serializing ASN.1 structures"
+HOMEPAGE = "https://github.com/wbond/asn1crypto"
 SECTION = "devel/python"
-LICENSE = "Apache-2.0"
+LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=52010cd3c7d7bd965b55721ef4d93ec2"
 
 PYPI_PACKAGE = "asn1crypto"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc
index ead2b6e..fae0f13 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-astroid.inc
@@ -4,8 +4,8 @@
 LICENSE = "LGPL-2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
-SRC_URI[md5sum] = "7d7dc000b25f0cbfcca20cb9a8dc0310"
-SRC_URI[sha256sum] = "35cfae47aac19c7b407b7095410e895e836f2285ccf1220336afba744cc4c5f2"
+SRC_URI[md5sum] = "2dd01ef0d5b5f0fc754c1ba40137b61c"
+SRC_URI[sha256sum] = "fc9b582dba0366e63540982c3944a9230cbc6f303641c51483fa547dcc22393a"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.6.5.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.6.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.6.5.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
index c29f058..fa73ea5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
@@ -3,8 +3,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff"
 
-SRC_URI[md5sum] = "d7a89063b2e0fd36bd82389c4d82821d"
-SRC_URI[sha256sum] = "1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9"
+SRC_URI[sha256sum] = "e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b"
+SRC_URI[md5sum] = "3f3f3e0750dab74cfa1dc8b0fd7a5f86"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-attrs_17.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-attrs_18.1.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-attrs_17.4.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-attrs_18.1.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-automat.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-automat.inc
index 43b9ce9..f6cbb35 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-automat.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-automat.inc
@@ -5,8 +5,8 @@
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/python-automat:"
 
-SRC_URI[md5sum] = "ad7bba58d262d8956d732330cb5ef53d"
-SRC_URI[sha256sum] = "3c1fd04ecf08ac87b4dd3feae409542e9bf7827257097b2b6ed5692f69d6f6a8"
+SRC_URI[md5sum] = "b72d5b7a83c2b1bd6e9ec3614a69f9ea"
+SRC_URI[sha256sum] = "cbd78b83fa2d81fe2a4d23d258e1661dd7493c9a50ee2f1a5b2cac61c1793b0e"
 
 PYPI_PACKAGE = "Automat"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch
index d6def98..c29b659 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch
@@ -1,4 +1,4 @@
-From d5ebe479fc8fe11c5c75e7f35484849320349222 Mon Sep 17 00:00:00 2001
+From 33b70266930c9093712173c4e0c419815b55e313 Mon Sep 17 00:00:00 2001
 From: Derek Straka <derek@asterius.io>
 Date: Fri, 22 Dec 2017 09:07:00 -0500
 Subject: [PATCH] setup.py: remove the dependency on m2r
@@ -11,14 +11,15 @@
 Upstream-Status: Inappropriate (OE specific)
 
 Signed-off-by: Derek Straka <derek@asterius.io>
+
 ---
  setup.py | 10 ----------
  1 file changed, 10 deletions(-)
 
-Index: Automat-0.6.0/setup.py
-===================================================================
---- Automat-0.6.0.orig/setup.py
-+++ Automat-0.6.0/setup.py
+diff --git a/setup.py b/setup.py
+index d360c64..7b4180a 100644
+--- a/setup.py
++++ b/setup.py
 @@ -4,14 +4,6 @@ Setup file for automat
  
  from setuptools import setup, find_packages
@@ -46,4 +47,4 @@
 -        'm2r',
      ],
      install_requires=[
-         "attrs",
+         "attrs>=16.1.0",
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-automat_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-automat_0.7.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-automat_0.6.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-automat_0.7.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc
index a3299e4..7423fa7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python.inc
@@ -7,8 +7,8 @@
     file://AWSIoTPythonSDK/core/protocol/paho/client.py;endline=14;md5=5a3c8a1a4bb71bd934f450ecff972ad9 \
 "
 
-SRC_URI[md5sum] = "97e8cf0d40ef3765d979c19b534a716d"
-SRC_URI[sha256sum] = "d68cbff396143e837b4c23b6621d3b7ae374281afc75eed8e51a28625d9125ba"
+SRC_URI[md5sum] = "50a5c46410c2b44b5c09f1ea5eb15a3b"
+SRC_URI[sha256sum] = "b3c8af3ce24eab861447a194f3c382509dd70e90452c86a5426f1e7272460177"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.4.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.3.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-aws-iot-device-sdk-python_1.4.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
index 4dcb255..14b5a9f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
@@ -1,10 +1,10 @@
 DESCRIPTION = "A collection of tools for internationalizing Python applications"
 HOMEPAGE = "http://babel.edgewall.org/"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e6eeaabc92cfc2d03f53e789324d7292"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=eebdc057dc12abcc2d6c4453628bfcd4"
 
-SRC_URI[md5sum] = "152a6b17fe4110b95675aceb9af9fab2"
-SRC_URI[sha256sum] = "8ce4cb6fdd4393edd323227cba3a077bceb2a6ce5201c902c65e730046f41f14"
+SRC_URI[md5sum] = "c384ac03026e8fe6f9b90f55201f1bff"
+SRC_URI[sha256sum] = "8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23"
 
 PYPI_PACKAGE = "Babel"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.6.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.5.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.6.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb
similarity index 66%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb
index 961436f..825444f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.5.bb
@@ -2,12 +2,12 @@
 HOMEPAGE = "https://github.com/jaraco/backports.functools_lru_cache"
 SECTION = "devel/python"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://setup.py;beginline=47;endline=47;md5=98fc3658e5970d26f6b2109808c766be"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=57;endline=57;md5=98fc3658e5970d26f6b2109808c766be"
 
 PYPI_PACKAGE = "backports.functools_lru_cache"
 
-SRC_URI[md5sum] = "b954e7d5e2ca0f0f66ad2ed12ba800e5"
-SRC_URI[sha256sum] = "31f235852f88edc1558d428d890663c49eb4514ffec9f3650e7f3c9e4a12e36f"
+SRC_URI[md5sum] = "20f53f54cd3f04b3346ce75a54959754"
+SRC_URI[sha256sum] = "9d98697f088eb1b0fa451391f91afb5e3ebde16bbdb272819fd091151fda4f1a"
 
 DEPENDS += "python-setuptools-scm-native"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-behave.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-behave.inc
new file mode 100644
index 0000000..ded7580
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-behave.inc
@@ -0,0 +1,15 @@
+SUMMARY = "A behavior-driven development framework, Python style"
+HOMEPAGE = "https://github.com/behave/behave"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d950439e8ea6ed233e4288f5e1a49c06"
+
+SRC_URI[md5sum] = "3f05c859a1c45f5ed33e925817ad887d"
+SRC_URI[sha256sum] = "b9662327aa53294c1351b0a9c369093ccec1d21026f050c3bd9b3e5cccf81a86"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-parse-type \
+    ${PYTHON_PN}-setuptools \
+    ${PYTHON_PN}-six \
+    "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-behave_1.2.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-behave_1.2.6.bb
index 6797302..6622168 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-behave_1.2.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-behave_1.2.6.bb
@@ -1,10 +1,8 @@
-SUMMARY = "A behavior-driven development framework, Python style"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d950439e8ea6ed233e4288f5e1a49c06"
+inherit setuptools
+require python-behave.inc
 
-SRC_URI[md5sum] = "3f05c859a1c45f5ed33e925817ad887d"
-SRC_URI[sha256sum] = "b9662327aa53294c1351b0a9c369093ccec1d21026f050c3bd9b3e5cccf81a86"
-
-RDEPENDS_${PN} += "python-difflib python-setuptools python-pkgutil python-misc python-argparse python-xml python-enum34 python-parse python-parse-type python-six"
-
-inherit pypi setuptools
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-argparse \
+    ${PYTHON_PN}-enum34 \
+    ${PYTHON_PN}-traceback2 \
+    "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc
index 38a22f6..480f048 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray.inc
@@ -1,10 +1,10 @@
 SUMMARY = "A high-level Python efficient arrays of booleans -- C extension"
 HOMEPAGE = "https://github.com/ilanschnell/bitarray"
 LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3ba469353f9f2a244b2075902351e37d"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=f4ce1ae80a385140f0ddb2bcef410b06"
 
-SRC_URI[md5sum] = "3825184f54f4d93508a28031b4c65d3b"
-SRC_URI[sha256sum] = "7da501356e48a83c61f479393681c1bc4b94e5a34ace7e08cb29e7dd9290ab18"
+SRC_URI[md5sum] = "f3131ac2a277f3b70dbb6132ca8f8889"
+SRC_URI[sha256sum] = "050cd30b810ddb3aa941e7ddfbe0d8065e793012d0a88cb5739ec23624b9895e"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_0.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_0.8.3.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_0.8.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-bitarray_0.8.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc
index a71c47b..46f0859 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc
@@ -3,8 +3,8 @@
 LICENSE = "LGPLv3"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=38138baa100d7259934590850bc0406e"
 
-SRC_URI[md5sum] = "3310f0aa2a8492d0ff614ecf636ec8a8"
-SRC_URI[sha256sum] = "4a5c01dd67feeda35f88e6c12ea14ac8cabd426b9be0cc5f9fd083fe90a9dbfc"
+SRC_URI[md5sum] = "dcdd3f6b924e3f20acb1ccf4598236cf"
+SRC_URI[sha256sum] = "b5e93b2ee32bdd597d9d908afe5171c402a04c9678ba47b60f33506738b1375b"
 
 PYPI_PACKAGE="python-can"
 
@@ -14,4 +14,5 @@
     ${PYTHON_PN}-misc \
     ${PYTHON_PN}-netserver \
     ${PYTHON_PN}-sqlite3 \
+    ${PYTHON_PN}-wrapt \
 "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-can_2.2.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-can_2.1.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-can_2.2.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc
index 1648d3e..1cc1f4c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc
@@ -8,8 +8,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
 SRCNAME = "cassandra-driver"
 
-SRC_URI[md5sum] = "5c8b4a3adfc48180e8ec38b8c4e996fd"
-SRC_URI[sha256sum] = "61b670fb2ba95d51d91fa7b589aae3666df494713f5d1ed78bb5c510778d77f0"
+SRC_URI[md5sum] = "c5bed026bf48c821424c1f6296193908"
+SRC_URI[sha256sum] = "b65218e2582277f5b77d1436e420db8616f63e3437a9e839cdcd7172d760e861"
 
 DISTUTILS_BUILD_ARGS += " \
     --no-libev \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
index 26df5c1..c7955c5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
@@ -7,7 +7,7 @@
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1"
 
-SRC_URI[md5sum] = "068fd5c3c690ae47504b3e0bf4e56c4c"
-SRC_URI[sha256sum] = "edbc3f203427eef571f79a7692bb160a2b0f7ccaa31953e99bd17e307cf63f7d"
+SRC_URI[md5sum] = "a84571995a209dcd00a1702a74302b88"
+SRC_URI[sha256sum] = "4c1d68a1408dd090d2f3a869aa94c3947cc1d967821d1ed303208c9f41f0f2f4"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2018.1.18.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2018.8.13.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2018.1.18.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2018.8.13.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
index 718bbab..c81545b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
@@ -11,6 +11,8 @@
 SRC_URI[md5sum] = "fc4cc00c4863833230d3af92af48abd4"
 SRC_URI[sha256sum] = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"
 
+UPSTREAM_CHECK_REGEX = "click/(?P<pver>\d+(\.\d+)+)/"
+
 CLEANBROKEN = "1"
 
 RDEPENDS_${PN} += "\
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.2.bb
similarity index 63%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.8.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.2.bb
index 145ab98..1b75e34 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.8.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.2.bb
@@ -1,10 +1,10 @@
 SUMMARY = "Extra features for standard library's cmd module"
 HOMEPAGE = "http://packages.python.org/cmd2/"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://setup.py;beginline=51;endline=51;md5=0f13c9cfc75288223cf7edd2f3b985a2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=60bc6842001870a418935bd84570b676"
 
-SRC_URI[md5sum] = "701b916ffac99137bea413205106f993"
-SRC_URI[sha256sum] = "d09976f9ad2327883c2d07b5acb42e66ad52b17e352873c22041ed124bfe8aba"
+SRC_URI[md5sum] = "bfe0900a2288283a40f0ee7533486a2f"
+SRC_URI[sha256sum] = "e7b6b4b76272a051c943c3c709cd760142af16fbc9218e0ed3c22b28ea38d0a8"
 
 inherit pypi setuptools
 
@@ -19,3 +19,5 @@
     ${PYTHON_PN}-threading \
     ${PYTHON_PN}-textutils \
     "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc
index c1fb858..133dbba 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc
@@ -1,4 +1,4 @@
-SUMMARY = "This module provides the ConfigParser class which implements a basic configuration language which provides a structure similar to what’s found in Microsoft Windows INI files."
+SUMMARY = "This module provides the ConfigParser class which implements a basic configuration language which provides a structure similar to what's found in Microsoft Windows INI files."
 SECTION = "devel/python"
 HOMEPAGE = "https://docs.python.org/3/library/configparser.html"
 LICENSE = "MIT"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-crcmod.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-crcmod.inc
new file mode 100644
index 0000000..85da7cb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-crcmod.inc
@@ -0,0 +1,14 @@
+SUMMARY = "A Python module for generating objects that compute the Cyclic Redundancy Check."
+HOMEPAGE = "https://pypi.org/project/crcmod"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a19291627cad2d1dfbfcf3c9fb85c2"
+
+SRC_URI[md5sum] = "2d5b92117d958dcead94f9e17f54cd32"
+SRC_URI[sha256sum] = "dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e"
+
+inherit pypi
+
+RDEPENDS_${PN} += "${PYTHON_PN}-unittest"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-crcmod_1.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-crcmod_1.7.bb
new file mode 100644
index 0000000..45b9a2c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-crcmod_1.7.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-crcmod.inc
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 00bb87b..d1e254b 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] = "ef115b870cc8d8b9f0f4189b512bc170"
-SRC_URI[sha256sum] = "78c4b4f3f84853ea5d038e2f53d355229dd8119fe9cf949c3e497c85c760a5ca"
+SRC_URI[md5sum] = "294d44f32885a6b97d5f9cdd7ffc73a3"
+SRC_URI[sha256sum] = "356a2ded84ae379e556515eec9b68dd74957651a38465d10605bb9fbae280f15"
 
 PYPI_PACKAGE = "cryptography_vectors"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.3.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.1.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_2.3.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 4be7907..dbbfe2c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
@@ -1,7 +1,7 @@
 SUMMARY = "Provides cryptographic recipes and primitives to python developers"
 HOMEPAGE = "https://cryptography.io/"
 LICENSE = "Apache-2.0 | BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d5ede125ed08d4fd14ec44d334bdb388"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=097f805837700cfac572ac274cd38124"
 
 DEPENDS += " \
     ${PYTHON_PN}-cffi \
@@ -10,8 +10,8 @@
     ${PYTHON_PN}-six \
 "
 
-SRC_URI[md5sum] = "9f39d4d8f2b05f295fa0ff52475ec4f2"
-SRC_URI[sha256sum] = "e4d967371c5b6b2e67855066471d844c5d52d210c36c28d49a8507b96e2c5291"
+SRC_URI[md5sum] = "a0f3f563ab1c5c3bc02fae8d4aa3ad16"
+SRC_URI[sha256sum] = "c132bab45d4bd0fff1d3fe294d92b0a6eb8404e93337b3127bdec9f21de117e6"
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-cffi \
@@ -39,6 +39,7 @@
     ${PYTHON_PN}-iso8601 \
     ${PYTHON_PN}-pretend \
     ${PYTHON_PN}-pytest \
+    ${PYTHON_PN}-pytz \
 "
 
 inherit ptest
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.3.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.1.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_2.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
index 5d3b9d5..0939cad 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
@@ -7,8 +7,8 @@
 PYPI_PACKAGE = "Cython"
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[md5sum] = "0e0568d6bed4b09ad01afe0a38805305"
-SRC_URI[sha256sum] = "634e2f10fc8d026c633cffacb45cd8f4582149fa68e1428124e762dbc566e68a"
+SRC_URI[md5sum] = "0cb620e1259818e4ecc1a056e8c3a8be"
+SRC_URI[sha256sum] = "b64575241f64f6ec005a4d4137339fb0ba5e156e826db2fdb5f458060d9979e0"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.28.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.28.5.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.28.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.28.5.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb
index 4c18e2b..ffb5beb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb
@@ -2,7 +2,7 @@
 HOMEPAGE = "https://pagure.io/python-daemon/"
 SECTION = "devel/python"
 
-DEPENDS = "python-docutils"
+DEPENDS += "python-docutils-native"
 RDEPENDS_${PN} = "python-docutils \
                   python-lockfile (>= 0.10) \
                   python-resource \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
index 333b5e2..9c5a89d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
@@ -4,8 +4,8 @@
 LICENSE = "BSD-3-Clause & Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e3155c7bdc71f66e02678411d2abf996"
 
-SRC_URI[md5sum] = "03a08c8bcf0a2b29f1cd21b9de4d12fb"
-SRC_URI[sha256sum] = "9d8074be4c993fbe4947878ce593052f71dac82932a677d49194d8ce9778002e"
+SRC_URI[md5sum] = "175b7c1a3cc0cb01151eced07c61c0b8"
+SRC_URI[sha256sum] = "e27001de32f627c22380a688bcc43ce83504a7bc5da472209b4c70f02829f0b8"
 
 PYPI_PACKAGE = "python-dateutil"
 inherit pypi
@@ -13,6 +13,8 @@
 PACKAGES =+ "${PN}-zoneinfo"
 FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo"
 
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
 RDEPENDS_${PN}_class-target = "\
     ${PYTHON_PN}-datetime \
     ${PYTHON_PN}-numbers \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.7.3.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.7.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.7.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.8.bb
similarity index 72%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.8.bb
index 0f18ccc..b3f7240 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.8.bb
@@ -9,15 +9,15 @@
 SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz \
 "
 
-SRC_URI[md5sum] = "1ce1ddf2582060f8f971652ea54cc17e"
-SRC_URI[sha256sum] = "32f29c17172cdb9cb61c68b1f1a71dfe7351506fc830869029c47449bd04faeb"
+SRC_URI[md5sum] = "7379db774c10904f27e7e2743d90fb43"
+SRC_URI[sha256sum] = "abf12bbb765e300bf8e2a1b2f32f85949eab06998dbda127952c31cb63957b6f"
 S = "${WORKDIR}/dbus-python-${PV}"
 
 inherit distutils-base autotools pkgconfig
 
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[docs] = "--enable-html-docs,--disable-html-docs,python3-docutils-native"
-PACKAGECONFIG[api-docs] = "--enable-api-docs,--disable-api-docs,python3-docutils-native python3-epydoc-native"
+# documentation needs python-sphinx, which is not in oe-core or meta-python for now
+# change to use PACKAGECONFIG when python-sphinx is added to oe-core or meta-python
+EXTRA_OECONF += "--disable-documentation"
 
 export STAGING_LIBDIR
 export STAGING_INCDIR
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc
index 4ef2d7f..ee3aee6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-django.inc
@@ -3,12 +3,14 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa"
 
-SRC_URI[md5sum] = "f306015e16a8d5024dbac923ac34fffb"
-SRC_URI[sha256sum] = "22383567385a9c406d8a5ce080a2694c82c6b733e157922197e8b393bb3aacd9"
+SRC_URI[md5sum] = "38e82b59a1c27bbf98ccf0564ead7426"
+SRC_URI[sha256sum] = "eb9271f0874f53106a2719c0c35ce67631f6cc27cf81a60c6f8c9817b35a3f6e"
 
 PYPI_PACKAGE = "Django"
 inherit pypi
 
+UPSTREAM_CHECK_REGEX = "(?P<pver>1(\.\d+)+)"
+
 FILES_${PN} += "${datadir}/django"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.14.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.10.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-django_1.11.14.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-djangorestframework.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-djangorestframework.inc
new file mode 100644
index 0000000..8551a83
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-djangorestframework.inc
@@ -0,0 +1,16 @@
+SUMMARY =  "djangorestframework"
+DESCRIPTION = "pip3 install djangorestframework"
+HOMEPAGE = "https://pypi.python.org/pypi/djangorestframework"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=7879a5a716147a784f7e524c9cf103c1"
+
+SRC_URI[md5sum] = "0d481bf8dbb87bb927b46798edc1a9bd"
+SRC_URI[sha256sum] = "607865b0bb1598b153793892101d881466bd5a991de12bd6229abb18b1c86136"
+PYPI_PACKAGE = "djangorestframework"
+
+inherit pypi
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-django \
+"
\ No newline at end of file
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-djangorestframework_3.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-djangorestframework_3.9.0.bb
new file mode 100644
index 0000000..540d12d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-djangorestframework_3.9.0.bb
@@ -0,0 +1,2 @@
+require python-djangorestframework.inc
+inherit setuptools
\ No newline at end of file
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc
index 7af4fe1..dfb20e9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate.inc
@@ -2,8 +2,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b69377f79f3f48c661701236d5a6a85"
 
-SRC_URI[md5sum] = "def4106c80897b7fad2afb3bc05360e4"
-SRC_URI[sha256sum] = "b709ca8642559c3c5a81a33ab10839fa052177accd5ba821047a99db635255ed"
+SRC_URI[md5sum] = "aaeee55431d0287063657122ff41a0e6"
+SRC_URI[sha256sum] = "cd1b4e6cb829eeb41c02ad9202d83bef5f4b7a036dd9fad72ce96ad1e22efb07"
 
 PYPI_PACKAGE = "Flask-Migrate"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate_2.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate_2.2.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate_2.1.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-flask-migrate_2.2.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sijax.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sijax.inc
new file mode 100644
index 0000000..ff4e70a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sijax.inc
@@ -0,0 +1,8 @@
+DESCRIPTION = "An extension for the Flask microframework that adds Sijax support."
+HOMEPAGE = "https://github.com/spantaleev/flask-sijax"
+LICENSE = "BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=266adc7b911b7c84b837bf77196e1ba6"
+
+PYPI_PACKAGE = "Flask-Sijax"
+RDEPENDS_${PN} = "${PYTHON_PN}-sijax"
\ No newline at end of file
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sijax_0.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sijax_0.4.1.bb
new file mode 100644
index 0000000..74738fc
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sijax_0.4.1.bb
@@ -0,0 +1,4 @@
+inherit pypi setuptools
+require python-flask-sijax.inc
+
+SRC_URI[sha256sum] = "fb2bf2d4f75408185102195055d75549fee8d9c9e954dca2427186925cdc429f"
\ No newline at end of file
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
index ecf5619..66ad1a6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
@@ -4,10 +4,10 @@
 intentions. And before you ask: It’s BSD licensed!"
 HOMEPAGE = "https://github.com/mitsuhiko/flask/"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=19866b76b054ab30c270c0eb9d7e43d7"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c011883ac26229b8ba3084f55c7664c6"
 
-SRC_URI[md5sum] = "97278dfdafda98ba7902e890b0289177"
-SRC_URI[sha256sum] = "49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1"
+SRC_URI[md5sum] = "824f0f20aae1f44c9c7dc4054adb7969"
+SRC_URI[sha256sum] = "2271c0070dbcb5275fad4a82e29f23ab92682dc45f9dfbc22c02ba9b9322ce48"
 
 CLEANBROKEN = "1"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.12.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-flask_1.0.2.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.12.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-flask_1.0.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-future.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-future.inc
new file mode 100644
index 0000000..2247561
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-future.inc
@@ -0,0 +1,13 @@
+DESCRIPTION = "Clean single-source support for Python 3 and 2"
+HOMEPAGE = "https://python-future.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3f457538b297bd0ef86564b8ac216ad7"
+
+SRC_URI[md5sum] = "3e8e88a2bda48d54b1da7634d04760d7"
+SRC_URI[sha256sum] = "e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb"
+
+PYPI_PACKAGE_HASH = "99abde815842bc6e97d5a7806ad51236630da14ca2f3b1fce94c0bb94d3d"
+
+inherit pypi
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-future_0.16.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-future_0.16.0.bb
index 46f7fe5..d95e1ba 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-future_0.16.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-future_0.16.0.bb
@@ -1,13 +1,2 @@
-DESCRIPTION = "Clean single-source support for Python 3 and 2"
-HOMEPAGE = "https://python-future.org"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3f457538b297bd0ef86564b8ac216ad7"
-
-SRC_URI[md5sum] = "3e8e88a2bda48d54b1da7634d04760d7"
-SRC_URI[sha256sum] = "e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb"
-
-PYPI_PACKAGE_HASH = "99abde815842bc6e97d5a7806ad51236630da14ca2f3b1fce94c0bb94d3d"
-
-inherit pypi setuptools
-
-BBCLASSEXTEND = "native"
+inherit setuptools
+require python-future.inc
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 7a42240..fcd81f6 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] = "6e0b9dd5385f81d478451ec8ed1d62b3"
-SRC_URI[sha256sum] = "0fef83d43bf87a5196c91e73cb9772f945a4caaff91242766c5916d1dd1381e4"
+SRC_URI[md5sum] = "a87b6028c3b742b210bf5973939db595"
+SRC_URI[sha256sum] = "f1cc268a15ade58d9a0c04569fe6613e19b8b0345b64453064e2c3c6d79051af"
 
 inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.14.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.13.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.14.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools.inc
new file mode 100644
index 0000000..91cc62f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools.inc
@@ -0,0 +1,16 @@
+DESCRIPTION = "Google gRPC tools"
+HOMEPAGE = "http://www.grpc.io/"
+SECTION = "devel/python"
+
+DEPENDS_append = "${PYTHON_PN}-grpcio"
+RDEPENDS_${PN} = "${PYTHON_PN}-grpcio"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+inherit pypi
+
+SRC_URI[md5sum] = "b2fabfb54c7824c1e49a02de2aa6628e"
+SRC_URI[sha256sum] = "4ce5aa660d7884f23aac1eafa93b97a4c3e2b512edff871e91fdb6ee86ebd5ea"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.14.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.14.1.bb
new file mode 100644
index 0000000..5b19beb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.14.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-grpcio-tools.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.8.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.8.4.bb
deleted file mode 100644
index 45e0cc1..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools_1.8.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Google gRPC tools"
-HOMEPAGE = "http://www.grpc.io/"
-SECTION = "devel/python"
-
-DEPENDS = "python-grpcio"
-RDEPENDS_${PN} = "python-grpcio"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
-
-inherit pypi setuptools
-
-SRC_URI[md5sum] = "e04e65afe60410cf178ff2698f052a7c"
-SRC_URI[sha256sum] = "edc84c09039d3a01012ccd97450abd06ee6b980710f6d9f191b50deb6774a75c"
-
-# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools)
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc
new file mode 100644
index 0000000..23d25f7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc
@@ -0,0 +1,25 @@
+DESCRIPTION = "Google gRPC"
+HOMEPAGE = "http://www.grpc.io/"
+SECTION = "devel/python"
+
+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 "
+
+RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \
+                  ${PYTHON_PN}-setuptools \
+                  ${PYTHON_PN}-six \
+"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+inherit pypi
+
+SRC_URI[md5sum] = "0987ae2e47b5103de3cacc437874a3c5"
+SRC_URI[sha256sum] = "4bf23666e763ca7ff6010465864e9f088f4ac7ecc1e11abd6f85b250e66b2c05"
+
+CLEANBROKEN = "1"
+
+BBCLASSEXTEND = "native nativesdk"
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 0c1d964..996597b 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,16 +18,25 @@
  setup.py | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-Index: grpcio-1.8.4/setup.py
+Index: grpcio-1.14.1/setup.py
 ===================================================================
---- grpcio-1.8.4.orig/setup.py
-+++ grpcio-1.8.4/setup.py
-@@ -115,7 +115,7 @@ if EXTRA_ENV_COMPILE_ARGS is None:
+--- grpcio-1.14.1.orig/setup.py
++++ grpcio-1.14.1/setup.py
+@@ -123,7 +123,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:
+-  EXTRA_ENV_COMPILE_ARGS = ' -std=c++11'
++  EXTRA_ENV_COMPILE_ARGS = ""
+   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:
      else:
        EXTRA_ENV_COMPILE_ARGS += ' -D_ftime=_ftime64 -D_timeb=__timeb64'
    elif "linux" in sys.platform:
--    EXTRA_ENV_COMPILE_ARGS += ' -std=c++11 -std=gnu99 -fvisibility=hidden -fno-wrapv -fno-exceptions'
+-    EXTRA_ENV_COMPILE_ARGS += ' -std=gnu99 -fvisibility=hidden -fno-wrapv -fno-exceptions'
 +    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'
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.14.1.bb
new file mode 100644
index 0000000..820bea4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.14.1.bb
@@ -0,0 +1,6 @@
+inherit setuptools
+require python-grpcio.inc
+
+RDEPENDS_${PN} += " python-enum34 \
+                    python-futures \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.8.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.8.4.bb
deleted file mode 100644
index bec9d84..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio_1.8.4.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "Google gRPC"
-HOMEPAGE = "http://www.grpc.io/"
-SECTION = "devel/python"
-
-DEPENDS = "python-protobuf"
-
-SRC_URI_append_class-target = " file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch "
-
-RDEPENDS_${PN} = "python-enum34 \
-                  python-futures \
-                  python-protobuf \
-                  python-setuptools \
-                  python-six \
-"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
-
-inherit pypi setuptools
-
-SRC_URI[md5sum] = "7860f7c61de3890323670b7b1ff63e56"
-SRC_URI[sha256sum] = "88d87aab9c7889b3ab29dd74aac1a5493ed78b9bf5afba1c069c9dd5531f951d"
-
-# For usage in other recipes when compiling protobuf files (e.g. by grpcio-tools)
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink.inc
index 2b5b0a0..78e3ee8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink.inc
@@ -3,8 +3,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3893d4ed05dcc823f8ed685a9ea19bcb"
 
-SRC_URI[md5sum] = "eaccb9845b559817e838846669cbc68a"
-SRC_URI[sha256sum] = "bc4ffdbde9bdad204d507bd8f554f16bba82dd356f6130cb16f41422909c33bc"
+SRC_URI[sha256sum] = "f01b4ff744f14bc5d0a22a6b9f1525ab7d6312cb0ff967f59414bbac52f0a306"
+SRC_URI[md5sum] = "f41a96779b324d824864696a94b24823"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink_17.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink_18.0.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink_17.3.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink_18.0.0.bb
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 b1d0d18..519812d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
@@ -1,13 +1,18 @@
 SUMMARY = "Internationalised Domain Names in Applications"
 HOMEPAGE = "https://github.com/kjd/idna"
 LICENSE = "BSD-3-Clause & Python-2.0 & Unicode"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=c9ba5acd829579492fd5eb306c7a0565"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=782775b32f96098512e283fb5d4546cd"
 
-SRC_URI[md5sum] = "c706e2790b016bd0ed4edd2d4ba4d147"
-SRC_URI[sha256sum] = "2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f"
+SRC_URI[md5sum] = "0e5bb69018ddef1b9d95f681182be82c"
+SRC_URI[sha256sum] = "684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16"
 
 RDEPENDS_${PN}_class-target = "\
     ${PYTHON_PN}-codecs \
 "
 
+# Remove bundled egg-info
+do_compile_prepend() {
+    rm -rf ${S}/idna.egg-info
+}
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.7.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.7.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-inflection.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-inflection.inc
new file mode 100644
index 0000000..556b268
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-inflection.inc
@@ -0,0 +1,14 @@
+SUMMARY = "A port of Ruby on Rails' inflection to Python."
+HOMEPAGE = "https://pypi.org/project/inflection"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=de7833d9c2ce0052a4073928c76a13d7"
+
+SRC_URI[md5sum] = "7941165e9f148e0520023941c0886b40"
+SRC_URI[sha256sum] = "18ea7fb7a7d152853386523def08736aa8c32636b047ade55f7578c4edeb16ca"
+
+inherit pypi
+
+RDEPENDS_${PN} += "${PYTHON_PN}-pytest"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-inflection_0.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-inflection_0.3.1.bb
new file mode 100644
index 0000000..4a9d497
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-inflection_0.3.1.bb
@@ -0,0 +1,4 @@
+inherit setuptools
+require python-inflection.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-codecs"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-intervals.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-intervals.inc
new file mode 100644
index 0000000..1ecca35
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-intervals.inc
@@ -0,0 +1,15 @@
+DESCRIPTION = "Interval arithmetic for Python"
+HOMEPAGE = "https://github.com/AlexandreDecan/python-intervals"
+SECTION = "devel/python"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+PYPI_PACKAGE := "python-intervals"
+
+inherit pypi
+
+SRC_URI[md5sum] = "a35dd44269fdb134bf19cfd80cb2c120"
+SRC_URI[sha256sum] = "a8a15b7c2fadb8465310f44aa96e384828b35a29de38ac74738cd665924cb8ac"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-intervals_1.5.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-intervals_1.5.4.bb
new file mode 100644
index 0000000..3c2a33b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-intervals_1.5.4.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-intervals.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.19.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.22.bb
similarity index 67%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.19.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.22.bb
index 9c50b46..66de8b6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.19.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.22.bb
@@ -5,8 +5,8 @@
 
 DEPENDS += "python-pip"
 
-SRC_URI[md5sum] = "d0687efaf93a32476d81e90ba0609c57"
-SRC_URI[sha256sum] = "200d8686011d470b5e4de207d803445deee427455cd0cb7c982b68cf82524f81"
+SRC_URI[md5sum] = "74c1ce3109f30eaa1ab3dd342e7b76d4"
+SRC_URI[sha256sum] = "b146c751ea45cad6188dd6cf2d9b757f6f4f8d6ffb96a023e6f2e26eea02a72c"
 
 inherit pypi setuptools
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc
index 6d13e5f..359b180 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-isort.inc
@@ -13,3 +13,5 @@
     ${PYTHON_PN}-datetime \
     ${PYTHON_PN}-shell \
 "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-linecache2_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-linecache2_1.0.0.bb
new file mode 100644
index 0000000..386da2d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-linecache2_1.0.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "A backport of linecache to older supported Pythons"
+HOMEPAGE = "https://github.com/testing-cabal/linecache2"
+LICENSE = "Python-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=19;endline=19;md5=368ddc8588431c180ae7c33f4fb57519"
+
+DEPENDS = "${PYTHON_PN}-pbr-native"
+
+SRC_URI[md5sum] = "7b25d0289ec36bff1f9e63c4329ce65c"
+SRC_URI[sha256sum] = "4b26ff4e7110db76eeb6f5a7b64a82623839d595c2038eeda662f2a2db78e97c"
+
+inherit pypi setuptools
+
+CLEAN_BROKEN = "1"
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 3f3a1e2..7f355a7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
@@ -18,8 +18,8 @@
 
 DEPENDS += "libxml2 libxslt"
 
-SRC_URI[md5sum] = "c266d9062e23b08f66426979a2b36f51"
-SRC_URI[sha256sum] = "e2629cdbcad82b83922a3488937632a4983ecc0fed3e5cfbf430d069382eeb9b"
+SRC_URI[md5sum] = "31239400ca4e130b69993bb3c14204b3"
+SRC_URI[sha256sum] = "e2afbe403090f5893e254958d02875e0732975e73c4c0cdd33c1f009a61963ca"
 
 DISTUTILS_BUILD_ARGS += " \
                      --with-xslt-config='pkg-config libxslt' \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.4.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.2.4.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.26.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc
similarity index 64%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.26.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc
index 272c76c..a36ab8a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.26.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc
@@ -1,35 +1,39 @@
 SUMMARY = "A Python crypto and SSL toolkit"
 HOMEPAGE = "https://gitlab.com/m2crypto/m2crypto"
 
-LICENSE = "BSD"
+LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e"
 
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-m2crypto:"
+
 SRC_URI += "file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch \
             file://cross-compile-platform.patch \
             file://m2crypto-0.26.4-gcc_macros.patch \
            "
-SRC_URI[md5sum] = "5c74c25ba8b45122318a165a3a2059ad"
-SRC_URI[sha256sum] = "5cae7acc0b34821f8c0ddf6665e482893fe1f198ad6379e61ffa9d8e65f5c199"
+SRC_URI[md5sum] = "7fce3cbf85eb84a669682892b935746b"
+SRC_URI[sha256sum] = "a1b2751cdadc6afac3df8a5799676b7b7c67a6ad144bb62d38563062e7cd3fc6"
 
 PYPI_PACKAGE = "M2Crypto"
-inherit pypi setuptools siteinfo
+inherit pypi siteinfo
 
 DEPENDS += "openssl swig-native"
 RDEPENDS_${PN} += "python-typing"
 
-DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_DIR_HOST} -I${STAGING_INCDIR}"
-DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_DIR_HOST}"
+DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR} -I${STAGING_INCDIR}"
+DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}"
 
 SWIG_FEATURES_x86 = "-D__i386__"
+SWIG_FEATURES_x32 = "-D__ILP32__"
 SWIG_FEATURES ?= "-D__${HOST_ARCH}__"
 export SWIG_FEATURES
 
 # Get around a problem with swig, but only if the
 # multilib header file exists.
 #
-do_compile_prepend() {
-    ${CPP} -dM - < /dev/null | grep -v __STDC__ | grep -v __REGISTER_PREFIX__ | grep -v __GNUC__ \
-	| sed 's/^\(#define \([^ ]*\) .*\)$/#undef \2\n\1/' > SWIG/gcc_macros.h
+do_configure_prepend() {
+    ${CPP} -dM - < /dev/null | grep -v '__\(STDC\|REGISTER_PREFIX\|GNUC\|STDC_HOSTED\)__' \
+    | sed 's/^\(#define \([^ ]*\) .*\)$/#undef \2\n\1/' > SWIG/gcc_macros.h
+
     if [ "${SITEINFO_BITS}" = "64" ];then
         bit="64"
     else
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch
index c71b16f..b339d93 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch
@@ -10,30 +10,26 @@
  setup.py | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)
 
-diff --git a/setup.py b/setup.py
-index 3407c82..15ed7cd 100644
---- a/setup.py
-+++ b/setup.py
-@@ -127,7 +127,7 @@ class _M2CryptoBuildExt(build_ext.build_ext):
-                 self.openssl = os.path.join(self.openssl, 'OpenSSL')
-         else:
-             self.libraries = ['ssl', 'crypto']
--            self.openssl = '/usr'
-+            self.openssl = os.environ.get( "STAGING_DIR" )
+Index: M2Crypto-0.30.1/setup.py
+===================================================================
+--- M2Crypto-0.30.1.orig/setup.py
++++ M2Crypto-0.30.1/setup.py
+@@ -130,6 +130,7 @@ class _M2CryptoBuildExt(build_ext.build_
+         self.set_undefined_options('build', ('bundledlls', 'bundledlls'))
  
-     def finalize_options(self):
-         '''Overloaded build_ext implementation to append custom openssl
-@@ -143,8 +143,8 @@ class _M2CryptoBuildExt(build_ext.build_ext):
-         if _openssl and os.path.isdir(_openssl):
-             self.openssl = _openssl
+         self.libraries = ['ssl', 'crypto']
++        self.openssl = os.environ.get( "STAGING_DIR" )
+         if sys.platform == 'win32':
+             self.libraries = ['ssleay32', 'libeay32']
+             if self.openssl and openssl_version(self.openssl, 0x10100000, True):
+@@ -150,8 +151,8 @@ class _M2CryptoBuildExt(build_ext.build_
  
--        self.include_dirs.append(os.path.join(self.openssl, 'include'))
--        openssl_library_dir = os.path.join(self.openssl, 'lib')
-+        self.include_dirs.append(os.environ.get( "STAGING_INCDIR" ))
-+        openssl_library_dir = os.environ.get( "STAGING_LIBDIR" )
+         if self.openssl is not None:
+             log.debug('self.openssl = %s', self.openssl)
+-            openssl_library_dir = os.path.join(self.openssl, 'lib')
+-            openssl_include_dir = os.path.join(self.openssl, 'include')
++            openssl_library_dir = os.environ.get( "STAGING_LIBDIR" )
++            openssl_include_dir = os.environ.get( "STAGING_INCDIR" )
  
-         if platform.system() == "Linux":
-             if _multiarch:  # on Fedora/RHEL it is an empty string
--- 
-2.7.4
-
+             self.library_dirs.append(openssl_library_dir)
+             self.include_dirs.append(openssl_include_dir)
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/cross-compile-platform.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/cross-compile-platform.patch
index c6654e5..4b64f46 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/cross-compile-platform.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/cross-compile-platform.patch
@@ -4,27 +4,30 @@
 Upstream-Status: Inappropriate
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 
-Index: M2Crypto-0.26.0/setup.py
+Index: M2Crypto-0.30.1/setup.py
 ===================================================================
---- M2Crypto-0.26.0.orig/setup.py
-+++ M2Crypto-0.26.0/setup.py
-@@ -141,19 +141,6 @@ class _M2CryptoBuildExt(build_ext.build_
-                 self.include_dirs.append(
-                     os.path.join(self.openssl, 'include', 'openssl'))
+--- M2Crypto-0.30.1.orig/setup.py
++++ M2Crypto-0.30.1/setup.py
+@@ -160,22 +160,6 @@ class _M2CryptoBuildExt(build_ext.build_
+             log.debug('self.include_dirs = %s', self.include_dirs)
+             log.debug('self.library_dirs = %s', self.library_dirs)
  
+-        if platform.system() == "Linux":
 -            # For RedHat-based distros, the '-D__{arch}__' option for
 -            # Swig needs to be normalized, particularly on i386.
 -            mach = platform.machine().lower()
 -            if mach in ('i386', 'i486', 'i586', 'i686'):
 -                arch = '__i386__'
--            elif mach in ('ppc64', 'powerpc64'):
+-            elif mach in ('ppc64', 'powerpc64', 'ppc64le', 'ppc64el'):
 -                arch = '__powerpc64__'
 -            elif mach in ('ppc', 'powerpc'):
 -                arch = '__powerpc__'
 -            else:
 -                arch = '__%s__' % mach
 -            self.swig_opts.append('-D%s' % arch)
+-            if mach in ('ppc64le', 'ppc64el'):
+-                self.swig_opts.append('-D_CALL_ELF=2')
 -
          self.swig_opts.extend(['-I%s' % i for i in self.include_dirs])
-         self.swig_opts.append('-includeall')
-         self.swig_opts.append('-modern')
+ 
+         # Some Linux distributor has added the following line in
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/m2crypto-0.26.4-gcc_macros.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/m2crypto-0.26.4-gcc_macros.patch
index 2d738cc..7f6dd29 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/m2crypto-0.26.4-gcc_macros.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/m2crypto-0.26.4-gcc_macros.patch
@@ -1,16 +1,22 @@
 Imported from Fedora
 
---- M2Crypto/SWIG/_m2crypto.i	2017-09-26 11:26:33.000000000 +0200
-+++ M2Crypto-0.26.4/SWIG/_m2crypto.i	2017-09-26 21:04:14.080330741 +0200
-@@ -7,6 +7,7 @@
-  * Copyright (c) 2009-2010 Heikki Toivonen. All rights reserved.
+Index: M2Crypto-0.30.1/SWIG/_m2crypto.i
+===================================================================
+--- M2Crypto-0.30.1.orig/SWIG/_m2crypto.i
++++ M2Crypto-0.30.1/SWIG/_m2crypto.i
+@@ -8,6 +8,11 @@
   *
   */
-+%import "gcc_macros.h"
  
++%import "gcc_macros.h"
++
++%ignore WCHAR_MAX;
++%ignore WCHAR_MIN;
++
  %module(threads=1) m2crypto
  /* We really don't need threadblock (PyGILState_Ensure() etc.) anywhere.
-@@ -15,11 +16,6 @@
+    Disable threadallow as well, only enable it for operations likely to
+@@ -15,11 +20,6 @@
  %nothreadblock;
  %nothreadallow;
  
@@ -20,5 +26,10 @@
 -#endif
 -
  %{
- #if __GNUC__ < 5
- #pragma GCC diagnostic ignored "-Wunused-label"
+ #ifdef _WIN32
+ #define _WINSOCKAPI_
+@@ -95,4 +95,3 @@ static PyObject *x509_store_verify_cb_fu
+ %constant int encrypt = 1;
+ %constant int decrypt = 0;
+ #endif
+-  
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.30.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.30.1.bb
new file mode 100644
index 0000000..c612fcd
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.30.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-m2crypto.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe_0.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe_0.4.0.bb
index a86d158..6b63cd7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe_0.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-mccabe_0.4.0.bb
@@ -16,3 +16,5 @@
     python-prettytable \
     python-cmd2 \
     python-pyparsing"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb
index 840c36e..210502f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb
@@ -1,5 +1,5 @@
 SUMMARY = "A Python Mocking and Patching Library for Testing"
-LICENSE = "Apache-2.0"
+LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=de9dfbf780446b18aab11f00baaf5b7e"
 
 SRC_URI[md5sum] = "0febfafd14330c9dcaa40de2d82d40ad"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.5.bb
similarity index 67%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.5.bb
index 4c5d8ae..01e7b1c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-monotonic_1.5.bb
@@ -2,8 +2,8 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
 
-SRC_URI[md5sum] = "29302cd6b1013b3ab0d1ed78e20d22f2"
-SRC_URI[sha256sum] = "a02611d5b518cd4051bf22d21bd0ae55b3a03f2d2993a19b6c90d9d168691f84"
+SRC_URI[md5sum] = "9f81cb0e5966479754453dea2b6822f4"
+SRC_URI[sha256sum] = "23953d55076df038541e648a53676fb24980f7a1be290cdda21300b3bc21dfb0"
 
 inherit pypi setuptools
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
index d743023..91235b9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
@@ -3,8 +3,8 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://MANIFEST.in;md5=ce22c0cd986d2de3f7073cd6b5523ae0"
 
-SRC_URI[md5sum] = "a0d349cf9530e331697a6e5ab1f40de6"
-SRC_URI[sha256sum] = "fba4d4798dcac2965874f24afb6631b4326baa4bd02505744d34f690c354856a"
+SRC_URI[md5sum] = "b0fc8ea38f87d2c1ab1ed79a95c078f9"
+SRC_URI[sha256sum] = "d72faed0376ab039736c2ba12e30695e2788c4aa569c9c3e3d72131de2592210"
 
 PYPI_PACKAGE = "ndg_httpsclient"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.4.bb
deleted file mode 100644
index ca0eb32..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-ndg-httpsclient.inc
-inherit pypi setuptools
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.5.1.bb
new file mode 100644
index 0000000..9cd881a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.5.1.bb
@@ -0,0 +1,6 @@
+require python-ndg-httpsclient.inc
+inherit pypi setuptools update-alternatives
+
+ALTERNATIVE_${PN} = "ndg_httpclient"
+ALTERNATIVE_LINK_NAME[ndg_httpclient] = "${bindir}/ndg_httpclient"
+ALTERNATIVE_PRIORITY = "20"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc
index b9f84a6..d6ca243 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pandas.inc
@@ -6,13 +6,13 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=ee0470f2de336c370a71c2f8d5e81c11"
 
-SRC_URI[md5sum] = "c7a2757b607748255f3270221ac61d59"
-SRC_URI[sha256sum] = "44a94091dd71f05922eec661638ec1a35f26d573c119aa2fad964f10a2880e6c"
+SRC_URI[md5sum] = "7b597c7f989652e0c9af5f09a157e3ae"
+SRC_URI[sha256sum] = "5b24ca47acf69222e82530e89111dd9d14f9b970ab2cd3a1c2c78f0c4fbba4f4"
 
 inherit pypi
 
 DEPENDS += " \
-    ${PYTHON_PN}-numpy-native \
+    ${PYTHON_PN}-numpy-native ${PYTHON_PN}-cython-native \
 "
 
 RDEPENDS_${PN} += " \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.22.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.23.4.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.22.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.23.4.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type.inc
new file mode 100644
index 0000000..4549ec9
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type.inc
@@ -0,0 +1,12 @@
+SUMMARY = "Simplifies building parse types based on the parse module"
+HOMEPAGE = "https://github.com/jenisys/parse_type"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d07323820cca0f1d192cbbf8a0516f95"
+
+SRC_URI[md5sum] = "b5fa59e45965d1b2896023742df2e707"
+SRC_URI[sha256sum] = "f596bdc75d3dd93036fbfe3d04127da9f6df0c26c36e01e76da85adef4336b3c"
+
+PYPI_PACKAGE = "parse_type"
+inherit pypi
+
+RDEPENDS_${PN} += "${PYTHON_PN}-parse"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.4.2.bb
index b516c59..8e10e80 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-parse-type_0.4.2.bb
@@ -1,11 +1,2 @@
-SUMMARY = "Simplifies building parse types based on the parse module"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d07323820cca0f1d192cbbf8a0516f95"
-PYPI_PACKAGE = "parse_type"
-
-SRC_URI[md5sum] = "b5fa59e45965d1b2896023742df2e707"
-SRC_URI[sha256sum] = "f596bdc75d3dd93036fbfe3d04127da9f6df0c26c36e01e76da85adef4336b3c"
-
-RDEPENDS_${PN} += "python-parse"
-
-inherit pypi setuptools
+inherit setuptools
+require python-parse-type.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-parse.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-parse.inc
new file mode 100644
index 0000000..fa55a93
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-parse.inc
@@ -0,0 +1,14 @@
+SUMMARY = "Parse strings using a specification based on the Python format() syntax"
+HOMEPAGE = "https://github.com/r1chardj0n3s/parse"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://parse.py;beginline=1273;endline=1291;md5=5147afdd9b3615290ad8733f0137a1a1"
+
+SRC_URI[md5sum] = "fa69ab2fe846f9b183411391f7c6897b"
+SRC_URI[sha256sum] = "c3cdf6206f22aeebfa00e5b954fcfea13d1b2dc271c75806b6025b94fb490939"
+
+inherit pypi
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-logging \
+    "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.2.bb
deleted file mode 100644
index 8e16372..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.2.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Parse strings using a specification based on the Python format() syntax"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://parse.py;beginline=1191;endline=1209;md5=5147afdd9b3615290ad8733f0137a1a1"
-
-SRC_URI[md5sum] = "42002338551bdfa0f01bbe4e679a17dd"
-SRC_URI[sha256sum] = "8048dde3f5ca07ad7ac7350460952d83b63eaacecdac1b37f45fd74870d849d2"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-datetime \
-    ${PYTHON_PN}-logging \
-    "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.4.bb
new file mode 100644
index 0000000..d31ccc7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.4.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-parse.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_3.1.1.bb
deleted file mode 100644
index bdff867..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_3.1.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "Python Build Reasonableness: PBR is a library that injects some useful and sensible default behaviors into your setuptools run"
-HOMEPAGE = "https://pypi.python.org/pypi/pbr"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRC_URI[md5sum] = "4e82c2e07af544c56a5b71c801525b00"
-SRC_URI[sha256sum] = "05f61c71aaefc02d8e37c0a3eeb9815ff526ea28b3b76324769e6158d7f95be1"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN}_class-target += " \
-        python-pip \
-        "
-
-BBCLASSEXTEND = "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
new file mode 100644
index 0000000..a4b56cd
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_4.2.0.bb
@@ -0,0 +1,3 @@
+inherit setuptools
+# The inc file is in oe-core
+require recipes-devtools/python/python-pbr.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pep8_1.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pep8_1.7.1.bb
index b12d72d..54ce978 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pep8_1.7.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pep8_1.7.1.bb
@@ -12,3 +12,5 @@
     python-prettytable \
     python-cmd2 \
     python-pyparsing"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-periphery.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-periphery.inc
new file mode 100644
index 0000000..539c357
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-periphery.inc
@@ -0,0 +1,7 @@
+DESCRIPTION = "A pure Python 2/3 library for peripheral I/O (GPIO, LED, PWM, SPI, I2C, MMIO, Serial) in Linux."
+HOMEPAGE = "http://pythonhosted.org/python-periphery/"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=063846af82b555d48822cf43dc6db6af"
+
+PYPI_PACKAGE = "python-periphery"
\ No newline at end of file
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-periphery_1.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-periphery_1.1.1.bb
new file mode 100644
index 0000000..6ae7fed
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-periphery_1.1.1.bb
@@ -0,0 +1,4 @@
+inherit pypi setuptools
+require python-periphery.inc
+
+SRC_URI[sha256sum] = "fe8f351934edce72cd919b4eb070878ebff551db5e21aea61e0f446101f0a79f"
\ No newline at end of file
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc
index fa8ad01..efeab83 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect.inc
@@ -4,8 +4,8 @@
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1c7a725251880af8c6a148181665385b"
 
-SRC_URI[md5sum] = "913fc0a68a915cdf6ad4250493c94cf7"
-SRC_URI[sha256sum] = "9f8eb3277716a01faafaba553d629d3d60a1a624c7cf45daa600d2148c30020c"
+SRC_URI[md5sum] = "d4f3372965a996238d57d19b95d2e03a"
+SRC_URI[sha256sum] = "2a8e88259839571d1251d278476f3eec5db26deb73a70be5ed5dc5435e418aba"
 
 UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/pexpect"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.6.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.5.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pexpect_4.6.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pint.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pint.inc
new file mode 100644
index 0000000..53f7783
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pint.inc
@@ -0,0 +1,15 @@
+DESCRIPTION = "Interval arithmetic for Python"
+HOMEPAGE = "https://github.com/AlexandreDecan/python-intervals"
+SECTION = "devel/python"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+PYPI_PACKAGE := "Pint"
+
+inherit pypi
+
+SRC_URI[md5sum] = "e1f80f3f8fc4e61f68ad3912db26b3a8"
+SRC_URI[sha256sum] = "afcf31443a478c32bbac4b00337ee9026a13d0e2ac83d30c79151462513bb0d4"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pint_0.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pint_0.8.1.bb
new file mode 100644
index 0000000..480f088
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pint_0.8.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pint.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pip_18.0.bb
similarity index 62%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pip_18.0.bb
index e3fc6ba..6b943b0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pip_18.0.bb
@@ -1,10 +1,10 @@
 SUMMARY = "PIP is a tool for installing and managing Python packages"
 HOMEPAGE = "https://pip.pypa.io/"
 LICENSE = "MIT & LGPL-2.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=25fba45109565f87de20bae85bc39452"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=593c6cd9d639307226978cbcae61ad4b"
 
-SRC_URI[md5sum] = "b15b33f9aad61f88d0f8c866d16c55d8"
-SRC_URI[sha256sum] = "7bf48f9a693be1d58f49f7af7e0ae9fe29fd671cde8a55e6edca3581c4ef5796"
+SRC_URI[md5sum] = "52f75ceb21e96c258f289859a2996b60"
+SRC_URI[sha256sum] = "a0e11645ee37c90b40c46d607070c4fd583e2cd46231b1c06e389c5e814eed76"
 
 inherit pypi setuptools
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
index 6f4390e..406555a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
@@ -23,3 +23,5 @@
 
 UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/PrettyTable/"
 UPSTREAM_CHECK_REGEX = "/PrettyTable/(?P<pver>(\d+[\.\-_]*)+)"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-progress.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-progress.inc
index 297c0d3..9f00615 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-progress.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-progress.inc
@@ -3,8 +3,8 @@
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=aef5566ac4fede9815eccf124c281317"
 
-SRC_URI[md5sum] = "f65ccfcc2339d522b2dd5801aaa40dc7"
-SRC_URI[sha256sum] = "c88d89ee3bd06716a0b8b5504d9c3bcb3c1c0ab98f96dc7f1dc5f56812a4f60a"
+SRC_URI[md5sum] = "057981e2f09029288f5255b1ea3ab64d"
+SRC_URI[sha256sum] = "5e2f9da88ed8236a76fffbee3ceefd259589cf42dfbc2cec2877102189fae58a"
 
 RDEPENDS_${PN}_class-target += " \
     ${PYTHON_PN}-datetime \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-progress_1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-progress_1.4.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-progress_1.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-progress_1.4.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
index cc409a4..1a4bd35 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
@@ -2,8 +2,8 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b2cde7da89f0c1f3e49bf968d00d554f"
 
-SRC_URI[md5sum] = "8fe70295006dbc8afedd43e5eba99032"
-SRC_URI[sha256sum] = "858588f1983ca497f1cf4ffde01d978a3ea02b01c8a26a8bbc5cd2e66d816917"
+SRC_URI[md5sum] = "8db8b8e40e91bc6dce133d8d5727a717"
+SRC_URI[sha256sum] = "ff58ce8bb82c11c43416dd3eec7701dcbe8c576e2d7649f1d2b9d21a2fd93808"
 
 PYPI_PACKAGE = "prompt_toolkit"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.15.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_2.0.4.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.15.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_2.0.4.bb
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 b84983d..b617904 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
@@ -7,8 +7,14 @@
 
 inherit pypi
 
-SRC_URI[md5sum] = "393a53483224cb338df5c643646c0300"
-SRC_URI[sha256sum] = "09879a295fd7234e523b62066223b128c5a8a88f682e3aff62fb115e4a0d8be0"
+SRC_URI[md5sum] = "e2daef80e70249aa1f05363670c6b3f8"
+SRC_URI[sha256sum] = "1489b376b0f364bcc6f89519718c057eb191d7ad6f1b395ffd93d1aa45587811"
+
+# http://errors.yoctoproject.org/Errors/Details/184715/
+# Can't find required file: ../src/google/protobuf/descriptor.proto
+CLEANBROKEN = "1"
+
+UPSTREAM_CHECK_REGEX = "protobuf/(?P<pver>\d+(\.\d+)+)/"
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-datetime \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.6.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.5.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.6.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
index 5d8e61f..67ae118 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
@@ -2,8 +2,8 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62"
 
-SRC_URI[md5sum] = "3b291833dbea631db9d271aa602a169a"
-SRC_URI[sha256sum] = "e2467e9312c2fa191687b89ff4bc2ad8843be4af6fb4dc95a7cc5f7d7a327b18"
+SRC_URI[md5sum] = "200e073cdd56cc7a9ba9a06088569200"
+SRC_URI[sha256sum] = "686e5a35fe4c0acc25f3466c32e716f2d498aaae7b7edc03e2305b682226bcf6"
 
 PACKAGES =+ "${PN}-tests"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.4.6.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.4.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.4.6.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess.inc
index 43f2d09..49cc5a4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess.inc
@@ -6,8 +6,8 @@
 
 SRCNAME = "ptyprocess"
 
-SRC_URI[md5sum] = "d3b8febae1b8c53b054bd818d0bb8665"
-SRC_URI[sha256sum] = "e64193f0047ad603b71f202332ab5527c5e52aa7c8b609704fc28c0dc20c4365"
+SRC_URI[md5sum] = "37402d69f3b50913d4d483587bffad8f"
+SRC_URI[sha256sum] = "923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0"
 
 UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/ptyprocess"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess_0.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess_0.6.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess_0.5.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-ptyprocess_0.6.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc
index c7d6727..8144523 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc
@@ -3,7 +3,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9"
 
-SRC_URI[md5sum] = "279ca69c632069e1b71e11b14641ca28"
-SRC_URI[sha256sum] = "ca18943e28235417756316bfada6cd96b23ce60dd532642690dcfdaba988a76d"
+SRC_URI[md5sum] = "5ccd0cd5373c55171cf9fd61b9f19a1b"
+SRC_URI[sha256sum] = "06a30435d058473046be836d3fc4f27167fd84c45b99704f2fb5509ef61f9af1"
 
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.6.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-py_1.5.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-py_1.6.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc
index 9fa54cf..87dbd1d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc
@@ -4,10 +4,10 @@
  data structures (X.509, PKCS etc.)."
 HOMEPAGE = "https://github.com/etingof/pyasn1-modules"
 LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=280606d9c18f200e03e0c247ac61475a"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=815ac3f9ca693006349094b358ab3155"
 
-SRC_URI[md5sum] = "ff938698590f314ff9b3d5c48737d899"
-SRC_URI[sha256sum] = "af00ea8f2022b6287dc375b2c70f31ab5af83989fc6fe9eacd4976ce26cd7ccc"
+SRC_URI[md5sum] = "65ce1ea1021679bffe96065baab232de"
+SRC_URI[sha256sum] = "a0cf3e1842e7c60fde97cb22d275eb6f9524f5c5250489e292529de841417547"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.2.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
index f3c32e0..ab34d25 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
@@ -1,10 +1,10 @@
 SUMMARY = "Python library implementing ASN.1 types."
 HOMEPAGE = "http://pyasn1.sourceforge.net/"
 LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=280606d9c18f200e03e0c247ac61475a"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=815ac3f9ca693006349094b358ab3155"
 
-SRC_URI[md5sum] = "cb5883ddc6a9f405600429f37cf0759c"
-SRC_URI[sha256sum] = "d258b0a71994f7770599835249cece1caef3c70def868c4915e6e5ca49b67d15"
+SRC_URI[md5sum] = "0d182b71e1f72fe147d7957bc90be7f2"
+SRC_URI[sha256sum] = "f58f2a3d12fd754aa123e9fa74fb7345333000a035f3921dbdaa08597aa53137"
 
 RDEPENDS_${PN}_class-target += " \
     ${PYTHON_PN}-codecs \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.4.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.4.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
index e441dc6..1722875 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
@@ -3,5 +3,5 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=beb87117af69fd10fbf9fb14c22a2e62"
 
-SRC_URI[md5sum] = "2c651a75a20dabbaa18a8b023ffd54c0"
-SRC_URI[sha256sum] = "cbb036a8aad59a199ad672f98813f85c672642c6a67b4ff3868b1d6abc5fae3e"
+SRC_URI[md5sum] = "5b9611041e4ea66b2b919239e3bacd65"
+SRC_URI[sha256sum] = "87ff3ae777d9326349af5272974581270b2a0909b2392dc0cc57eb28ce23bcc3"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.3.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.2.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle.inc
new file mode 100644
index 0000000..c0e46b7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle.inc
@@ -0,0 +1,12 @@
+SUMMARY = "Python style guide checker (formly called pep8)"
+HOMEPAGE = "https://pypi.org/project/pycodestyle"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=01831ddbaf398471da3cc87f5037e822"
+
+SRC_URI[md5sum] = "85bbebd2c90d2f833c1db467d4d0e9a3"
+SRC_URI[sha256sum] = "cbfca99bd594a10f674d0cd97a3d802a1fdef635d4361e1a2658de47ed261e3a"
+
+inherit pypi
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle_2.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle_2.4.0.bb
new file mode 100644
index 0000000..7c736e7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle_2.4.0.bb
@@ -0,0 +1,4 @@
+inherit setuptools
+require python-pycodestyle.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-lang"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb
index 2444859..a16a880 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb
@@ -12,3 +12,5 @@
     ${PYTHON_PN}-prettytable \
     ${PYTHON_PN}-cmd2 \
     ${PYTHON_PN}-pyparsing"
+
+BBCLASSEXTEND = "native nativesdk"
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
new file mode 100644
index 0000000..09c4394
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-ptrace-Abstract-over-user_regs_struct-name-which-dif.patch
@@ -0,0 +1,69 @@
+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
new file mode 100644
index 0000000..3eefc9c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame-1.6.6/0001-symbol-Account-for-prelinked-shared-objects.patch
@@ -0,0 +1,134 @@
+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
new file mode 100644
index 0000000..340aab7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame.inc
@@ -0,0 +1,15 @@
+SUMMARY = "Pyflame: A Ptracing Profiler For Python"
+HOMEPAGE = "https://github.com/uber/pyflame"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
+DEPENDS = "python"
+
+SRC_URI = "git://github.com/uber/pyflame.git;protocol=https"
+S = "${WORKDIR}/git"
+
+inherit pkgconfig autotools
+
+COMPATIBLE_HOST_libc-musl_class-target = "null"
+COMPATIBLE_HOST_mipsarch_class-target = "null"
+COMPATIBLE_HOST_aarch64_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
new file mode 100644
index 0000000..8dedb89
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflame_1.6.6.bb
@@ -0,0 +1,6 @@
+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-pyiface.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface.inc
index 620b244..2e398fc 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface.inc
@@ -5,7 +5,7 @@
 
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fe869ee987a340198fb0d54c55c47f1"
 
-SRC_URI[md5sum] = "06c3c71fe51df740dae6a88a13afb5e0"
-SRC_URI[sha256sum] = "4bb79100cbcf7344a1ccaddc578cd6455da47d8eac6eb1bf903ec32e043af924"
+SRC_URI[md5sum] = "b066aa984656742738127c9c75436ab4"
+SRC_URI[sha256sum] = "e231e5735d329c5b2d4fc8854f069fdaa5436d3ef91ed64ee49e41e3f5e8a3f5"
 
 inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface_0.0.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyiface_0.0.11.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pyiface_0.0.5.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pyiface_0.0.11.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt.inc
index 9f9282e..00c38e3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt.inc
@@ -6,8 +6,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=68626705a7b513ca8d5f44a3e200ed0c"
 
-SRC_URI[md5sum] = "f7dbe0d62f2087a7605946aeeca02541"
-SRC_URI[sha256sum] = "dacba5786fe3bf1a0ae8673874e29f9ac497860955c501289c63b15d3daae63a"
+SRC_URI[md5sum] = "2731c6b66b67b95d1944f072f5fa35a9"
+SRC_URI[sha256sum] = "4ee413b357d53fd3fb44704577afac88e72e878716116270d722723d65b42176"
 
 PYPI_PACKAGE = "PyJWT"
 inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt_1.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt_1.6.4.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt_1.6.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pyjwt_1.6.4.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc
index 7765cc5..468a801 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc
@@ -3,8 +3,8 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
 
-SRC_URI[md5sum] = "d4fee2abb2d7468010b7fe9ebc68b0cb"
-SRC_URI[sha256sum] = "304fbd8862dfde27d767c093de87fec42fc63c70d8393643d1a3b4f765aae78f"
+SRC_URI[md5sum] = "6d549b36cbfa8c1a3323c5d6e299789e"
+SRC_URI[sha256sum] = "f4ed2000cbe1a314f1f88fd8a8eba4ad05974b351b96f1235c6e532158a39fe0"
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-dateutil \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.89.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.93.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.89.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.93.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
index baf3dd5..b5277f1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
@@ -8,8 +8,8 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[md5sum] = "0d72c87fb93cea0759529befafefce54"
-SRC_URI[sha256sum] = "f7ebcb846962ee40374db2d9014a89bea9c983ae63c1877957c3a0a756974796"
+SRC_URI[md5sum] = "7449c81a6c32c3c8cb9bebebc848fded"
+SRC_URI[sha256sum] = "f14fb6c4058772a0d74d82874d3b89d7264d89b4ed7fa0413ea0ef8112b268b9"
 
 PACKAGES =+ "${PYTHON_PN}-bson"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.7.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.6.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.7.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
index 7722e8e..516e795 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
@@ -5,8 +5,8 @@
 
 DEPENDS += "openssl ${PYTHON_PN}-cryptography"
 
-SRC_URI[md5sum] = "d9c5134db8bf3183573b7840954cac94"
-SRC_URI[sha256sum] = "2c10cfba46a52c0b0950118981d61e72c1e5b1aac451ca1bc77de1a679456773"
+SRC_URI[md5sum] = "c92e9c85b520b7e153fef0f7f3c5dda7"
+SRC_URI[sha256sum] = "6488f1423b00f73b7ad5167885312bb0ce410d3312eb212393795b53c8caa580"
 
 PYPI_PACKAGE = "pyOpenSSL"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_17.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_18.0.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_17.5.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_18.0.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip.inc
index e05de67..4ee47ee 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip.inc
@@ -1,12 +1,14 @@
 DESCRIPTION = "A cross-platform clipboard module for Python. (only handles plain text for now)"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=1ed92115c8f96b19ec34ed09df586e51"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=4a3129a2c1b8bdc0e2895a1ec0e2dae2"
 
-SRC_URI[md5sum] = "d2f6a3129cd6f2518b52bb0b8deeeda7"
-SRC_URI[sha256sum] = "ce829433a9af640e08ee89b20f7c62132714bcc5d77df114044d0fccb8c3b3b8"
+SRC_URI[md5sum] = "3680607974f99d6e4411b102358b1884"
+SRC_URI[sha256sum] = "43496f0a1f363a5ecfc4cda5eba6a2a3d5056fe6c7ffb9a99fbb1c5a3c7dea05"
 
 inherit pypi
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-ctypes \
 "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip_1.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip_1.6.2.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip_1.6.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pyperclip_1.6.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc
index 9ec9866..ed1981e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2.inc
@@ -3,8 +3,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE.GPL.v2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://LICENSE.Apache.v2;md5=34281e312165f843a2b7d1f114fe65ce"
 
-SRC_URI[md5sum] = "9c251543c4282a2f8b1a8d6aa8afc688"
-SRC_URI[sha256sum] = "7afad28ee0a0f3e7c34adaa9f953d00560ed9910203e93f107833b6e8d151171"
+SRC_URI[md5sum] = "2f6f951e94356ae9d224f417dc6ebed2"
+SRC_URI[sha256sum] = "42bf74495d95a0196a74dd171357f660175aba2bfc23f9b5f63e3830ccbef9ac"
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/python-pyroute2:"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.4.21.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.5.2.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.4.21.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pyroute2_0.5.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-helpers-namespace.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-helpers-namespace.inc
new file mode 100644
index 0000000..a69867d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-helpers-namespace.inc
@@ -0,0 +1,10 @@
+DESCRIPTION = "This plugin does not provide any helpers to pytest, it does, however, provide a helpers namespace in pytest which enables you to register helper functions in your conftest.py to be used within your tests without having to import them."
+HOMEPAGE = "https://github.com/saltstack/pytest-helpers-namespace"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=71fac4dfeee99c39c51f617e9486237c"
+
+SRC_URI[md5sum] = "80fe3e515f640b1459709b539f6b857e"
+SRC_URI[sha256sum] = "d8bdb017c0f7271699c08850b6b12e1ce9e52913cbd4461b5febd21082a29113"
+
+inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-helpers-namespace_2016.7.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-helpers-namespace_2016.7.10.bb
new file mode 100644
index 0000000..2b6ee85
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-helpers-namespace_2016.7.10.bb
@@ -0,0 +1,7 @@
+require python-pytest-helpers-namespace.inc
+
+inherit setuptools
+
+RDEPENDS_${PN} += " \
+    python-pytest \
+    "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
index 7546743..3b057b0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
@@ -2,8 +2,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e"
 
-SRC_URI[md5sum] = "8f8363a52bbabc4cedd5e239beb2ba11"
-SRC_URI[sha256sum] = "0f7c3a3cf5aead13f54baaa01ceb49e5ae92aba5d3ff1928e81e189c40bc6703"
+SRC_URI[md5sum] = "4b696b0f35767f0694f183d0a1855300"
+SRC_URI[sha256sum] = "d23f117be39919f00dd91bffeb4f15e031ec797501b717a245e377aee0f577be"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_4.2.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_3.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_4.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-tempdir.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-tempdir.inc
new file mode 100644
index 0000000..196f6d6
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-tempdir.inc
@@ -0,0 +1,10 @@
+DESCRIPTION = "Adds support for a predictable and repeatable temporary directory."
+HOMEPAGE = "https://github.com/saltstack/pytest-tempdir"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=8751a9cf4a70be4f02697a9b89e686ce"
+
+SRC_URI[md5sum] = "f87f2583f5f8aaca7203d57ada3948b5"
+SRC_URI[sha256sum] = "65ff815966ea6dfc07ca1b43747c9888a6d883971170e67b16290f9f50d434ea"
+
+inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-tempdir_2016.8.20.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-tempdir_2016.8.20.bb
new file mode 100644
index 0000000..8a9b83e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-tempdir_2016.8.20.bb
@@ -0,0 +1,7 @@
+require python-pytest-tempdir.inc
+
+inherit setuptools
+
+RDEPENDS_${PN} += " \
+    python-pytest \
+    "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
index 519487f..aedffe1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
@@ -5,8 +5,8 @@
 
 inherit pypi
 
-SRC_URI[md5sum] = "f054437920c895dd14a4509fabafe029"
-SRC_URI[sha256sum] = "c06425302f2cf668f1bba7a0a03f3c1d34d4ebeef2c72003da308b3947c7f749"
+SRC_URI[md5sum] = "45409cbfa3927bdd2f3ee914dd5b1060"
+SRC_URI[sha256sum] = "ffb9ef1de172603304d9d2819af6f5ece76f2e85ec10692a524dd876e72bf277"
 
 RDEPENDS_${PN}_class-target += "\
     ${PYTHON_PN}-datetime \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2018.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2018.5.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2018.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2018.5.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc
index cb906c9..683a75c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev.inc
@@ -15,4 +15,5 @@
     ${PYTHON_PN}-misc \
     ${PYTHON_PN}-six \
     ${PYTHON_PN}-threading \
+    libudev \
 "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
index 3fef0ca..afce543 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
@@ -2,14 +2,14 @@
 HOMEPAGE = "http://www.pyyaml.org"
 SECTION = "devel/python"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5591701d32590f9fa94f3bfee820b634"
 DEPENDS = "libyaml ${PYTHON_PN}-cython-native ${PYTHON_PN}"
 
 PYPI_PACKAGE = "PyYAML"
 inherit pypi
 
-SRC_URI[md5sum] = "4c129761b661d181ebf7ff4eb2d79950"
-SRC_URI[sha256sum] = "592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab"
+SRC_URI[md5sum] = "b78b96636d68ac581c0e2f38158c224f"
+SRC_URI[sha256sum] = "3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf"
 
 RDEPENDS_${PN} += "\
     ${PYTHON_PN}-datetime \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.13.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.13.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq.inc
new file mode 100644
index 0000000..2447c2f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq.inc
@@ -0,0 +1,27 @@
+SUMMARY = "Pyzmq provides Zero message queue access for the Python language"
+HOMEPAGE = "http://zeromq.org/bindings:python"
+LICENSE = "BSD & LGPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING.BSD;md5=11c65680f637c3df7f58bbc8d133e96e \
+                    file://COPYING.LESSER;md5=12c592fa0bcfff3fb0977b066e9cb69e"
+DEPENDS = "zeromq"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-pyzmq:"
+
+SRC_URI += "file://club-rpath-out.patch"
+SRC_URI[md5sum] = "aecdfc328193fbd81f6dc23228319943"
+SRC_URI[sha256sum] = "2199f753a230e26aec5238b0518b036780708a4c887d4944519681a920b9dee4"
+
+inherit pypi pkgconfig
+
+RDEPENDS_${PN} += "${PYTHON_PN}-multiprocessing"
+
+FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/zmq/backend/cython/.debug"
+
+do_compile_prepend() {
+    echo [global] > ${S}/setup.cfg
+    echo zmq_prefix = ${STAGING_DIR_HOST} >> ${S}/setup.cfg
+    echo have_sys_un_h = True >> ${S}/setup.cfg
+    echo skip_check_zmq = True >> ${S}/setup.cfg
+    echo libzmq_extension = False >> ${S}/setup.cfg
+    echo no_libzmq_extension = True >> ${S}/setup.cfg
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq/club-rpath-out.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq/club-rpath-out.patch
index 2dc3b73..936f165 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq/club-rpath-out.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq/club-rpath-out.patch
@@ -1,26 +1,13 @@
 diff --git a/setup.py b/setup.py
-index 62df445..1fdbdeb 100755
+index d243eaa..98099bc 100755
 --- a/setup.py
 +++ b/setup.py
-@@ -213,12 +213,6 @@ def settings_from_prefix(prefix=None, bundle_libzmq_dylib=False):
-                 pass
-                 # unused rpath args for OS X:
-                 # settings['extra_link_args'] = ['-Wl,-rpath','-Wl,$ORIGIN/..']
--            else:
--                settings['runtime_library_dirs'] += ['$ORIGIN/..']
--        elif sys.platform != 'darwin':
--            settings['runtime_library_dirs'] += [
--                os.path.abspath(x) for x in settings['library_dirs']
--            ]
-     
-     return settings
+@@ -192,8 +192,6 @@ def _add_rpath(settings, path):
+     """
+     if sys.platform == 'darwin':
+         settings['extra_link_args'].extend(['-Wl,-rpath','-Wl,%s' % path])
+-    else:
+-        settings['runtime_library_dirs'].append(path)
  
-@@ -592,8 +586,6 @@ class Configure(build_ext):
-                 pass
-                 # unused rpath args for OS X:
-                 # settings['extra_link_args'] = ['-Wl,-rpath','-Wl,$ORIGIN/../zmq']
--            else:
--                settings['runtime_library_dirs'] = [ os.path.abspath(pjoin('.', 'zmq')) ]
-         
-         line()
-         info("Configure: Autodetecting ZMQ settings...")
+ def settings_from_prefix(prefix=None, bundle_libzmq_dylib=False):
+     """load appropriate library/include settings from ZMQ prefix"""
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq_14.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq_14.7.0.bb
deleted file mode 100644
index b5baf82..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq_14.7.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Pyzmq provides Zero message queue access for the Python language"
-HOMEPAGE = "http://zeromq.org/bindings:python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING.BSD;md5=11c65680f637c3df7f58bbc8d133e96e"
-DEPENDS = "zeromq"
-
-SRC_URI = "file://club-rpath-out.patch"
-SRC_URI[md5sum] = "87e3abb33af5794db5ae85c667bbf324"
-SRC_URI[sha256sum] = "77994f80360488e7153e64e5959dc5471531d1648e3a4bff14a714d074a38cc2"
-
-inherit pypi setuptools pkgconfig
-
-RDEPENDS_${PN} += "python-multiprocessing"
-
-FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/zmq/backend/cython/.debug"
-
-do_compile_prepend() {
-    echo [global] > ${S}/setup.cfg
-    echo zmq_prefix = ${STAGING_DIR_HOST} >> ${S}/setup.cfg
-    echo have_sys_un_h = True >> ${S}/setup.cfg
-    echo skip_check_zmq = True >> ${S}/setup.cfg
-    echo libzmq_extension = False >> ${S}/setup.cfg
-    echo no_libzmq_extension = True >> ${S}/setup.cfg
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq_17.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq_17.1.0.bb
new file mode 100644
index 0000000..b690106
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyzmq_17.1.0.bb
@@ -0,0 +1,2 @@
+require python-pyzmq.inc
+inherit 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 5d6dca5..301c2f8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
@@ -1,10 +1,16 @@
 DESCRIPTION = "Python HTTP for Humans."
 HOMEPAGE = "http://python-requests.org"
 LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=979d6a23b143e13ea0e5e3aa81248820"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bfbeafb85a2cee261510d65d5ec19156"
 
-SRC_URI[md5sum] = "081412b2ef79bdc48229891af13f4d82"
-SRC_URI[sha256sum] = "9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e"
+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"
 
 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
new file mode 100644
index 0000000..80ef5ff
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0001-Strip-Authorization-header-whenever-root-URL-changes.patch
@@ -0,0 +1,62 @@
+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
new file mode 100644
index 0000000..ef069fb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-requests/0002-Rework-authorization-stripping-logic-as-discussed.patch
@@ -0,0 +1,118 @@
+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.18.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.19.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.18.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.19.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary.inc
new file mode 100644
index 0000000..9f07b65
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary.inc
@@ -0,0 +1,15 @@
+SUMMARY = "Robot Framework test library for serial connection"
+HOMEPAGE = "https://github.com/whosaysni/robotframework-seriallibrary"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+SRC_URI[md5sum] = "b7c9565d54c30df7cd3f3c0e29adffa3"
+SRC_URI[sha256sum] = "256ad60fc0b7df4be44d82c302f5ed8fad4935cda99e4b45942e3c88179d1e19"
+
+SRC_URI = "https://files.pythonhosted.org/packages/ce/e1/1e337dc84a20b9d92d7b243d16bb9f6fc0084967eca7454228bb546efec7/robotframework-seriallibrary-0.3.1.tar.gz"
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-pyserial \
+    ${PYTHON_PN}-robotframework \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary_0.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary_0.3.1.bb
new file mode 100644
index 0000000..440f69c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary_0.3.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-robotframework-seriallibrary.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework.inc
index 78bbbc6..e920c51 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework.inc
@@ -11,8 +11,8 @@
 
 inherit pypi
 
-SRC_URI[md5sum] = "ea49a54b9d7e38302712194e85c37eaa"
-SRC_URI[sha256sum] = "2018f233568227f9af8c366f93e243a157b742f3baf5b649ecc9750ac0ee1ff7"
+SRC_URI[md5sum] = "ee753415645ff4831ff0d366a0467fe7"
+SRC_URI[sha256sum] = "ab94257cbd848dfca7148e092d233a12853cc7e840ce8231af9cbb5e7f51aa47"
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-shell \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework_3.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework_3.0.4.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-robotframework_3.0.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-robotframework_3.0.4.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-semver.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-semver.inc
new file mode 100644
index 0000000..3c95c06
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-semver.inc
@@ -0,0 +1,12 @@
+DESCRIPTION = "Python module for Semantic Versioning"
+HOMEPAGE = "https://github.com/k-bx/python-semver"
+BUGTRACKER = "https://github.com/k-bx/python-semver/issues"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709"
+
+SRC_URI[md5sum] = "dc579ba9d0bb2137bad5324d4bdb7e40"
+SRC_URI[sha256sum] = "5b09010a66d9a3837211bb7ae5a20d10ba88f8cb49e92cb139a69ef90d5060d8"
+
+inherit pypi
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-semver_2.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-semver_2.8.1.bb
new file mode 100644
index 0000000..0572feb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-semver_2.8.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-semver.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
index 3f51bc2..2ba6570 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
@@ -1,9 +1,9 @@
 SUMMARY = "Serialization based on ast.literal_eval"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=acdea68f0e5a89eb6cbfdf54e38c356e"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=5a8193ba89f1083617f32d522f6485e9"
 
-SRC_URI[md5sum] = "d0c50f1943ff86d830eb3fe40f6dc1e3"
-SRC_URI[sha256sum] = "b6855483d95a03b6aee358363684cd38a3a670240da5bc6da4253079cb07b8df"
+SRC_URI[md5sum] = "0f9684622125a527fa4fbe2587738973"
+SRC_URI[sha256sum] = "264a028e059c1b557701ae7c567cdab330dbd228ff924489343efcb39bd828a0"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.24.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.25.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.24.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.25.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
index eb66580..98883ec 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
@@ -2,8 +2,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
 
-SRC_URI[md5sum] = "1b55f9cedde4a33ab5d286c5f30e86db"
-SRC_URI[sha256sum] = "e163e8a12d2121f77575773cfc2b5988275dc1f1d2541fdf780127c29dbbea9c"
+SRC_URI[md5sum] = "cfec5d2dbbd0a85c40066f79035b5878"
+SRC_URI[sha256sum] = "a767141fecdab1c0b3c8e4c788ac912d7c94a0d6c452d40777ba84f918316379"
 
 PYPI_PACKAGE = "setuptools_scm"
 inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_2.1.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_2.1.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-sh.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-sh.inc
new file mode 100644
index 0000000..f2fd562
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-sh.inc
@@ -0,0 +1,32 @@
+SUMMARY = "Python subprocess replacement"
+HOMEPAGE = "https://github.com/amoffat/sh"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5317094292296f03405f59ae5f6544b6"
+
+SRC_URI[md5sum] = "a8351aef25d25f707c17e0a7a6280251"
+SRC_URI[sha256sum] = "b52bf5833ed01c7b5c5fb73a7f71b3d98d48e9b9b8764236237bdc7ecae850fc"
+
+PYPI_PACKAGE = "sh"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-codecs \
+    ${PYTHON_PN}-core \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-resource \
+    ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-terminal \
+    ${PYTHON_PN}-tests \
+    ${PYTHON_PN}-threading \
+    ${PYTHON_PN}-unixadmin \
+"
+
+# WARNING: We were unable to map the following python package/module
+# dependencies to the bitbake packages which include them:
+#    coverage - only used in test and there is a check to see if it is
+#               available before importing.
+#    queue - part of threading
+#    signal - part of core in python3. not sure how it is imported in python2.
+#             No complants in compiling.
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-sh_1.12.14.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-sh_1.12.14.bb
new file mode 100644
index 0000000..7cb5140
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-sh_1.12.14.bb
@@ -0,0 +1,8 @@
+require python-sh.inc
+inherit setuptools
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-contextlib \
+    ${PYTHON_PN}-lang \
+    ${PYTHON_PN}-textutils \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-sijax.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-sijax.inc
new file mode 100644
index 0000000..9e46893
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-sijax.inc
@@ -0,0 +1,8 @@
+DESCRIPTION = "An easy to use AJAX library for Python based on jQuery.ajax"
+HOMEPAGE = "https://github.com/spantaleev/sijax-python"
+LICENSE = "BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=16e213d75641a392478df50cf0841903"
+
+PYPI_PACKAGE = "Sijax"
+inherit pypi
\ No newline at end of file
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-sijax_0.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-sijax_0.3.2.bb
new file mode 100644
index 0000000..4226c42
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-sijax_0.3.2.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "An easy to use AJAX library for Python based on jQuery.ajax"
+HOMEPAGE = "https://github.com/spantaleev/sijax-python"
+LICENSE = "BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=16e213d75641a392478df50cf0841903"
+
+PYPI_PACKAGE = "Sijax"
+inherit setuptools
+require python-sijax.inc
+
+SRC_URI[sha256sum] = "11b062f4a8b2aad95c87e7c09e5daf5a6b0d0f08abf9efe5f91a0075c6be7c0d"
\ No newline at end of file
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc
index e28d518..3d36f96 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc
@@ -4,8 +4,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c6338d7abd321c0b50a2a547e441c52e"
 
-SRC_URI[md5sum] = "870bf6257465ce2ee8cad14e2394f7eb"
-SRC_URI[sha256sum] = "4c4ecf20e054716cc1e5a81cadc44d3f4027108d8dd0861d8b1e3bd7a32d4f0a"
+SRC_URI[md5sum] = "744fa99aed207478f8fbf9dd9f04fad3"
+SRC_URI[sha256sum] = "b1f329139ba647a9548aa05fb95d046b4a677643070dc2afc05fa2e975d09ca5"
 
 inherit pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.13.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.16.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.13.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.16.0.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_0.6.1.bb
index 8081416..dc587e7 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_0.6.1.bb
@@ -25,3 +25,7 @@
 do_compile_prepend() {
     sed -e 's/@VERSION@/${PV}/g' setup.py.in > setup.py
 }
+
+# http://errors.yoctoproject.org/Errors/Details/184713/
+# python-native/python: can't open file 'setup.py': [Errno 2] No such file or directory
+CLEANBROKEN = "1"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore.inc
new file mode 100644
index 0000000..14ebc0e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore.inc
@@ -0,0 +1,15 @@
+DESCRIPTION = "Manage dynamic plugins for Python applications"
+HOMEPAGE = "https://github.com/dreamhost/stevedore"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[md5sum] = "525186cba577852e0408c92c3f8fac65"
+SRC_URI[sha256sum] = "1e153545aca7a6a49d8337acca4f41c212fbfa60bf864ecd056df0cafb9627e8"
+
+inherit pypi
+
+DEPENDS += "${PYTHON_PN}-pbr-native"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-pbr ${PYTHON_PN}-six"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore_1.29.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore_1.29.0.bb
new file mode 100644
index 0000000..70a00c1
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore_1.29.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-stevedore.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
index 29d10da..16899f8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
@@ -4,10 +4,10 @@
 polling, WebSockets, and other applications that require a long-lived connection to each user."
 HOMEPAGE = "http://www.tornadoweb.org/en/stable/"
 LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://setup.py;beginline=3;endline=15;md5=8d463fc66ff8f275354ffe88d1896e12"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRC_URI[md5sum] = "a5fc7fd4aea94867609a491ce65786f1"
-SRC_URI[sha256sum] = "6d14e47eab0e15799cf3cdcc86b0b98279da68522caace2bd7ce644287685f0a"
+SRC_URI[md5sum] = "bd264851c409f926d1dae1ad5055d28d"
+SRC_URI[sha256sum] = "4f66a2172cb947387193ca4c2c3e19131f1c70fa8be470ddbbd9317fd0801582"
 
 RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-numbers ${PYTHON_PN}-email \
                    ${PYTHON_PN}-pkgutil ${PYTHON_PN}-html ${PYTHON_PN}-json ${PYTHON_PN}-certifi ${PYTHON_PN}-threading \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_5.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.5.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-tornado_5.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-traceback2_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-traceback2_1.4.0.bb
new file mode 100644
index 0000000..696c875
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-traceback2_1.4.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A backport of traceback to older supported Pythons"
+HOMEPAGE = "https://github.com/testing-cabal/traceback2"
+LICENSE = "Python-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=31;endline=31;md5=368ddc8588431c180ae7c33f4fb57519"
+
+DEPENDS = "${PYTHON_PN}-pbr-native"
+
+SRC_URI[md5sum] = "9e9723f4d70bfc6308fa992dd193c400"
+SRC_URI[sha256sum] = "05acc67a09980c2ecfedd3423f7ae0104839eccb55fc645773e1caa0951c3030"
+
+inherit pypi setuptools
+
+CLEANBROKEN = "1"
+
+RDEPENDS_${PN} = "${PYTHON_PN}-linecache2"
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 6480ad5..01616b1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
@@ -5,10 +5,10 @@
 
 #twisted/topfiles/NEWS:655: - Relicensed: Now under the MIT license, rather than LGPL.
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8a9c2fbfcba7d70504e3ba545e1820ed"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=04e7730aecedc79d805625a91bc06145"
 
-SRC_URI[md5sum] = "6dbedb918f0c7288a4c670f59393ecf8"
-SRC_URI[sha256sum] = "0da1a7e35d5fcae37bc9c7978970b5feb3bc82822155b8654ec63925c05af75c"
+SRC_URI[sha256sum] = "a4cc164a781859c74de47f17f0e85f4bce8a3321a9d0892c015c8f80c4158ad9"
+SRC_URI[md5sum] = "da8142ad4e9971a75fe751ac96a33b95"
 
 PYPI_PACKAGE = "Twisted"
 PYPI_PACKAGE_EXT = "tar.bz2"
@@ -49,9 +49,12 @@
     ${PN}-conch \
     ${PN}-mail \
     ${PN}-names \
+    ${PN}-pair \
+    ${PN}-protocols \
     ${PN}-runner \
     ${PN}-web \
     ${PN}-words \
+    ${PN}-zsh \
 "
 
 RDEPENDS_${PN}-core = "${PYTHON_PN}-core ${PYTHON_PN}-zopeinterface ${PYTHON_PN}-incremental ${PYTHON_PN}-constantly ${PYTHON_PN}-hyperlink ${PYTHON_PN}-automat"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_17.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_18.4.0.bb
similarity index 70%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-twisted_17.9.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-twisted_18.4.0.bb
index 2be1709..5903db3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_17.9.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_18.4.0.bb
@@ -2,3 +2,7 @@
 require python-twisted.inc
 
 RDEPENDS_${PN}-core += "${PYTHON_PN}-contextlib"
+
+RDEPENDS_${PN} += " \
+    ${PN}-news \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc
index cf79926..288ed8b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc
@@ -3,8 +3,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ea114851ad9a8c311aac8728a681a067"
 
-SRC_URI[md5sum] = "0da7bed3fe94bf7dc59ae37885cc72f7"
-SRC_URI[sha256sum] = "cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"
+SRC_URI[md5sum] = "1ad43e4b5ab7a0794c89dc057e1d7179"
+SRC_URI[sha256sum] = "a68ac5e15e76e7e5dd2b8f94007233e01effe3e50e8daddf69acfd81cb686baf"
 
 RDEPENDS_${PN} += "\
     ${PYTHON_PN}-certifi \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.22.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.23.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.22.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.23.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.6.1.bb
similarity index 70%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.5.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.6.1.bb
index d2f343e..d31f2f5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.6.1.bb
@@ -4,8 +4,8 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRC_URI[md5sum] = "aa629d6ae95db5edfd5b2402eb1073cb"
-SRC_URI[sha256sum] = "0f56cae196303d875682b9648b4bb43ffc769d2f0f800958e0a506af867b1243"
+SRC_URI[md5sum] = "06357e96a84d55de2a71b36d39f6853e"
+SRC_URI[sha256sum] = "96512aec74b90abb71f6b53898dd7fe47300cc940104c4f79148f0671f790101"
 
 inherit pypi setuptools
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc
index 916697f..868686b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms.inc
@@ -2,13 +2,12 @@
 HOMEPAGE = "https://pypi.python.org/pypi/WTForms"
 SECTION = "devel/python"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=c459accc90c6ed6a94878c8fe0535be2"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=c4660c132770d5d0a5757541f6b79493"
 
-SRC_URI[md5sum] = "6938a541fafd1a1ae2f6b9b88588eef2"
-SRC_URI[sha256sum] = "ffdf10bd1fa565b8233380cb77a304cd36fd55c73023e91d4b803c96bc11d46f"
+SRC_URI[md5sum] = "41c0008dbe7bd98892c58f7457a46a4a"
+SRC_URI[sha256sum] = "0cdbac3e7f6878086c334aa25dc5a33869a3954e9d1e015130d65a69309b3b61"
 
 PYPI_PACKAGE = "WTForms"
-PYPI_PACKAGE_EXT = "zip"
 
 RDEPENDS_${PN} += "\
     ${PYTHON_PN}-netserver \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.2.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-wtforms_2.2.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc
index 1fab2cc..12623c9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface.inc
@@ -2,8 +2,8 @@
 LICENSE = "ZPL-2.1"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46"
 
-SRC_URI[md5sum] = "8700a4f527c1203b34b10c2b4e7a6912"
-SRC_URI[sha256sum] = "d6d26d5dfbfd60c65152938fcb82f949e8dada37c041f72916fef6621ba5c5ce"
+SRC_URI[md5sum] = "7b669cd692d817772c61d2e3ad0f1e71"
+SRC_URI[sha256sum] = "57c38470d9f57e37afb460c399eb254e7193ac7fb8042bd09bdc001981a9c74c"
 
 PYPI_PACKAGE = "zope.interface"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.5.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.4.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.5.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_0.9.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.0.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_0.9.8.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.0.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.6.5.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.6.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_1.6.5.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_17.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_18.1.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_17.4.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-attrs_18.1.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.7.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.6.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-automat_0.7.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.4.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.3.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.4.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.6.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.5.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.6.0.bb
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
new file mode 100644
index 0000000..84f4761
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.4.0.bb
@@ -0,0 +1,12 @@
+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-behave_1.2.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb
new file mode 100644
index 0000000..1c55871
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-behave.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_0.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_0.8.3.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_0.8.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_0.8.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.2.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.1.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-can_2.2.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.13.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.14.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.13.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.14.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2018.1.18.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2018.8.13.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2018.1.18.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2018.8.13.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.4.bb
index 038043c..38d8122 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.4.bb
@@ -1,2 +1,7 @@
 inherit setuptools3
 require python-chardet.inc
+
+do_install_append () {
+    # rename scripts that would conflict with the Python 2 build of chardet
+    mv ${D}${bindir}/chardetect ${D}${bindir}/chardetect3
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-crcmod_1.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-crcmod_1.7.bb
new file mode 100644
index 0000000..6996b13
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-crcmod_1.7.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-crcmod.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.3.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.1.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_2.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.3.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.1.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_2.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.28.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.28.5.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.28.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.28.5.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.7.3.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.7.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.7.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.14.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.10.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-django_1.11.14.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-djangorestframework_3.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-djangorestframework_3.9.0.bb
new file mode 100644
index 0000000..9ed6d17
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-djangorestframework_3.9.0.bb
@@ -0,0 +1,2 @@
+require python-djangorestframework.inc
+inherit setuptools3
\ No newline at end of file
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.2.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.1.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.2.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sijax_0.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sijax_0.4.1.bb
new file mode 100644
index 0000000..e9a65c4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-sijax_0.4.1.bb
@@ -0,0 +1,4 @@
+inherit pypi setuptools3
+require python-flask-sijax.inc
+
+SRC_URI[sha256sum] = "fb2bf2d4f75408185102195055d75549fee8d9c9e954dca2427186925cdc429f"
\ No newline at end of file
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.12.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.0.2.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.12.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.0.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-future_0.16.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-future_0.16.0.bb
new file mode 100644
index 0000000..f059186
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-future_0.16.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-future.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.14.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.13.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_0.4.14.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.14.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.14.1.bb
new file mode 100644
index 0000000..2da1a4d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.14.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-grpcio-tools.inc
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.14.1.bb
new file mode 100644
index 0000000..d4720b4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.14.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-grpcio.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-hyperlink_17.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-hyperlink_18.0.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-hyperlink_17.3.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-hyperlink_18.0.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.7.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.7.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.3.1.bb
new file mode 100644
index 0000000..cc36a02
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-inflection_0.3.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-inflection.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals_1.5.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals_1.5.4.bb
new file mode 100644
index 0000000..8cbe109
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-intervals_1.5.4.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-intervals.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.38.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.38.bb
index 0ca58c7..eb42fe9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.38.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.38.bb
@@ -16,8 +16,8 @@
 
 inherit setuptools3 python3native
 
-DISTUTILS_INSTALL_ARGS = "--prefix=${D}/${prefix} \
-    --install-data=${D}/${datadir}/langtable"
+DISTUTILS_INSTALL_ARGS += " \
+    --install-data=${datadir}/langtable"
 
 FILES_${PN} += "${datadir}/*"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.4.bb
similarity index 70%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.4.bb
index ff4bc7f..b95d7ba 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.2.4.bb
@@ -1,2 +1,3 @@
 inherit setuptools3
 require python-lxml.inc
+CLEANBROKEN = "1"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.30.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.30.1.bb
new file mode 100644
index 0000000..4d63d4b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.30.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-m2crypto.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.4.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.4.4.bb
deleted file mode 100644
index 3f07b2e..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.4.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-ndg-httpsclient.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb
new file mode 100644
index 0000000..65a8c81
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb
@@ -0,0 +1,6 @@
+inherit pypi setuptools3 update-alternatives
+require python-ndg-httpsclient.inc
+
+ALTERNATIVE_${PN} = "ndg_httpclient"
+ALTERNATIVE_LINK_NAME[ndg_httpclient] = "${bindir}/ndg_httpclient"
+ALTERNATIVE_PRIORITY = "30"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb
deleted file mode 100644
index be6d4e1..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_2.0.2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "A MutableSet that remembers its order, so that every entry has an index."
-HOMEPAGE = "http://github.com/LuminosoInsight/ordered-set"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://MIT-LICENSE;md5=0feb0c85b722f488b87844fb5f81d2dc"
-
-SRC_URI[md5sum] = "7b8d73dc64fd3c783ecb48e050bfcc0d"
-SRC_URI[sha256sum] = "942cad5d7d5b0760d5cbe93dfb385ac2ed402ca1d48c9f4e102d7d5cce3a90eb"
-
-inherit pypi setuptools3
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_3.0.1.bb
new file mode 100644
index 0000000..662d3ee
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ordered-set_3.0.1.bb
@@ -0,0 +1,11 @@
+SUMMARY = "A MutableSet that remembers its order, so that every entry has an index."
+HOMEPAGE = "http://github.com/LuminosoInsight/ordered-set"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://MIT-LICENSE;md5=2b36be0d99854aa2ae292a800a7c1d4e"
+
+SRC_URI[md5sum] = "a8059c7b99cde0f8dda01ddee6b43c2c"
+SRC_URI[sha256sum] = "3d6fd7bffbb15f613a9e8a6281bf97c2d67f7bb8677deca8249df2fbdd9cce7b"
+
+inherit pypi setuptools3
+
+DEPENDS += "python3-pytest-runner-native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.22.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.23.4.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.22.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_0.23.4.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type_0.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type_0.4.2.bb
new file mode 100644
index 0000000..91d9ce2
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse-type_0.4.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-parse-type.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.8.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.8.4.bb
new file mode 100644
index 0000000..b124254
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-parse_1.8.4.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-parse.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-periphery_1.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-periphery_1.1.1.bb
new file mode 100644
index 0000000..ba9a95d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-periphery_1.1.1.bb
@@ -0,0 +1,4 @@
+inherit pypi setuptools3
+require python-periphery.inc
+
+SRC_URI[sha256sum] = "fe8f351934edce72cd919b4eb070878ebff551db5e21aea61e0f446101f0a79f"
\ No newline at end of file
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.6.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.5.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pexpect_4.6.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.8.1.bb
new file mode 100644
index 0000000..f793ac4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.8.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pint.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prctl_1.7.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-prctl_1.7.bb
index 5de83ce..54620a0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-prctl_1.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-prctl_1.7.bb
@@ -5,13 +5,13 @@
 interface."
 SECTION = "devel/python"
 LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5eb2f4bcd60326f83e5deb542372d52f"
+LIC_FILES_CHKSUM = "file://COPYING;md5=23ff9f50449d4bd0e513df16e4d9755f"
 
 S = "${WORKDIR}/git"
 B = "${S}"
 
-SRCREV = "1107d0be7bec4b28c85c62c454882d16844c930a"
-PV = "1.6.1+git${SRCPV}"
+SRCREV = "57cd0a7cad76e8f8792eea22ee5b5d17bae0a90f"
+PV = "1.7+git${SRCPV}"
 
 SRC_URI = "git://github.com/seveas/python-prctl;branch=master \
            file://0001-support-cross-complication.patch \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.4.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-progress_1.4.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.15.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_2.0.4.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.15.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_2.0.4.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.5.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.6.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.4.6.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.4.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.4.6.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess_0.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess_0.6.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess_0.5.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-ptyprocess_0.6.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.6.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.5.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.6.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.2.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.4.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.4.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.2.3.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.2.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.2.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.4.0.bb
new file mode 100644
index 0000000..cedcdb3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.4.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pycodestyle.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus/0001-Support-asynchronous-calls-58.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus/0001-Support-asynchronous-calls-58.patch
new file mode 100644
index 0000000..c5cb9a8
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus/0001-Support-asynchronous-calls-58.patch
@@ -0,0 +1,93 @@
+From 39a7d79ee6c548902fbac8b95c934af7e4c69260 Mon Sep 17 00:00:00 2001
+From: Vendula Poncova <vponcova@redhat.com>
+Date: Thu, 2 Aug 2018 15:30:45 +0800
+Subject: [PATCH 1/2] Support asynchronous calls (#58)
+
+Added support for asynchronous calls of methods. A method is called
+synchronously unless its callback parameter is specified. A callback
+is a function f(*args, returned=None, error=None), where args is
+callback_args specified in the method call, returned is a return
+value of the method and error is an exception raised by the method.
+
+Example of an asynchronous call:
+
+def func(x, y, returned=None, error=None):
+  pass
+
+proxy.Method(a, b, callback=func, callback_args=(x, y))
+
+Upstream-Status: Cherry-pick [https://src.fedoraproject.org/cgit/rpms/python-pydbus.git/]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ pydbus/proxy_method.py | 44 ++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 38 insertions(+), 6 deletions(-)
+
+diff --git a/pydbus/proxy_method.py b/pydbus/proxy_method.py
+index 8798edd..4ea4304 100644
+--- a/pydbus/proxy_method.py
++++ b/pydbus/proxy_method.py
+@@ -65,15 +65,34 @@ class ProxyMethod(object):
+ 
+ 		# Python 2 sux
+ 		for kwarg in kwargs:
+-			if kwarg not in ("timeout",):
++			if kwarg not in ("timeout", "callback", "callback_args"):
+ 				raise TypeError(self.__qualname__ + " got an unexpected keyword argument '{}'".format(kwarg))
+ 		timeout = kwargs.get("timeout", None)
++		callback = kwargs.get("callback", None)
++		callback_args = kwargs.get("callback_args", tuple())
++
++		call_args = (
++			instance._bus_name,
++			instance._path,
++			self._iface_name,
++			self.__name__,
++			GLib.Variant(self._sinargs, args),
++			GLib.VariantType.new(self._soutargs),
++			0,
++			timeout_to_glib(timeout),
++			None
++		)
++
++		if callback:
++			call_args += (self._finish_async_call, (callback, callback_args))
++			instance._bus.con.call(*call_args)
++			return None
++		else:
++			ret = instance._bus.con.call_sync(*call_args)
++			return self._unpack_return(ret)
+ 
+-		ret = instance._bus.con.call_sync(
+-			instance._bus_name, instance._path,
+-			self._iface_name, self.__name__, GLib.Variant(self._sinargs, args), GLib.VariantType.new(self._soutargs),
+-			0, timeout_to_glib(timeout), None).unpack()
+-
++	def _unpack_return(self, values):
++		ret = values.unpack()
+ 		if len(self._outargs) == 0:
+ 			return None
+ 		elif len(self._outargs) == 1:
+@@ -81,6 +100,19 @@ class ProxyMethod(object):
+ 		else:
+ 			return ret
+ 
++	def _finish_async_call(self, source, result, user_data):
++		error = None
++		return_args = None
++
++		try:
++			ret = source.call_finish(result)
++			return_args = self._unpack_return(ret)
++		except Exception as err:
++			error = err
++
++		callback, callback_args = user_data
++		callback(*callback_args, returned=return_args, error=error)
++
+ 	def __get__(self, instance, owner):
+ 		if instance is None:
+ 			return self
+-- 
+2.7.4
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-transformation-between-D-Bus-errors-and-exce.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-transformation-between-D-Bus-errors-and-exce.patch
new file mode 100644
index 0000000..f5c0390
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-transformation-between-D-Bus-errors-and-exce.patch
@@ -0,0 +1,203 @@
+From 69968dec867053e38de0b91d76ac41d5a5735e36 Mon Sep 17 00:00:00 2001
+From: Vendula Poncova <vponcova@redhat.com>
+Date: Thu, 2 Aug 2018 15:31:56 +0800
+Subject: [PATCH 2/2] Support transformation between D-Bus errors and
+ exceptions.
+
+Exceptions can be registered with decorators, raised in a remote
+method and recreated after return from the remote call.
+
+Upstream-Status: Cherry-pick [https://src.fedoraproject.org/cgit/rpms/python-pydbus.git/]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ pydbus/error.py        | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ pydbus/proxy_method.py | 18 ++++++++--
+ pydbus/registration.py | 16 ++++++---
+ 3 files changed, 123 insertions(+), 8 deletions(-)
+ create mode 100644 pydbus/error.py
+
+diff --git a/pydbus/error.py b/pydbus/error.py
+new file mode 100644
+index 0000000..aaa3510
+--- /dev/null
++++ b/pydbus/error.py
+@@ -0,0 +1,97 @@
++from gi.repository import GLib, Gio
++
++
++def register_error(name, domain, code):
++	"""Register and map decorated exception class to a DBus error."""
++	def decorated(cls):
++		error_registration.register_error(cls, name, domain, code)
++		return cls
++
++	return decorated
++
++
++def map_error(error_name):
++	"""Map decorated exception class to a DBus error."""
++	def decorated(cls):
++		error_registration.map_error(cls, error_name)
++		return cls
++
++	return decorated
++
++
++def map_by_default(cls):
++	"""Map decorated exception class to all unknown DBus errors."""
++	error_registration.map_by_default(cls)
++	return cls
++
++
++class ErrorRegistration(object):
++	"""Class for mapping exceptions to DBus errors."""
++
++	_default = None
++	_map = dict()
++	_reversed_map = dict()
++
++	def map_by_default(self, exception_cls):
++		"""Set the exception class as a default."""
++		self._default = exception_cls
++
++	def map_error(self, exception_cls, name):
++		"""Map the exception class to a DBus name."""
++		self._map[name] = exception_cls
++		self._reversed_map[exception_cls] = name
++
++	def register_error(self, exception_cls, name, domain, code):
++		"""Map and register the exception class to a DBus name."""
++		self.map_error(exception_cls, name)
++		return Gio.DBusError.register_error(domain, code, name)
++
++	def is_registered_exception(self, obj):
++		"""Is the exception registered?"""
++		return obj.__class__ in self._reversed_map
++
++	def get_dbus_name(self, obj):
++		"""Get the DBus name of the exception."""
++		return self._reversed_map.get(obj.__class__)
++
++	def get_exception_class(self, name):
++		"""Get the exception class mapped to the DBus name."""
++		return self._map.get(name, self._default)
++
++	def transform_message(self, name, message):
++		"""Transform the message of the exception."""
++		prefix = "{}:{}: ".format("GDBus.Error", name)
++
++		if message.startswith(prefix):
++			return message[len(prefix):]
++
++		return message
++
++	def transform_exception(self, e):
++		"""Transform the remote error to the exception."""
++		if not isinstance(e, GLib.Error):
++			return e
++
++		if not Gio.DBusError.is_remote_error(e):
++			return e
++
++		# Get DBus name of the error.
++		name = Gio.DBusError.get_remote_error(e)
++		# Get the exception class.
++		exception_cls = self.get_exception_class(name)
++
++		# Return the original exception.
++		if not exception_cls:
++			return e
++
++		# Return new exception.
++		message = self.transform_message(name, e.message)
++		exception = exception_cls(message)
++		exception.dbus_name = name
++		exception.dbus_domain = e.domain
++		exception.dbus_code = e.code
++		return exception
++
++
++# Default error registration.
++error_registration = ErrorRegistration()
+diff --git a/pydbus/proxy_method.py b/pydbus/proxy_method.py
+index 4ea4304..e9496f5 100644
+--- a/pydbus/proxy_method.py
++++ b/pydbus/proxy_method.py
+@@ -2,6 +2,7 @@ from gi.repository import GLib
+ from .generic import bound_method
+ from .identifier import filter_identifier
+ from .timeout import timeout_to_glib
++from .error import error_registration
+ 
+ try:
+ 	from inspect import Signature, Parameter
+@@ -87,9 +88,20 @@ class ProxyMethod(object):
+ 			call_args += (self._finish_async_call, (callback, callback_args))
+ 			instance._bus.con.call(*call_args)
+ 			return None
++
+ 		else:
+-			ret = instance._bus.con.call_sync(*call_args)
+-			return self._unpack_return(ret)
++			result = None
++			error = None
++
++			try:
++				result = instance._bus.con.call_sync(*call_args)
++			except Exception as e:
++				error = error_registration.transform_exception(e)
++
++			if error:
++				raise error
++
++			return self._unpack_return(result)
+ 
+ 	def _unpack_return(self, values):
+ 		ret = values.unpack()
+@@ -108,7 +120,7 @@ class ProxyMethod(object):
+ 			ret = source.call_finish(result)
+ 			return_args = self._unpack_return(ret)
+ 		except Exception as err:
+-			error = err
++			error = error_registration.transform_exception(err)
+ 
+ 		callback, callback_args = user_data
+ 		callback(*callback_args, returned=return_args, error=error)
+diff --git a/pydbus/registration.py b/pydbus/registration.py
+index f531539..1d2cbcb 100644
+--- a/pydbus/registration.py
++++ b/pydbus/registration.py
+@@ -5,6 +5,7 @@ from . import generic
+ from .exitable import ExitableWithAliases
+ from functools import partial
+ from .method_call_context import MethodCallContext
++from .error import error_registration
+ import logging
+ 
+ try:
+@@ -91,11 +92,16 @@ class ObjectWrapper(ExitableWithAliases("unwrap")):
+ 			logger = logging.getLogger(__name__)
+ 			logger.exception("Exception while handling %s.%s()", interface_name, method_name)
+ 
+-			#TODO Think of a better way to translate Python exception types to DBus error types.
+-			e_type = type(e).__name__
+-			if not "." in e_type:
+-				e_type = "unknown." + e_type
+-			invocation.return_dbus_error(e_type, str(e))
++			if error_registration.is_registered_exception(e):
++				name = error_registration.get_dbus_name(e)
++				invocation.return_dbus_error(name, str(e))
++			else:
++				logger.info("name is not registered")
++				e_type = type(e).__name__
++				if not "." in e_type:
++					e_type = "unknown." + e_type
++
++				invocation.return_dbus_error(e_type, str(e))
+ 
+ 	def Get(self, interface_name, property_name):
+ 		type = self.readable_properties[interface_name + "." + property_name]
+-- 
+2.7.4
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
index 7ed1c63..adaa86d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
@@ -1,2 +1,6 @@
 require python-pydbus.inc
 inherit pypi setuptools3
+
+SRC_URI += "file://0001-Support-asynchronous-calls-58.patch \
+            file://0002-Support-transformation-between-D-Bus-errors-and-exce.patch \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyiface_0.0.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyiface_0.0.11.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyiface_0.0.5.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyiface_0.0.11.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.6.4.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.6.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_1.6.4.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.89.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.93.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.89.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.93.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.7.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.6.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.7.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_17.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_18.0.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_17.5.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_18.0.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.6.2.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.6.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyperclip_1.6.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.4.21.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.2.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.4.21.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2016.7.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2016.7.10.bb
new file mode 100644
index 0000000..f03f5d4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2016.7.10.bb
@@ -0,0 +1,7 @@
+require python-pytest-helpers-namespace.inc
+
+inherit setuptools3
+
+RDEPENDS_${PN} += " \
+    python3-pytest \
+    "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_4.2.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_3.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_4.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-tempdir_2016.8.20.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-tempdir_2016.8.20.bb
new file mode 100644
index 0000000..02e8215
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-tempdir_2016.8.20.bb
@@ -0,0 +1,7 @@
+require python-pytest-tempdir.inc
+
+inherit setuptools3
+
+RDEPENDS_${PN} += " \
+    python3-pytest \
+    "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2018.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2018.5.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2018.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2018.5.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.13.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.12.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.13.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_17.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_17.1.0.bb
new file mode 100644
index 0000000..050f53a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_17.1.0.bb
@@ -0,0 +1,2 @@
+require python-pyzmq.inc
+inherit setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file_1.4.3.bb
similarity index 65%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file_1.4.3.bb
index 8652876..0407779 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file_1.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-file_1.4.3.bb
@@ -3,8 +3,8 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=9cc728d6087e43796227b0a31422de6b"
 
-SRC_URI[md5sum] = "a907efb75faf0ccbb1857432bf9d8c0f"
-SRC_URI[sha256sum] = "f518e7cfe048e053fd1019dfb891b4c55b871c56c5a31693d733240c80b8f191"
+SRC_URI[md5sum] = "470711c9b7e0de1057f7b72a58b7ab51"
+SRC_URI[sha256sum] = "8f04aa6201bacda0567e7ac7f677f1499b0fc76b22140c54bc06edf1ba92e2fa"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.18.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.19.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.18.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.19.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.3.1.bb
new file mode 100644
index 0000000..440f69c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.3.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-robotframework-seriallibrary.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.0.4.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.0.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_3.0.4.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-scapy_0.23.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-scapy_0.23.bb
deleted file mode 100644
index 3e7baf4..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-scapy_0.23.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "Packet crafting/sending/sniffing, PCAP processing tool,\
-based on scapy with python3 compatibility"
-SECTION = "devel/python"
-HOMEPAGE = "https://github.com/phaethon/scapy"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=95ea6ecfc360eb47fe6f470ad736d7cd"
-
-inherit pypi setuptools3
-
-PYPI_PACKAGE = "scapy-python3"
-
-SRC_URI[md5sum] = "8642d09ca727e7e2b455223ae94059b7"
-SRC_URI[sha256sum] = "8760991a67162f43af4d9e64828bcefc100ba88859b75177ae9f7ace56e58186"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-scapy_0.25.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-scapy_0.25.bb
new file mode 100644
index 0000000..f785a2f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-scapy_0.25.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Packet crafting/sending/sniffing, PCAP processing tool,\
+based on scapy with python3 compatibility"
+SECTION = "devel/python"
+HOMEPAGE = "https://github.com/phaethon/scapy"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=a4282d4d80227fa599a99e77fdd95e71"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "scapy-python3"
+
+SRC_URI[md5sum] = "c9003d39def73c028cb8c71bcbb42629"
+SRC_URI[sha256sum] = "2ae1b3bd9759844e830a6cc3ba11c3f25b08433a8ee3e7eddc08224905e5ef2b"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_2.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_2.8.1.bb
new file mode 100644
index 0000000..77925ae
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_2.8.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-semver.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.24.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.25.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.24.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.25.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_2.1.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_2.1.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.12.14.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.12.14.bb
new file mode 100644
index 0000000..812bd4b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.12.14.bb
@@ -0,0 +1,5 @@
+require python-sh.inc
+inherit setuptools3
+
+RDEPENDS_${PN} += " \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sijax_0.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sijax_0.3.2.bb
new file mode 100644
index 0000000..24e6833
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sijax_0.3.2.bb
@@ -0,0 +1,4 @@
+inherit setuptools3
+require python-sijax.inc
+
+SRC_URI[sha256sum] = "11b062f4a8b2aad95c87e7c09e5daf5a6b0d0f08abf9efe5f91a0075c6be7c0d"
\ No newline at end of file
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.13.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.16.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.13.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.16.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.29.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.29.0.bb
new file mode 100644
index 0000000..3f557f2
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.29.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-stevedore.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_5.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.5.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_5.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_17.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_17.9.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_18.4.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.22.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.23.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.22.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.23.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_2.2.1.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_2.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_2.2.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.5.0.bb
similarity index 100%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.4.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_4.5.0.bb
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch
index 0ee3205..c77b86a 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch
@@ -1,7 +1,7 @@
-From 7d483c27ac0a23ca3bba7f320918afc40013bd8e Mon Sep 17 00:00:00 2001
+From 648a18bfc447f076d48ae4147d984b8ef56e37aa Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 8 May 2017 14:25:52 +0800
-Subject: [PATCH 01/13] comment out selinux
+Date: Mon, 30 Jul 2018 16:13:40 +0800
+Subject: [PATCH 01/11] comment out selinux
 
 Upstream-Status: Inappropriate [oe specific]
 
@@ -12,7 +12,7 @@
  2 files changed, 8 insertions(+), 3 deletions(-)
 
 diff --git a/blivet/flags.py b/blivet/flags.py
-index 06822db..b55a93f 100644
+index 1840121..8789390 100644
 --- a/blivet/flags.py
 +++ b/blivet/flags.py
 @@ -20,7 +20,7 @@
@@ -24,7 +24,7 @@
  
  
  class Flags(object):
-@@ -49,7 +49,8 @@ class Flags(object):
+@@ -47,7 +47,8 @@ class Flags(object):
          #
          # enable/disable functionality
          #
@@ -35,19 +35,19 @@
          self.dmraid = True
          self.ibft = True
 diff --git a/blivet/util.py b/blivet/util.py
-index e3e71ce..0cf5188 100644
+index 7334ff6..0f2a995 100644
 --- a/blivet/util.py
 +++ b/blivet/util.py
-@@ -4,7 +4,7 @@ import glob
+@@ -3,7 +3,7 @@ import functools
+ import glob
  import itertools
  import os
- import shutil
 -import selinux
 +#import selinux
  import subprocess
  import re
  import sys
-@@ -431,6 +431,8 @@ def get_cow_sysfs_path(dev_path, dev_sysfsPath):
+@@ -430,6 +430,8 @@ def get_cow_sysfs_path(dev_path, dev_sysfsPath):
  def match_path_context(path):
      """ Return the default SELinux context for the given path. """
      context = None
@@ -56,7 +56,7 @@
      try:
          context = selinux.matchpathcon(os.path.normpath(path), 0)[1]
      except OSError as e:
-@@ -455,6 +457,8 @@ def set_file_context(path, context, root=None):
+@@ -454,6 +456,8 @@ def set_file_context(path, context, root=None):
  
              True if successful, False if not.
      """
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch
index 01e71be..fea2254 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch
@@ -1,7 +1,7 @@
-From 86744d408b91acdcb086a03d7779fcda152f2ac3 Mon Sep 17 00:00:00 2001
+From 596979ed58109141a7fee680ab95b27296c022b1 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Mon, 8 May 2017 14:39:56 +0800
-Subject: [PATCH 02/13] run_program support timeout
+Subject: [PATCH 02/11] run_program support timeout
 
 Upstream-Status: Pending
 
@@ -11,10 +11,10 @@
  1 file changed, 39 insertions(+), 29 deletions(-)
 
 diff --git a/blivet/util.py b/blivet/util.py
-index 0cf5188..d4bd9bb 100644
+index 0f2a995..05a253c 100644
 --- a/blivet/util.py
 +++ b/blivet/util.py
-@@ -158,6 +158,30 @@ class Path(str):
+@@ -157,6 +157,30 @@ class Path(str):
      def __hash__(self):
          return self._path.__hash__()
  
@@ -45,7 +45,7 @@
  
  def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=False, binary_output=False):
      if env_prune is None:
-@@ -180,36 +204,22 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
+@@ -179,36 +203,22 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
              stderr_dir = subprocess.STDOUT
          else:
              stderr_dir = subprocess.PIPE
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch
index 489fb56..38f061e 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch
@@ -1,7 +1,7 @@
-From 923265e04df5920fc99393aa05f584032aa1b383 Mon Sep 17 00:00:00 2001
+From 325898f3f2951bbde07da47888175c427b11ddc3 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Mon, 8 May 2017 16:18:02 +0800
-Subject: [PATCH 03/13] support infinit timeout
+Subject: [PATCH 03/11] support infinit timeout
 
 Upstream-Status: Pending
 
@@ -11,10 +11,10 @@
  1 file changed, 8 insertions(+), 4 deletions(-)
 
 diff --git a/blivet/util.py b/blivet/util.py
-index d4bd9bb..44a2da5 100644
+index 05a253c..d6804be 100644
 --- a/blivet/util.py
 +++ b/blivet/util.py
-@@ -158,6 +158,7 @@ class Path(str):
+@@ -157,6 +157,7 @@ class Path(str):
      def __hash__(self):
          return self._path.__hash__()
  
@@ -22,7 +22,7 @@
  def timeout_command(argv, timeout, *args, **kwargs):
      """call shell-command and either return its output or kill it
      if it doesn't normally exit within timeout seconds and return None"""
-@@ -169,7 +170,7 @@ def timeout_command(argv, timeout, *args, **kwargs):
+@@ -168,7 +169,7 @@ def timeout_command(argv, timeout, *args, **kwargs):
          while proc.poll() is None:
              time.sleep(0.1)
              now = datetime.datetime.now()
@@ -31,7 +31,7 @@
                  os.kill(proc.pid, signal.SIGKILL)
                  os.waitpid(-1, os.WNOHANG)
                  program_log.debug("%d seconds timeout" % timeout)
-@@ -183,7 +184,7 @@ def timeout_command(argv, timeout, *args, **kwargs):
+@@ -182,7 +183,7 @@ def timeout_command(argv, timeout, *args, **kwargs):
      program_log.debug("Return code: %d", proc.returncode)
      return (proc.returncode, proc.stdout.read())
  
@@ -40,7 +40,7 @@
      if env_prune is None:
          env_prune = []
  
-@@ -192,7 +193,10 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
+@@ -191,7 +192,10 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
              os.chroot(root)
  
      with program_log_lock:  # pylint: disable=not-context-manager
@@ -52,7 +52,7 @@
  
          env = os.environ.copy()
          env.update({"LC_ALL": "C",
-@@ -205,7 +209,7 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
+@@ -204,7 +208,7 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
          else:
              stderr_dir = subprocess.PIPE
  
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-Mount-var-volatile-during-install.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-Mount-var-volatile-during-install.patch
deleted file mode 100644
index cb837e2..0000000
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-Mount-var-volatile-during-install.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From c3959bd00665e24a955bbdbea1ef555e76372f12 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 8 May 2017 16:25:16 +0800
-Subject: [PATCH 04/13] Mount /var/volatile during install
-
-The installed system needs /var/volatile clean, otherwise it
-caused systemd's journalctl failed to record boot log.
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- blivet/osinstall.py | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/blivet/osinstall.py b/blivet/osinstall.py
-index a4f9535..61819c2 100644
---- a/blivet/osinstall.py
-+++ b/blivet/osinstall.py
-@@ -294,6 +294,7 @@ class FSSet(object):
-         self._sysfs = None
-         self._proc = None
-         self._devshm = None
-+        self._volatile = None
-         self._usb = None
-         self._selinux = None
-         self._run = None
-@@ -335,6 +336,12 @@ class FSSet(object):
-         return self._devshm
- 
-     @property
-+    def volatile(self):
-+        if not self._volatile:
-+            self._volatile = NoDevice(fmt=get_format("tmpfs", device="tmpfs", mountpoint="/var/volatile"))
-+        return self._volatile
-+
-+    @property
-     def usb(self):
-         if not self._usb:
-             self._usb = NoDevice(fmt=get_format("usbfs", device="usbfs", mountpoint="/proc/bus/usb"))
-@@ -591,6 +598,7 @@ class FSSet(object):
- 
-         devices = list(self.mountpoints.values()) + self.swap_devices
-         devices.extend([self.dev, self.devshm, self.devpts, self.sysfs,
-+                        self.volatile,
-                         self.proc, self.selinux, self.usb, self.run])
-         if isinstance(_platform, EFI):
-             devices.append(self.efivars)
-@@ -650,6 +658,7 @@ class FSSet(object):
-         """ unmount filesystems, except swap if swapoff == False """
-         devices = list(self.mountpoints.values()) + self.swap_devices
-         devices.extend([self.dev, self.devshm, self.devpts, self.sysfs,
-+                        self.volatile,
-                         self.proc, self.usb, self.selinux, self.run])
-         if isinstance(_platform, EFI):
-             devices.append(self.efivars)
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-fix-new.roots-object-is-not-iterable.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch
similarity index 78%
rename from meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-fix-new.roots-object-is-not-iterable.patch
rename to meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch
index f5ff754..be997ac 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-fix-new.roots-object-is-not-iterable.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch
@@ -1,7 +1,7 @@
-From cd92eea8fab37ba6b0c7f03daa5255343dc75716 Mon Sep 17 00:00:00 2001
+From c31df1c0f5323ddc70e0d1c6d11db2fbf7a024ad Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Mon, 8 May 2017 16:30:20 +0800
-Subject: [PATCH 06/13] fix new.roots object is not iterable
+Subject: [PATCH 04/11] fix new.roots object is not iterable
 
 Upstream-Status: Pending
 
@@ -11,10 +11,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/blivet/blivet.py b/blivet/blivet.py
-index 6a33e9c..79ae91a 100644
+index 3405810..f42b73b 100644
 --- a/blivet/blivet.py
 +++ b/blivet/blivet.py
-@@ -1761,7 +1761,7 @@ class Blivet(object):
+@@ -1198,7 +1198,7 @@ class Blivet(object):
              p = partition.disk.format.parted_disk.getPartitionByPath(partition.path)
              partition.parted_partition = p
  
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-fix-incorrect-timeout-while-system-time-changed.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch
similarity index 86%
rename from meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-fix-incorrect-timeout-while-system-time-changed.patch
rename to meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch
index 6512d86..ecb9503 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-fix-incorrect-timeout-while-system-time-changed.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch
@@ -1,7 +1,7 @@
-From 78ee2b9090f9400ccc4f730e674f5ae972740ccb Mon Sep 17 00:00:00 2001
+From b30a74671ca603e6bfd514f72d4fd7fd6fceef54 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Fri, 26 Aug 2016 02:02:49 -0400
-Subject: [PATCH 07/13] fix incorrect timeout while system time changed
+Subject: [PATCH 05/11] fix incorrect timeout while system time changed
 
 While system time changed by NTP, invoking timeout_command
 breaks with incorrect timeout.
@@ -22,10 +22,10 @@
  1 file changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/blivet/util.py b/blivet/util.py
-index 44a2da5..b3c45ac 100644
+index d6804be..bc08af5 100644
 --- a/blivet/util.py
 +++ b/blivet/util.py
-@@ -163,14 +163,14 @@ def timeout_command(argv, timeout, *args, **kwargs):
+@@ -162,14 +162,14 @@ def timeout_command(argv, timeout, *args, **kwargs):
      """call shell-command and either return its output or kill it
      if it doesn't normally exit within timeout seconds and return None"""
      import subprocess, datetime, os, time, signal
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-update-fstab-by-appending.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-update-fstab-by-appending.patch
deleted file mode 100644
index 4f343b7..0000000
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-update-fstab-by-appending.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 386ff899763f8473eb93a7a1578fb7cc4f86f66d Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 8 May 2017 16:28:12 +0800
-Subject: [PATCH 05/13] update fstab by appending
-
-The 'storage.write()' has updated fstab by overwriting
-the original one, we should update fstab by appending
-to keep original tmpfs partitions.
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- blivet/osinstall.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/blivet/osinstall.py b/blivet/osinstall.py
-index 61819c2..afa82db 100644
---- a/blivet/osinstall.py
-+++ b/blivet/osinstall.py
-@@ -728,7 +728,7 @@ class FSSet(object):
-         # /etc/fstab
-         fstab_path = os.path.normpath("%s/etc/fstab" % get_sysroot())
-         fstab = self.fstab()
--        open(fstab_path, "w").write(fstab)
-+        open(fstab_path, "a").write(fstab)
- 
-         # /etc/crypttab
-         crypttab_path = os.path.normpath("%s/etc/crypttab" % get_sysroot())
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-tweak-btrfs-packages.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch
similarity index 85%
rename from meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-tweak-btrfs-packages.patch
rename to meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch
index 121336e..da568a4 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-tweak-btrfs-packages.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch
@@ -1,7 +1,7 @@
-From 6f661a511eea096c073888c7adb836a9a880b476 Mon Sep 17 00:00:00 2001
+From 0659d8a85bcdd76c0b23b8b5af6958783d35ac65 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Mon, 8 May 2017 16:33:15 +0800
-Subject: [PATCH 08/13] tweak btrfs packages
+Subject: [PATCH 06/11] tweak btrfs packages
 
 In oe-cre/yocto, we name btrfs package with btrfs-tools,
 rather than btrfs-progs.
@@ -15,7 +15,7 @@
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/blivet/devices/btrfs.py b/blivet/devices/btrfs.py
-index c5cb21f..9d417b2 100644
+index cada940..7e4d4b8 100644
 --- a/blivet/devices/btrfs.py
 +++ b/blivet/devices/btrfs.py
 @@ -55,7 +55,7 @@ class BTRFSDevice(StorageDevice):
@@ -28,10 +28,10 @@
  
      def __init__(self, *args, **kwargs):
 diff --git a/blivet/formats/fs.py b/blivet/formats/fs.py
-index a49826f..e8f216d 100644
+index 81e367f..55e5d57 100644
 --- a/blivet/formats/fs.py
 +++ b/blivet/formats/fs.py
-@@ -918,7 +918,7 @@ class BTRFS(FS):
+@@ -926,7 +926,7 @@ class BTRFS(FS):
      _formattable = True
      _linux_native = True
      _supported = True
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-mount-with-infinite-timeout.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch
similarity index 74%
rename from meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-mount-with-infinite-timeout.patch
rename to meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch
index fc084b1..e301219 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-mount-with-infinite-timeout.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch
@@ -1,7 +1,7 @@
-From a6ac2157ee6793302e23ddbc5e3b249fa7da5b7e Mon Sep 17 00:00:00 2001
+From 9c7a15312259854f12137a30229e52c30fb7c770 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Wed, 31 Aug 2016 21:30:32 -0400
-Subject: [PATCH 09/13] invoking mount with infinite timeout
+Subject: [PATCH 07/11] invoking mount with infinite timeout
 
 This large timeout is needed when running on machines with
 lots of disks, or with slow disks.
@@ -14,10 +14,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/blivet/util.py b/blivet/util.py
-index b3c45ac..9f02b18 100644
+index bc08af5..b672787 100644
 --- a/blivet/util.py
 +++ b/blivet/util.py
-@@ -257,7 +257,7 @@ def mount(device, mountpoint, fstype, options=None):
+@@ -256,7 +256,7 @@ def mount(device, mountpoint, fstype, options=None):
  
      argv = ["mount", "-t", fstype, "-o", options, device, mountpoint]
      try:
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-use-oe-variable-to-replace-hardcoded-dir.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch
similarity index 85%
rename from meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-use-oe-variable-to-replace-hardcoded-dir.patch
rename to meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch
index 45d8fab..feb5647 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-use-oe-variable-to-replace-hardcoded-dir.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch
@@ -1,7 +1,7 @@
-From e07133dbcf3c52e1ddd2f12797dcd16145269273 Mon Sep 17 00:00:00 2001
+From 7f57b2cd145d67c20beb02d5495b502f7af012cd Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Mon, 8 May 2017 03:54:12 -0400
-Subject: [PATCH 10/13] use oe variable to replace hardcoded dir
+Subject: [PATCH 08/11] use oe variable to replace hardcoded dir
 
 Upstream-Status: Pending
 
@@ -11,7 +11,7 @@
  1 file changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/setup.py b/setup.py
-index 4d06a33..a994d06 100644
+index 7edab2c..9be3187 100644
 --- a/setup.py
 +++ b/setup.py
 @@ -61,10 +61,10 @@ class blivet_sdist(sdist):
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-fsck-with-infinite-timeout.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch
similarity index 84%
rename from meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-fsck-with-infinite-timeout.patch
rename to meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch
index c61fe01..30d2d3e 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-fsck-with-infinite-timeout.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch
@@ -1,7 +1,7 @@
-From e9ab4376a18cc1bd413c000b036320833eec80d7 Mon Sep 17 00:00:00 2001
+From c757666f42f543baeed5df61269798c085665d9b Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Thu, 1 Jun 2017 16:05:27 +0800
-Subject: [PATCH 11/13] invoking fsck with infinite timeout
+Subject: [PATCH 09/11] invoking fsck with infinite timeout
 
 This large timeout is needed when running on machines with
 lots of disks, or with slow disks.
@@ -14,7 +14,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/blivet/tasks/fsck.py b/blivet/tasks/fsck.py
-index c4214dc..e13ac6b 100644
+index 5274f13..6e074c4 100644
 --- a/blivet/tasks/fsck.py
 +++ b/blivet/tasks/fsck.py
 @@ -77,7 +77,7 @@ class FSCK(task.BasicApplication, fstask.FSTask):
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-invoking-mkfs-with-infinite-timeout.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch
similarity index 87%
rename from meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-invoking-mkfs-with-infinite-timeout.patch
rename to meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch
index 33bdbe8..b2f4501 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-invoking-mkfs-with-infinite-timeout.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch
@@ -1,7 +1,7 @@
-From 9f5a048181cf29d241d96814e736b8235b3d42b1 Mon Sep 17 00:00:00 2001
+From 42d8e57c748951098534bf7f52c4ebc790ef66e9 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Fri, 16 Jun 2017 15:43:00 +0800
-Subject: [PATCH 12/13] invoking mkfs with infinite timeout
+Subject: [PATCH 10/11] invoking mkfs with infinite timeout
 
 This large timeout is needed when running on machines with
 lots of disks, or with slow disks.
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0014-invoking-dd-with-infinite-timeout.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch
similarity index 78%
rename from meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0014-invoking-dd-with-infinite-timeout.patch
rename to meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch
index 12a9e4f..f24ce0a 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0014-invoking-dd-with-infinite-timeout.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch
@@ -1,7 +1,7 @@
-From 92fe7dfd01131c93a9b2013cabf77d5f46900fab Mon Sep 17 00:00:00 2001
+From a4753b3cbbd5aee59dc53eb16564cafd9862763e Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 6 Mar 2018 17:28:56 +0800
-Subject: [PATCH] invoking dd with infinite timeout
+Subject: [PATCH 11/11] invoking dd with infinite timeout
 
 This large timeout is needed when running on machines with
 lots of disks, or with slow disks.
@@ -14,10 +14,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/blivet/devices/partition.py b/blivet/devices/partition.py
-index a7372fb..8947472 100644
+index 47ff547..0cd1614 100644
 --- a/blivet/devices/partition.py
 +++ b/blivet/devices/partition.py
-@@ -594,7 +594,7 @@ class PartitionDevice(StorageDevice):
+@@ -621,7 +621,7 @@ class PartitionDevice(StorageDevice):
          cmd = ["dd", "if=/dev/zero", "of=%s" % device, "bs=%d" % bs,
                 "seek=%d" % start, "count=%d" % count]
          try:
@@ -27,5 +27,5 @@
              log.error(str(e))
          finally:
 -- 
-1.8.3.1
+2.7.4
 
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch
new file mode 100644
index 0000000..886e3ff
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch
@@ -0,0 +1,31 @@
+From 4476e846a1e64dde17df2e2370c803ce695514f9 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 6 Aug 2018 17:18:27 +0800
+Subject: [PATCH] remove dmraid dependency check
+
+OE does not support dmraid, remove it from dependency check
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/tasks/availability.py | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/blivet/tasks/availability.py b/blivet/tasks/availability.py
+index 9a87cfd..843cf6a 100644
+--- a/blivet/tasks/availability.py
++++ b/blivet/tasks/availability.py
+@@ -316,8 +316,7 @@ BLOCKDEV_DM_ALL_MODES = (blockdev.DMTechMode.CREATE_ACTIVATE |
+                          blockdev.DMTechMode.QUERY)
+ BLOCKDEV_DM = BlockDevTechInfo(plugin_name="dm",
+                                check_fn=blockdev.dm_is_tech_avail,
+-                               technologies={blockdev.DMTech.MAP: BLOCKDEV_DM_ALL_MODES,
+-                                             blockdev.DMTech.RAID: BLOCKDEV_DM_ALL_MODES})
++                               technologies={blockdev.DMTech.MAP: BLOCKDEV_DM_ALL_MODES})
+ BLOCKDEV_DM_TECH = BlockDevMethod(BLOCKDEV_DM)
+ 
+ # libblockdev loop plugin required technologies and modes
+-- 
+2.7.4
+
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-Revert-Adapt-to-logging-module-name-change.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-Revert-Adapt-to-logging-module-name-change.patch
deleted file mode 100644
index 6bdf4ce..0000000
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-Revert-Adapt-to-logging-module-name-change.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From bfdaf79a2109ac6aed408f0c94f69766991e60e2 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 27 Jul 2017 14:34:30 +0800
-Subject: [PATCH 13/13] Revert "Adapt to logging module name change"
-
-Upstream-Status: Inappropriate [oe specific, sync with anaconda f26-release]
-
-This reverts commit c367d62a516e541ad28636c8259321f1c53417ce.
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- blivet/__init__.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/blivet/__init__.py b/blivet/__init__.py
-index 49277cb..a01e487 100644
---- a/blivet/__init__.py
-+++ b/blivet/__init__.py
-@@ -124,7 +124,7 @@ def enable_installer_mode():
-         from pyanaconda.constants import ROOT_PATH  # pylint: disable=redefined-outer-name,no-name-in-module
-         _storage_root = _sysroot = ROOT_PATH
- 
--    from pyanaconda.anaconda_logging import program_log_lock
-+    from pyanaconda.anaconda_log import program_log_lock
-     util.program_log_lock = program_log_lock
- 
-     flags.installer_mode = True
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch
new file mode 100644
index 0000000..33b5f51
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch
@@ -0,0 +1,41 @@
+From bddbfa499df16b108f2d892ee48d65617523c33d Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 9 Aug 2018 11:00:39 +0800
+Subject: [PATCH] add `-Z y' and `-y' to lvm.pvcreate
+
+While reinstall a crypt fs, it occasionally failed
+[snip]
+|gi.overrides.BlockDev.LVMError: Process reported exit code 5:
+WARNING: atari signature detected on /dev/mapper/luks-0e5f891c
+-7701-48bc-a41e-8d626b6ef953 at offset 466. Wipe it? [y/n]:
+[snip]
+
+Add `-Z y' and `-y' to lvm.pvcreate
+
+Upstream-Status: Submitted [https://github.com/storaged-project/blivet/pull/714]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/formats/lvmpv.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/blivet/formats/lvmpv.py b/blivet/formats/lvmpv.py
+index 260cc0b..4bbb46f 100644
+--- a/blivet/formats/lvmpv.py
++++ b/blivet/formats/lvmpv.py
+@@ -120,9 +120,9 @@ class LVMPhysicalVolume(DeviceFormat):
+         log_method_call(self, device=self.device,
+                         type=self.type, status=self.status)
+ 
+-        # Consider use of -Z|--zero
+-        # -f|--force or -y|--yes may be required
+-        blockdev.lvm.pvcreate(self.device, data_alignment=self.data_alignment)
++        ea_zero = blockdev.ExtraArg.new("-Z", "y")
++        ea_yes = blockdev.ExtraArg.new("-y", "")
++        blockdev.lvm.pvcreate(self.device, data_alignment=self.data_alignment, extra=[ea_zero, ea_yes])
+ 
+     def _destroy(self, **kwargs):
+         log_method_call(self, device=self.device,
+-- 
+2.7.4
+
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_2.2.0.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_2.2.0.bb
deleted file mode 100644
index 46dc32d..0000000
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_2.2.0.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-DESCRIPTION = "A python module for system storage configuration"
-HOMEPAGE = "http://fedoraproject.org/wiki/blivet"
-LICENSE = "LGPLv2+"
-SECTION = "devel/python"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-S = "${WORKDIR}/git"
-B = "${S}"
-
-SRCREV = "39db82f20d8d4904c0c4dc8912e595177c59e091"
-SRC_URI = "git://github.com/rhinstaller/blivet;branch=2.2-devel \
-           file://0001-comment-out-selinux.patch \
-           file://0002-run_program-support-timeout.patch\
-           file://0003-support-infinit-timeout.patch \
-           file://0004-Mount-var-volatile-during-install.patch \
-           file://0005-update-fstab-by-appending.patch \
-           file://0006-fix-new.roots-object-is-not-iterable.patch \
-           file://0007-fix-incorrect-timeout-while-system-time-changed.patch \
-           file://0008-tweak-btrfs-packages.patch \
-           file://0009-invoking-mount-with-infinite-timeout.patch \
-           file://0010-use-oe-variable-to-replace-hardcoded-dir.patch \
-           file://0011-invoking-fsck-with-infinite-timeout.patch \
-           file://0012-invoking-mkfs-with-infinite-timeout.patch \
-           file://0013-Revert-Adapt-to-logging-module-name-change.patch \
-           file://0014-invoking-dd-with-infinite-timeout.patch \
-"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-inherit setuptools3 python3native
-
-RDEPENDS_${PN} = "python3-pykickstart python3-pyudev \
-                  parted python3-pyparted multipath-tools \
-                  lsof cryptsetup libblockdev \
-                  libbytesize \
-"
-
-FILES_${PN} += " \
-    ${datadir}/dbus-1/system-services \
-"
-
-inherit systemd
-
-SYSTEMD_AUTO_ENABLE = "disable"
-SYSTEMD_SERVICE_${PN} = "blivet.service"
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb
new file mode 100644
index 0000000..75f02f1
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb
@@ -0,0 +1,48 @@
+DESCRIPTION = "A python module for system storage configuration"
+HOMEPAGE = "http://fedoraproject.org/wiki/blivet"
+LICENSE = "LGPLv2+"
+SECTION = "devel/python"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "ddc24c71bad10208b11ea0c45853898fadd7030b"
+SRC_URI = "git://github.com/rhinstaller/blivet;branch=3.1-release \
+           file://0001-comment-out-selinux.patch \
+           file://0002-run_program-support-timeout.patch \
+           file://0003-support-infinit-timeout.patch \
+           file://0004-fix-new.roots-object-is-not-iterable.patch \
+           file://0005-fix-incorrect-timeout-while-system-time-changed.patch \
+           file://0006-tweak-btrfs-packages.patch \
+           file://0007-invoking-mount-with-infinite-timeout.patch \
+           file://0008-use-oe-variable-to-replace-hardcoded-dir.patch \
+           file://0009-invoking-fsck-with-infinite-timeout.patch \
+           file://0010-invoking-mkfs-with-infinite-timeout.patch \
+           file://0011-invoking-dd-with-infinite-timeout.patch \
+           file://0012-remove-dmraid-dependency-check.patch \
+           file://0013-add-Z-y-and-y-to-lvm.pvcreate.patch \
+"
+
+UPSTREAM_CHECK_GITTAGREGEX = "blivet-(?P<pver>\d+(\.\d+)+)$"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+inherit setuptools3 python3native
+
+RDEPENDS_${PN} = "python3-pykickstart python3-pyudev \
+                  parted python3-pyparted multipath-tools \
+                  lsof cryptsetup libblockdev \
+                  libbytesize \
+"
+
+FILES_${PN} += " \
+    ${datadir}/dbus-1/system-services \
+"
+
+inherit systemd
+
+SYSTEMD_AUTO_ENABLE = "disable"
+SYSTEMD_SERVICE_${PN} = "blivet.service"
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.5.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb
similarity index 92%
rename from meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.5.bb
rename to meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb
index 28c2565..91f0dff 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.5.bb
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb
@@ -8,7 +8,7 @@
 S = "${WORKDIR}/git"
 B = "${S}"
 
-SRCREV = "52ae8c000843c05abd1d8749f44bbe2e5d891d3d"
+SRCREV = "a4fd427ee2acc5a8f5fb030bf7816917cee63bd8"
 SRC_URI = "git://github.com/rhinstaller/blivet-gui;branch=master \
 "
 
diff --git a/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.46.bb b/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.47.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.46.bb
rename to meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.47.bb
index 40e2cbd..95d6d18 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.46.bb
+++ b/meta-openembedded/meta-python/recipes-extended/python-meh/python3-meh_0.47.bb
@@ -10,7 +10,7 @@
 
 SRC_URI = "git://github.com/rhinstaller/python-meh.git;protocol=https;branch=master \
 "
-SRCREV = "bb1156728a4f76e5e3638ab20b9454a1568a99db"
+SRCREV = "78d868d99104317ce8820f39f61d207566e61a55"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 FILES_${PN} += "${datadir}/*"
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch
index 617699d..e7533f4 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch
@@ -1,6 +1,6 @@
-From d0d8890b5ef74c315381c9e1cff4b1d32892116b Mon Sep 17 00:00:00 2001
+From f05f5fc363e2510f6943532f3e14a6423f6a2cf1 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 1 Jun 2017 15:07:36 +0800
+Date: Tue, 31 Jul 2018 17:24:47 +0800
 Subject: [PATCH 1/4] support authentication for kickstart
 
 While download kickstart file from web server,
@@ -13,30 +13,29 @@
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
- pykickstart/errors.py | 19 +++++++++++++++++++
- pykickstart/load.py   | 32 +++++++++++++++++++++++++++-----
+ pykickstart/errors.py | 17 +++++++++++++++++
+ pykickstart/load.py   | 34 ++++++++++++++++++++++++++++------
  pykickstart/parser.py |  4 ++--
- 3 files changed, 48 insertions(+), 7 deletions(-)
+ 3 files changed, 47 insertions(+), 8 deletions(-)
 
 diff --git a/pykickstart/errors.py b/pykickstart/errors.py
-index b76e84c..fd81bc8 100644
+index bf08ac5..aada7aa 100644
 --- a/pykickstart/errors.py
 +++ b/pykickstart/errors.py
-@@ -35,6 +35,10 @@ It also exports several exception classes:
- 
+@@ -32,6 +32,9 @@ This module exports several exception classes:
      KickstartVersionError - An exception for errors relating to unsupported
                              syntax versions.
-+
+ 
 +    KickstartAuthError - An exception for errors relating to authentication
 +                         failed while downloading kickstart from web server
 +
- """
- import warnings
+ And some warning classes:
  
-@@ -103,3 +107,18 @@ class KickstartVersionError(KickstartError):
- 
-     def __str__ (self):
-         return self.value
+     KickstartWarning - A generic warning class.
+@@ -131,3 +134,17 @@ class KickstartDeprecationWarning(KickstartParseWarning, DeprecationWarning):
+        commands and options.
+     """
+     pass
 +
 +class KickstartAuthError(KickstartError):
 +    """An exception for errors relating to authentication failed while
@@ -51,9 +50,8 @@
 +
 +    def __str__(self):
 +        return self.value
-+
 diff --git a/pykickstart/load.py b/pykickstart/load.py
-index 1f69b9c..0f5741b 100644
+index fb935f2..41a2e9e 100644
 --- a/pykickstart/load.py
 +++ b/pykickstart/load.py
 @@ -18,10 +18,13 @@
@@ -71,7 +69,7 @@
  from pykickstart.i18n import _
  from requests.exceptions import SSLError, RequestException
  
-@@ -29,7 +32,7 @@ _is_url = lambda location: '://' in location # RFC 3986
+@@ -29,7 +32,7 @@ _is_url = lambda location: '://' in location  # RFC 3986
  
  SSL_VERIFY = True
  
@@ -89,10 +87,12 @@
      else:
          return _load_file(location)
  
-@@ -71,13 +74,32 @@ def load_to_file(location, destination):
+@@ -70,11 +73,30 @@ def load_to_file(location, destination):
          _copy_file(location, destination)
          return destination
  
+-def _load_url(location):
+-    '''Load a location (URL or filename) and return contents as string'''
 +def _get_auth(location, user=None, passwd=None):
 +
 +    auth = None
@@ -109,15 +109,12 @@
 +            auth = HTTPBasicAuth(user, passwd)
 +        elif auth_type == "Digest":
 +            auth=HTTPDigestAuth(user, passwd)
- 
--def _load_url(location):
++
 +    return auth
 +
 +def _load_url(location, user=None, passwd=None):
-     '''Load a location (URL or filename) and return contents as string'''
- 
++    '''Load a location (URL or filename) and return contents as string'''
 +    auth = _get_auth(location, user=user, passwd=passwd)
-+
      try:
 -        request = requests.get(location, verify=SSL_VERIFY)
 +        request = requests.get(location, verify=SSL_VERIFY, auth=auth)
@@ -125,26 +122,26 @@
          raise KickstartError(_('Error securely accessing URL "%s"') % location + ': {e}'.format(e=str(e)))
      except RequestException as e:
 diff --git a/pykickstart/parser.py b/pykickstart/parser.py
-index d2b0fbe..26b5de9 100644
+index d8880eb..22d14cb 100644
 --- a/pykickstart/parser.py
 +++ b/pykickstart/parser.py
-@@ -773,7 +773,7 @@ class KickstartParser(object):
+@@ -787,7 +787,7 @@ class KickstartParser(object):
          i = PutBackIterator(s.splitlines(True) + [""])
-         self._stateMachine (i)
+         self._stateMachine(i)
  
 -    def readKickstart(self, f, reset=True):
 +    def readKickstart(self, f, reset=True, username=None, password=None):
          """Process a kickstart file, given by the filename f."""
          if reset:
              self._reset()
-@@ -794,7 +794,7 @@ class KickstartParser(object):
+@@ -808,7 +808,7 @@ class KickstartParser(object):
          self.currentdir[self._includeDepth] = cd
  
          try:
 -            s = load_to_str(f)
 +            s = load_to_str(f, user=username, passwd=password)
          except KickstartError as e:
-             raise KickstartError(formatErrorMsg(0, msg=_("Unable to open input kickstart file: %s") % str(e)))
+             raise KickstartError(_("Unable to open input kickstart file: %s") % str(e), lineno=0)
  
 -- 
 2.7.4
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch
index cb21235..4a001f3 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch
@@ -1,28 +1,26 @@
-From e6e747b883114bfad51ad93f823e65f5a4d6438a Mon Sep 17 00:00:00 2001
+From 62fdead139edb0f29b2f222efcb8f39be15b057e Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 1 Jun 2017 15:12:29 +0800
-Subject: [PATCH 2/4] pykickstart/parser.py: add lock for readKickstart and
+Date: Mon, 30 Jul 2018 15:47:13 +0800
+Subject: [PATCH 2/4] pykickstart/parser.py: add lock for readKickstart and 
  support https without certification
 
 - Add lock for readKickstart to fix race issue
 
 - Support to download kickstart file through https without certification
 
-Upstream-Status: Inappropriate[oe specific]
-
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
  pykickstart/load.py   |  2 +-
- pykickstart/parser.py | 24 ++++++++++++++++++++++++
- 2 files changed, 25 insertions(+), 1 deletion(-)
+ pykickstart/parser.py | 18 ++++++++++++++++++
+ 2 files changed, 19 insertions(+), 1 deletion(-)
 
 diff --git a/pykickstart/load.py b/pykickstart/load.py
-index 0f5741b..48c8276 100644
+index c6f013f..7adb751 100644
 --- a/pykickstart/load.py
 +++ b/pykickstart/load.py
 @@ -30,7 +30,7 @@ from requests.exceptions import SSLError, RequestException
  
- _is_url = lambda location: '://' in location # RFC 3986
+ _is_url = lambda location: '://' in location  # RFC 3986
  
 -SSL_VERIFY = True
 +SSL_VERIFY = False
@@ -30,38 +28,32 @@
  def load_to_str(location, user=None, passwd=None):
      '''Load a destination URL or file into a string.
 diff --git a/pykickstart/parser.py b/pykickstart/parser.py
-index 26b5de9..264ba05 100644
+index e44099b..e68174d 100644
 --- a/pykickstart/parser.py
 +++ b/pykickstart/parser.py
-@@ -57,6 +57,26 @@ STATE_COMMANDS = "commands"
+@@ -55,6 +55,20 @@ from pykickstart.i18n import _
+ STATE_END = "end"
+ STATE_COMMANDS = "commands"
  
- ver = version.DEVEL
- 
-+import logging
-+log = logging.getLogger("anaconda")
-+
-+import inspect
 +import threading
 +_private_ks_lock = threading.RLock()
 +
 +class KsLock(object):
 +    def __enter__(self):
-+        log.info("%s %s" % (self.__class__.__name__, inspect.stack()[0][3]))
 +        _private_ks_lock.acquire()
 +        return _private_ks_lock
 +
 +    def __exit__(self, exc_type, exc_val, exc_tb):
-+        log.info("%s %s" % (self.__class__.__name__, inspect.stack()[0][3]))
 +        _private_ks_lock.release()
 +
 +
 +_ks_lock = KsLock()
 +
- def _preprocessStateMachine (lineIter):
+ def _preprocessStateMachine(lineIter):
      l = None
      lineno = 0
-@@ -774,6 +794,10 @@ class KickstartParser(object):
-         self._stateMachine (i)
+@@ -788,6 +802,10 @@ class KickstartParser(object):
+         self._stateMachine(i)
  
      def readKickstart(self, f, reset=True, username=None, password=None):
 +        with _ks_lock:
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch
index 9fb25fb..81e351b 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch
@@ -1,4 +1,4 @@
-From be6012a5dd49ae5e8ac035654ab1c6f37f0dc8f4 Mon Sep 17 00:00:00 2001
+From 44226393812399c61de9ca9281efa002ad4f4c01 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Thu, 1 Jun 2017 15:15:15 +0800
 Subject: [PATCH 3/4] comment out sections shutdown and environment in
@@ -17,10 +17,10 @@
  2 files changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/pykickstart/commands/reboot.py b/pykickstart/commands/reboot.py
-index 88799ba..2d0cea9 100644
+index 2c1b1c0..b3ec717 100644
 --- a/pykickstart/commands/reboot.py
 +++ b/pykickstart/commands/reboot.py
-@@ -41,6 +41,9 @@ class FC3_Reboot(KickstartCommand):
+@@ -43,6 +43,9 @@ class FC3_Reboot(KickstartCommand):
          elif self.action == KS_SHUTDOWN:
              retval += "# Shutdown after installation\nshutdown"
              retval += self._getArgsAsStr() + "\n"
@@ -31,10 +31,10 @@
          return retval
  
 diff --git a/pykickstart/parser.py b/pykickstart/parser.py
-index 264ba05..b3f33d7 100644
+index e68174d..efd78a6 100644
 --- a/pykickstart/parser.py
 +++ b/pykickstart/parser.py
-@@ -383,7 +383,7 @@ class Packages(KickstartObject):
+@@ -385,7 +385,7 @@ class Packages(KickstartObject):
  
          if not self.default:
              if self.environment:
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch
index 70254f6..6ed15ab 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch
+++ b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch
@@ -1,6 +1,6 @@
-From c0e63f0d3c09bdabb0ad2c88b7cc73e7618dd86a Mon Sep 17 00:00:00 2001
+From ffe06c6dd812b604d6482e4353d5564fad78bc90 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 15 Jun 2017 17:35:33 +0800
+Date: Mon, 30 Jul 2018 15:52:21 +0800
 Subject: [PATCH 4/4] load.py: retry to invoke request with timeout
 
 While networkless, use request to fetch kickstart file from
@@ -12,11 +12,11 @@
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
- pykickstart/load.py | 30 ++++++++++++++++++++++++++++++
- 1 file changed, 30 insertions(+)
+ pykickstart/load.py | 31 +++++++++++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
 
 diff --git a/pykickstart/load.py b/pykickstart/load.py
-index 48c8276..74b266b 100644
+index ad3bad1..a5cbbc5 100644
 --- a/pykickstart/load.py
 +++ b/pykickstart/load.py
 @@ -21,6 +21,7 @@ import requests
@@ -32,12 +32,12 @@
  from requests.exceptions import SSLError, RequestException
  
 +import logging
-+log = logging.getLogger("anaconda")
++log = logging.getLogger("anaconda.main")
 +
- _is_url = lambda location: '://' in location # RFC 3986
+ _is_url = lambda location: '://' in location  # RFC 3986
  
  SSL_VERIFY = False
-@@ -74,6 +78,29 @@ def load_to_file(location, destination):
+@@ -73,6 +77,29 @@ def load_to_file(location, destination):
          _copy_file(location, destination)
          return destination
  
@@ -67,16 +67,17 @@
  def _get_auth(location, user=None, passwd=None):
  
      auth = None
-@@ -96,6 +123,9 @@ def _get_auth(location, user=None, passwd=None):
+@@ -94,6 +121,10 @@ def _get_auth(location, user=None, passwd=None):
+ 
  def _load_url(location, user=None, passwd=None):
      '''Load a location (URL or filename) and return contents as string'''
- 
++
 +    if not _access_url(location):
 +        raise KickstartError(_("Connection %s failed" % location))
 +
      auth = _get_auth(location, user=user, passwd=passwd)
- 
      try:
+         request = requests.get(location, verify=SSL_VERIFY, auth=auth)
 -- 
 2.7.4
 
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0005-tweak-shebang-to-python3.patch b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0005-tweak-shebang-to-python3.patch
deleted file mode 100644
index 3d61495..0000000
--- a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0005-tweak-shebang-to-python3.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 8a1f598223bd4cbcc877eb2aba3f5586c75c9d14 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 21 Aug 2017 10:05:06 +0800
-Subject: [PATCH] tweak shebang to python3
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- tools/ksvalidator.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/ksvalidator.py b/tools/ksvalidator.py
-index d6051d5..c3682e8 100755
---- a/tools/ksvalidator.py
-+++ b/tools/ksvalidator.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python3
- #
- # Chris Lumens <clumens@redhat.com>
- #
--- 
-1.8.3.1
-
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.15.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb
rename to meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.15.bb
index 7fe603b..07876a9 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_2.35.bb
+++ b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.15.bb
@@ -12,13 +12,14 @@
 "
 
 S = "${WORKDIR}/git"
-SRC_URI = "git://github.com/rhinstaller/pykickstart.git;protocol=https;branch=pykickstart-2 \
+SRC_URI = "git://github.com/rhinstaller/pykickstart.git;protocol=https;branch=master \
            file://0001-support-authentication-for-kickstart.patch \
            file://0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch \
            file://0003-comment-out-sections-shutdown-and-environment-in-gen.patch \
            file://0004-load.py-retry-to-invoke-request-with-timeout.patch \
-           file://0005-tweak-shebang-to-python3.patch \
            "
-SRCREV = "b2787a818540e678c2f9c5dca0c6bbd65b8b55e5"
+SRCREV = "07c4d89129fa6b460acc86daf58eb5ff64cdc832"
+
+UPSTREAM_CHECK_GITTAGREGEX = "r(?P<pver>\d+(\.\d+)+(-\d+)*)"
 
 inherit setuptools3
diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem.inc b/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem.inc
new file mode 100644
index 0000000..5151c33
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem.inc
@@ -0,0 +1,48 @@
+SUMMARY = "Python WBEM Client and Provider Interface"
+DESCRIPTION = "\
+A Python library for making CIM (Common Information Model) operations over \
+HTTP using the WBEM CIM-XML protocol. It is based on the idea that a good \
+WBEM client should be easy to use and not necessarily require a large amount \
+of programming knowledge. It is suitable for a large range of tasks from \
+simply poking around to writing web and GUI applications. \
+\
+WBEM, or Web Based Enterprise Management is a manageability protocol, like \
+SNMP, standardised by the Distributed Management Task Force (DMTF) available \
+at http://www.dmtf.org/standards/wbem. \
+\
+It also provides a Python provider interface, and is the fastest and easiest \
+way to write providers on the planet."
+HOMEPAGE = "http://pywbem.github.io"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://pywbem/LICENSE.txt;md5=fbc093901857fcd118f065f900982c24"
+SRC_URI[md5sum] = "1465dfa92e4cbe558c773838b9b00711"
+SRC_URI[sha256sum] = "2a05f2c1a6ab4b08560a6da55fdaabd0f52f4d1e6df6e288b9ed927bf5c289ed"
+
+inherit pypi 
+
+DEPENDS += " \
+    ${PYTHON_PN}-ply-native \
+    ${PYTHON_PN}-pyyaml-native \
+    ${PYTHON_PN}-six-native \
+"
+
+do_install_append() {
+    mv ${D}${bindir}/wbemcli.py ${D}${bindir}/pywbemcli
+
+    rm -f ${D}${bindir}/*.bat
+}
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-ply \
+    ${PYTHON_PN}-pyyaml \
+    ${PYTHON_PN}-six \
+    ${PYTHON_PN}-stringold \
+    ${PYTHON_PN}-threading \
+    ${PYTHON_PN}-unixadmin \
+    ${PYTHON_PN}-xml \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb
new file mode 100644
index 0000000..7410749
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/pywbem/python-pywbem_0.11.0.bb
@@ -0,0 +1,13 @@
+require python-pywbem.inc
+inherit setuptools
+
+DEPENDS += " \
+    ${PYTHON_PN}-m2crypto-native \
+    ${PYTHON_PN}-typing-native \
+"
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-argparse \
+    ${PYTHON_PN}-m2crypto \
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb
new file mode 100644
index 0000000..6a35a87
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_0.11.0.bb
@@ -0,0 +1,2 @@
+require python-pywbem.inc
+inherit setuptools3
diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/pywbem_0.8.0.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/pywbem_0.8.0.bb
deleted file mode 100644
index 7f1986e..0000000
--- a/meta-openembedded/meta-python/recipes-extended/pywbem/pywbem_0.8.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Python WBEM Client and Provider Interface"
-DESCRIPTION = "\
-A Python library for making CIM (Common Information Model) operations over \
-HTTP using the WBEM CIM-XML protocol. It is based on the idea that a good \
-WBEM client should be easy to use and not necessarily require a large amount \
-of programming knowledge. It is suitable for a large range of tasks from \
-simply poking around to writing web and GUI applications. \
-\
-WBEM, or Web Based Enterprise Management is a manageability protocol, like \
-SNMP, standardised by the Distributed Management Task Force (DMTF) available \
-at http://www.dmtf.org/standards/wbem. \
-\
-It also provides a Python provider interface, and is the fastest and easiest \
-way to write providers on the planet."
-HOMEPAGE = "http://pywbem.sf.net/"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://pywbem/LICENSE.txt;md5=fbc093901857fcd118f065f900982c24"
-SECTION = "Development/Libraries"
-DEPENDS = "python-m2crypto-native python-typing-native"
-SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BPN}/${BP}/${BP}-dev.r704.zip"
-SRC_URI[md5sum] = "84072451dcdd1aa9ee82363848faf7ad"
-SRC_URI[sha256sum] = "898035866d3cc741bbcd62c4ac26e633ad07b7c11d89db2472b9f923f3fd3ed8"
-
-S = "${WORKDIR}/${BP}-dev"
-
-inherit setuptools python-dir
-
-do_install_append() {
-    mv ${D}${bindir}/wbemcli.py ${D}${bindir}/pywbemcli
-    mv ${D}${bindir}/mof_compiler.py ${D}${bindir}/mofcomp
-
-    rm ${D}${libdir}/python2.7/site-packages/${BPN}/wbemcli.py*
-    rm ${D}${libdir}/python2.7/site-packages/${BPN}/mof_compiler.py*
-}
-
-BBCLASSEXTEND = "native"