Yocto 2.3

Move OpenBMC to Yocto 2.3(pyro).

Tested: Built and verified Witherspoon and Palmetto images
Change-Id: I50744030e771f4850afc2a93a10d3507e76d36bc
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Resolves: openbmc/openbmc#2461
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson.inc
new file mode 100644
index 0000000..a0d20ff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson.inc
@@ -0,0 +1,13 @@
+SUMMARY = "Wraps the best available JSON implementation available in a common interface"
+DESCRIPTION = "Anyjson loads whichever is the fastest JSON module installed and  \
+provides a uniform API regardless of which JSON implementation is used."
+HOMEPAGE = "https://bitbucket.org/runeh/anyjson"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=989aa97e73c912a83a3c873fa11deb08"
+
+inherit pypi
+
+SRC_URI[md5sum] = "2ea28d6ec311aeeebaf993cb3008b27c"
+SRC_URI[sha256sum] = "37812d863c9ad3e35c0734c42e0bf0320ce8c3bed82cd20ad54cb34d158157ba"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-simplejson"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson_0.3.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson_0.3.3.bb
new file mode 100644
index 0000000..31b8749
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-anyjson_0.3.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-anyjson.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.4.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.4.9.bb
new file mode 100644
index 0000000..cee1291
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-astroid_1.4.9.bb
@@ -0,0 +1,17 @@
+SUMMARY = "An abstract syntax tree for Python with inference support."
+HOMEPAGE = "https://pypi.python.org/pypi/astroid"
+SECTION = "devel/python"
+LICENSE = "LGPL"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI[md5sum] = "a57438971de05eb801b82eae59c05217"
+SRC_URI[sha256sum] = "a483e7891ce3a06dadfc6cb9095b0938aca58940d43576d72e4502b480c085d7"
+
+inherit setuptools pypi
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-distutils \
+    ${PYTHON_PN}-lazy-object-proxy \
+    ${PYTHON_PN}-six \
+    ${PYTHON_PN}-wrapt \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-autobahn_0.8.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-autobahn_0.8.6.bb
deleted file mode 100644
index e64dd8f..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-autobahn_0.8.6.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "AutobahnPython provides a WebSocket (RFC6455, Hybi-10 to -17, Hixie-76) framework for creating WebSocket-based clients and servers. \
-AutobahnPython also includes an implementation of WAMP (The WebSockets Application Messaging Protocol), a light-weight,  \
-asynchronous RPC/PubSub over JSON/WebSocket protocol."
-HOMEPAGE = "http://autobahn.ws/python"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = " file://autobahn/__init__.py;beginline=1;endline=17;md5=1fdeccf6e5b70cda64cc1345597c18e3"
-
-SRC_URI[md5sum] = "160429e7fb043940e79aa7f4ebbab57a"
-SRC_URI[sha256sum] = "94ae5c6f37f9fe7c9d3f12c170fcc273afed4104a1c5508b26d6014bb9e6373e"
-
-PYPI_PACKAGE_EXT = "zip"
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "python python-pprint python-twisted-protocols python-netserver python-twisted-web"
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
new file mode 100644
index 0000000..866ce78
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel.inc
@@ -0,0 +1,20 @@
+DESCRIPTION = "A collection of tools for internationalizing Python applications"
+HOMEPAGE = "http://babel.edgewall.org/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e6eeaabc92cfc2d03f53e789324d7292"
+
+SRC_URI[md5sum] = "afa20bc55b0e991833030129ad498f35"
+SRC_URI[sha256sum] = "c535c4403802f6eb38173cd4863e419e2274921a01a8aad8a5b497c131c62875"
+
+PYPI_PACKAGE = "Babel"
+
+inherit pypi
+
+CLEANBROKEN = "1"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-pickle \
+    ${PYTHON_PN}-pytz \
+    ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.3.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.3.4.bb
new file mode 100644
index 0000000..e0eadcd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-babel_2.3.4.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-babel.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.3.bb
new file mode 100644
index 0000000..211cfde
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-backports-functools-lru-cache_1.3.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Backport of functools.lru_cache from Python 3.3"
+HOMEPAGE = "https://github.com/jaraco/backports.functools_lru_cache"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=42;endline=42;md5=98fc3658e5970d26f6b2109808c766be"
+
+PYPI_PACKAGE = "backports.functools_lru_cache"
+
+SRC_URI[md5sum] = "b26a223250bd24ea2e0ad6ce47b19084"
+SRC_URI[sha256sum] = "444a21bcec4ae177da554321f81a78dc879eaa8f6ea9920cb904830585d31e95"
+
+DEPENDS = "python-setuptools-scm-native"
+
+inherit setuptools pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.1.bb
deleted file mode 100644
index aae037f..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "Modern password hashing for your software and your servers."
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8f7bb094c7232b058c7e9f2e431f389c"
-
-DEPENDS = "python-cffi-native"
-
-SRC_URI[md5sum] = "7348b2c361e23cf205701bba7652d789"
-SRC_URI[sha256sum] = "0309a4a72bd1dc314279cf1ee14e277227732f14c9b63ab96715654e13fe9321"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "\
-    python-cffi \
-    python-six \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb
new file mode 100644
index 0000000..c690f0d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-bcrypt_3.1.3.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Modern password hashing for your software and your servers."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8f7bb094c7232b058c7e9f2e431f389c"
+
+DEPENDS = "python-cffi-native"
+
+SRC_URI[md5sum] = "20da8b40790caad99c4086dba533154b"
+SRC_URI[sha256sum] = "6645c8d0ad845308de3eb9be98b6fd22a46ec5412bfc664a423e411cdd8f5488"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-cffi \
+    ${PYTHON_PN}-six \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc
new file mode 100644
index 0000000..1878f31
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can.inc
@@ -0,0 +1,9 @@
+SUMMARY = "Controller Area Network (CAN) interface module for Python"
+SECTION = "devel/python"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=38138baa100d7259934590850bc0406e"
+
+SRC_URI[md5sum] = "f653aecf8b9034bbba32cc04ca6a7b6d"
+SRC_URI[sha256sum] = "edabb426e6cd11c2dc7a98980340135aa0eb02143b0d51bf14e3e6178c131cc3"
+
+PYPI_PACKAGE="python-can"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_1.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_1.5.2.bb
new file mode 100644
index 0000000..ec81a9e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-can_1.5.2.bb
@@ -0,0 +1,4 @@
+require python-can.inc
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "python-sqlite3"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc
new file mode 100644
index 0000000..3146bc7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cassandra-driver.inc
@@ -0,0 +1,33 @@
+SUMMARY = "DataStax Python Driver for Apache Cassandra"
+DESCRIPTION = "A modern, feature-rich and highly-tunable Python client \
+library for Apache Cassandra (1.2+) and DataStax Enterprise (3.1+) using \
+exclusively Cassandra's binary protocol and Cassandra Query Language v3."
+HOMEPAGE = "https://github.com/datastax/python-driver"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
+SRCNAME = "cassandra-driver"
+
+SRC_URI[md5sum] = "7561a89cd8a432a22cf33abef76b64ee"
+SRC_URI[sha256sum] = "10b0c88854f3bddcfd994cb208d780507de62524ef8dcb4f068c084d335b7054"
+
+DISTUTILS_BUILD_ARGS += " \
+    --no-libev \
+"
+DISTUTILS_INSTALL_ARGS += " \
+    --no-libev \
+"
+
+inherit pypi
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-cython \
+    ${PYTHON_PN}-multiprocessing \
+    ${PYTHON_PN}-six \
+    ${PYTHON_PN}-json \
+    libevent \
+"
+
+DEPENDS_${PN} += "\
+    ${PYTHON_PN}-cython \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
index 894154d..1df23cf 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi.inc
@@ -7,8 +7,7 @@
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1"
 
-SRC_URI[md5sum] = "baa81e951a29958563689d868ef1064d"
-SRC_URI[sha256sum] = "8275aef1bbeaf05c53715bfc5d8569bd1e04ca1e8e69608cc52bcaac2604eb19"
+SRC_URI[md5sum] = "b72521a8badff5e89a8eabea586d79ab"
+SRC_URI[sha256sum] = "81877fb7ac126e9215dfb15bfef7115fdc30e798e0013065158eed0707fd99ce"
 
 BBCLASSEXTEND = "native nativesdk"
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2016.9.26.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2017.1.23.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2016.9.26.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2017.1.23.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
index d24d6ff..21e41c1 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
@@ -1,9 +1,13 @@
 SUMMARY = "Foreign Function Interface for Python calling C code"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf"
-DEPENDS = "libffi ${PYTHON_PN}-pycparser"
+DEPENDS += "libffi ${PYTHON_PN}-pycparser"
 
-SRC_URI[md5sum] = "c8e877fe0426a99d0cf5872cf2f95b27"
-SRC_URI[sha256sum] = "c321bd46faa7847261b89c0469569530cad5a41976bb6dba8202c0159f476568"
+SRC_URI[md5sum] = "b8fa7ccb87790531db3316ab17aa8244"
+SRC_URI[sha256sum] = "563e0bd53fda03c151573217b3a49b3abad8813de9dd0632e10090f6190fdaf8"
+
+RDEPENDS_${PN}_class-target = " \
+    ${PYTHON_PN}-io \
+"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.8.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.9.1.bb
similarity index 99%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.8.3.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.9.1.bb
index 1d2d241..3cd62d1 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.8.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cffi_1.9.1.bb
@@ -1,2 +1,2 @@
-inherit pypi setuptools
 require python-cffi.inc
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc
new file mode 100644
index 0000000..42b64a2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet.inc
@@ -0,0 +1,8 @@
+SUMMARY = "Universal encoding detector for Python 2 and 3"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+inherit pypi
+
+SRC_URI[md5sum] = "96e364abdbde20b5f6dbbe2ad9d54d04"
+SRC_URI[sha256sum] = "4f7832e7c583348a9eddd927ee8514b3bf717c061f57b21dbe7697211454d9bb"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_2.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_2.3.0.bb
deleted file mode 100644
index dfc979b..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_2.3.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "Universal encoding detector for Python 2 and 3"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-SRC_URI[md5sum] = "25274d664ccb5130adae08047416e1a8"
-SRC_URI[sha256sum] = "e53e38b3a4afe6d1132de62b7400a4ac363452dc5dfcf8d88e8e0cce663c68aa"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.2.bb
new file mode 100644
index 0000000..b7a46e9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-chardet_3.0.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-chardet.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
index 90809af..718bbab 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click.inc
@@ -8,8 +8,10 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=09e8b7869f94ba9e9a7b260d53c65dab"
 
-SRC_URI[md5sum] = "d0b09582123605220ad6977175f3e51d"
-SRC_URI[sha256sum] = "cc6a19da8ebff6e7074f731447ef7e112bd23adf3de5c597cf9989f2fd8defe9"
+SRC_URI[md5sum] = "fc4cc00c4863833230d3af92af48abd4"
+SRC_URI[sha256sum] = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"
+
+CLEANBROKEN = "1"
 
 RDEPENDS_${PN} += "\
     ${PYTHON_PN}-io \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.7.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.6.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-click_6.7.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb
deleted file mode 100644
index 1490e22..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "A component which enables calling DBus methods and registering on DBus signals from Javascript"
-HOMEPAGE = "https://github.com/01org/cloudeebus"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
-
-SRC_URI = "git://github.com/01org/cloudeebus.git;protocol=http;branch=master "
-SRCREV = "b5cc957eeabfe98cb996baf8e5a0ac848993c3d4"
-
-S = "${WORKDIR}/git"
-
-inherit distutils setuptools
-
-DEPENDS_${PN} = "python python-distribute"
-RDEPENDS_${PN} = "python python-dbus python-json python-argparse python-pygobject python-autobahn python-twisted python-subprocess"
-
-do_install_prepend() {
-  install -d ${D}${PYTHON_SITEPACKAGES_DIR}/${PN}
-}
-
-DISTUTILS_INSTALL_ARGS = "--root=${D} \
-    --single-version-externally-managed \
-    --prefix=${prefix} \
-    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
-    --install-data=${datadir}"
-
-do_install_append() {
-  distutils_do_install
-  install -d ${D}${datadir}/doc/${BPN}/
-  install -m 0644 ${S}/README.md ${D}${datadir}/doc/${BPN}/
-}
-
-FILES_${PN} += "${datadir}/cloudeebus"
-FILES_${PN} += "${sysconfdir}/dbus-1/system.d/org.cloudeebus.conf"
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.6.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.6.9.bb
deleted file mode 100644
index ed99792..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.6.9.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Extra features for standard library's cmd module"
-HOMEPAGE = "http://packages.python.org/cmd2/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://setup.py;beginline=17;endline=17;md5=25c0f7ede01b1eab41daf880e5791f05"
-
-SRC_URI[md5sum] = "cf39b5a34955d263b42a7ffc9d3e536d"
-SRC_URI[sha256sum] = "ef09745c91dbc13344db6d81f4dea4c844bf2fabf3baf91fab1bb54e4b3bb328"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-doctest \
-    ${PYTHON_PN}-pyparsing \
-    ${PYTHON_PN}-shell \
-    ${PYTHON_PN}-stringold \
-    ${PYTHON_PN}-subprocess \
-    ${PYTHON_PN}-textutils \
-    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.0.bb
new file mode 100644
index 0000000..5c092a7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.7.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Extra features for standard library's cmd module"
+HOMEPAGE = "http://packages.python.org/cmd2/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=43;endline=43;md5=0f13c9cfc75288223cf7edd2f3b985a2"
+
+SRC_URI[md5sum] = "ee92ff1b73765d64bf230e94512d0b7a"
+SRC_URI[sha256sum] = "5ab76a1f07dd5fd1cc3c15ba4080265f33b80c7fd748d71bd69a51d60b30f51a"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-doctest \
+    ${PYTHON_PN}-pyparsing \
+    ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-six \
+    ${PYTHON_PN}-stringold \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-threading \
+    ${PYTHON_PN}-textutils \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
index 62dfbfd..122528b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors.inc
@@ -3,13 +3,15 @@
 LICENSE = "Apache-2.0 | BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4"
 
-DEPENDS = " \
+DEPENDS += " \
     ${PYTHON_PN}-cryptography \
 "
 
-SRC_URI[md5sum] = "b8555dfadafc4ecab4ee4650430d9cab"
-SRC_URI[sha256sum] = "0728815ef0c53d67fd437aa5220450a9752d41ecb28108f5df628a092ff466ea"
+SRC_URI[md5sum] = "c3f2a66d71a0413879d4dd001c56de95"
+SRC_URI[sha256sum] = "4be4eee8a11deee5c2f00e389b49de8ce2642130282d1cd0adffb2f7dbe0acdc"
 
 PYPI_PACKAGE = "cryptography_vectors"
 
 BBCLASSEXTEND = "native nativesdk"
+
+UPSTREAM_CHECK_REGEX = ""
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.7.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.4.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography-vectors_1.7.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
index d4767b1..601b12b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography.inc
@@ -1,6 +1,6 @@
 SUMMARY = "Provides cryptographic recipes and primitives to python developers"
 LICENSE = "Apache-2.0 | BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d5ede125ed08d4fd14ec44d334bdb388"
 
 DEPENDS += " \
     ${PYTHON_PN}-cffi \
@@ -9,18 +9,27 @@
     ${PYTHON_PN}-six \
 "
 
-SRC_URI[md5sum] = "a9763e3831cc7cdb402c028fac1ceb39"
-SRC_URI[sha256sum] = "bb149540ed90c4b2171bf694fe6991d6331bc149ae623c8ff419324f4222d128"
+SRC_URI[md5sum] = "fade66de437392ed1ba6980768626204"
+SRC_URI[sha256sum] = "878cb68b3da3d493ffd68f36db11c29deee623671d3287c3f8d685117ffda9a9"
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-cffi \
     ${PYTHON_PN}-idna \
+    ${PYTHON_PN}-pyasn1 \
+    ${PYTHON_PN}-pycparser \
+    ${PYTHON_PN}-setuptools \
+    ${PYTHON_PN}-six \
+"
+
+RDEPENDS_${PN}_class-target += " \
+    ${PYTHON_PN}-cffi \
+    ${PYTHON_PN}-idna \
     ${PYTHON_PN}-numbers \
     ${PYTHON_PN}-pyasn1 \
     ${PYTHON_PN}-pycparser \
+    ${PYTHON_PN}-subprocess \
     ${PYTHON_PN}-setuptools \
     ${PYTHON_PN}-six \
-    ${PYTHON_PN}-subprocess \
     ${PYTHON_PN}-threading \
 "
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.7.2.bb
similarity index 72%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.4.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.7.2.bb
index b05c615..f5b1e0b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.4.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cryptography_1.7.2.bb
@@ -10,7 +10,12 @@
 "
 
 RDEPENDS_${PN} += " \
-    ${PYTHON_PN}-contextlib \
     ${PYTHON_PN}-enum34 \
     ${PYTHON_PN}-ipaddress \
 "
+
+RDEPENDS_${PN}_class-target += " \
+    ${PYTHON_PN}-enum34 \
+    ${PYTHON_PN}-ipaddress \
+    ${PYTHON_PN}-contextlib \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
index de8a1a9..1ecdcc9 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython.inc
@@ -7,14 +7,13 @@
 PYPI_PACKAGE = "Cython"
 BBCLASSEXTEND = "native"
 
-SRC_URI[md5sum] = "890b494a12951f1d6228c416a5789554"
-SRC_URI[sha256sum] = "84808fda00508757928e1feadcf41c9f78e9a9b7167b6649ab0933b76f75e7b9"
+SRC_URI[md5sum] = "642c81285e1bb833b14ab3f439964086"
+SRC_URI[sha256sum] = "f141d1f9c27a07b5a93f7dc5339472067e2d7140d1c5a9e20112a5665ca60306"
 
 inherit pypi
 
-RDEPENDS_${PN} += "\
+RDEPENDS_${PN}_class-target += "\
     ${PYTHON_PN}-netserver \
     ${PYTHON_PN}-subprocess \
     ${PYTHON_PN}-shell \
 "
-RDEPENDS_${PN}_class-native = ""
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.24.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.24.1.bb
deleted file mode 100644
index 6be0b1e..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.24.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools
-require python-cython.inc
-
-RDEPENDS_${PN} += "\
-    python-distribute \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.25.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.25.2.bb
new file mode 100644
index 0000000..bdf9490
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.25.2.bb
@@ -0,0 +1,9 @@
+inherit setuptools
+require python-cython.inc
+
+UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/Cython/"
+UPSTREAM_CHECK_REGEX = "/Cython/(?P<pver>(\d+[\.\-_]*)+)"
+
+RDEPENDS_${PN} += "\
+    python-distribute \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
index 5c9355e..d0ebc70 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
@@ -4,8 +4,8 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=51430b33c900f45f999c459ee29ca493"
 
-SRC_URI[md5sum] = "05ffc6d2cc85a7fd93bb245807f715ef"
-SRC_URI[sha256sum] = "1408fdb07c6a1fa9997567ce3fcee6a337b39a503d80699e0f213de4aa4b32ed"
+SRC_URI[md5sum] = "6e38f91e8c94c15a79ce22768dfeca87"
+SRC_URI[sha256sum] = "62a2f8df3d66f878373fd0072eacf4ee52194ba302e00082828e0d263b0418d2"
 
 PYPI_PACKAGE = "python-dateutil"
 inherit pypi
@@ -13,7 +13,7 @@
 PACKAGES =+ "${PN}-zoneinfo"
 FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo"
 
-RDEPENDS_${PN} = "\
+RDEPENDS_${PN}_class-target = "\
     ${PYTHON_PN}-core \
     ${PYTHON_PN}-datetime \
     ${PYTHON_PN}-six \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.5.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.6.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.5.3.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil_2.6.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc
index 9264cef..aeae231 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator.inc
@@ -7,10 +7,10 @@
 decorator, just because you can."
 
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=41e24e0e235a97e60cdb5c4137fa2cd0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=893f896413826096ce5270c700a498fd"
 
-SRC_URI[md5sum] = "434b57fdc3230c500716c5aff8896100"
-SRC_URI[sha256sum] = "9c6e98edcb33499881b86ede07d9968c81ab7c769e28e9af24075f0a5379f070"
+SRC_URI[md5sum] = "73644c8f0bd4983d1b6a34b49adec0ae"
+SRC_URI[sha256sum] = "953d6bf082b100f43229cf547f4f97f97e970f5ad645ee7601d55ff87afdfe76"
 
 inherit pypi
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.11.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.10.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-decorator_4.0.11.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.9.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.10.5.bb
similarity index 78%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.9.7.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.10.5.bb
index 8693da8..11242df 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.9.7.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-django_1.10.5.bb
@@ -3,8 +3,8 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa"
 
-SRC_URI[md5sum] = "7de9ba83bfe01f4b7d45645c1b259c83"
-SRC_URI[sha256sum] = "2b29e81c8c32b3c0d9a0119217416887c480d927ae2630bada2da83078c93bf6"
+SRC_URI[md5sum] = "3fce02f1e6461fec21f1f15ea7489924"
+SRC_URI[sha256sum] = "0db89374b691b9c8b057632a6cd64b18d08db2f4d63b4d4af6024267ab965f8b"
 
 PYPI_PACKAGE = "Django"
 inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc
new file mode 100644
index 0000000..6a04429
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython.inc
@@ -0,0 +1,20 @@
+DESCRIPTION = "DNS toolkit for Python"
+HOMEPAGE = "http://www.dnspython.org/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b9d855ee0d7bea17c8b0994d37985e1e"
+
+SRC_URI[md5sum] = "05d33ffb5d8f35ae0474bb952778a344"
+SRC_URI[sha256sum] = "40f563e1f7a7b80dc5a4e76ad75c23da53d62f1e15e6e517293b04e1f84ead7c"
+
+PYPI_PACKAGE_EXT = "zip"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-crypt \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-math \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython_1.15.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython_1.15.0.bb
new file mode 100644
index 0000000..9dbcd0f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dnspython_1.15.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-dnspython.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.2.1.bb
deleted file mode 100644
index dc6e41c..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.2.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API."
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a30b9a8d0a5585c482c6c5a6d54aaebc"
-
-SRC_URI[md5sum] = "cd156b5b290f49f2bb5814ea8acc12a3"
-SRC_URI[sha256sum] = "4aa6a2f458461541f9ceeb58b49da9b42320f80aa2a6f692baea2817431d9953"
-
-PYPI_PACKAGE_EXT = "zip"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-numbers \
-    ${PYTHON_PN}-threading \
-    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb
new file mode 100644
index 0000000..13ebf92
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-dominate_2.3.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API."
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
+
+SRC_URI[md5sum] = "45bd97e6f7888aac24ae86013c57638e"
+SRC_URI[sha256sum] = "4b8ce6f33633c9dd9175b228d21c00c801b6bd0327747cd5e17fc2da934c3a69"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-threading \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb
index e9d075f..31d2147 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-enum34_1.1.6.bb
@@ -6,3 +6,5 @@
 SRC_URI[sha256sum] = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1"
 
 inherit pypi setuptools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.6.0.bb
deleted file mode 100644
index a115f23..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.6.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "An extension that includes Bootstrap in your project, without any boilerplate code."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=3452e378337a5cc2092d32a140178d5a"
-
-SRC_URI[md5sum] = "b8aedbe51f2bf511af955f2bc288cd8c"
-SRC_URI[sha256sum] = "3a7b71e22596a6d559965e059958960e0bb671adc131537a79edb491a8f31714"
-
-PYPI_PACKAGE = "Flask-Bootstrap"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-dominate \
-    ${PYTHON_PN}-flask \
-    ${PYTHON_PN}-visitor \
-    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb
new file mode 100644
index 0000000..2b2a6f9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-bootstrap_3.3.7.1.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "An extension that includes Bootstrap in your project, without any boilerplate code."
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=a03749709f06118a17349deb5a210619"
+
+SRC_URI[md5sum] = "e40d50f5c5b6438c1c6200a6f2871f81"
+SRC_URI[sha256sum] = "cb08ed940183f6343a64e465e83b3a3f13c53e1baabb8d72b5da4545ef123ac8"
+
+PYPI_PACKAGE = "Flask-Bootstrap"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-dominate \
+    ${PYTHON_PN}-flask \
+    ${PYTHON_PN}-visitor \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login.inc
index 6d4db48..7dddba0 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login.inc
@@ -6,9 +6,9 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8aa87a1cd9fa41d969ad32cfdac2c596"
 
-SRC_URI[md5sum] = "d95c2275d3e1c755145910077366dc45"
-SRC_URI[sha256sum] = "e72eff5c35e5a31db1aeca1db5d2501be702674ea88e8f223b5d2b11644beee6"
+SRC_URI[md5sum] = "e050efaa2c4dbc2d97f480a70f4d44aa"
+SRC_URI[sha256sum] = "d25e356b14a59f52da0ab30c31c2ad285fa23a840f0f6971df7ed247c77082a7"
 
 PYPI_PACKAGE = "Flask-Login"
 
-RDEPENDS_${PN} = "${PYTHON_PN}-flask"
+RDEPENDS_${PN}_class-target = "${PYTHON_PN}-flask"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.3.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.4.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.3.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-login_0.4.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.1.bb
deleted file mode 100644
index a258713..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Adds SQLAlchemy support to your Flask application."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5ed1b8cc741515a835a7f6bf2f62ef4a"
-
-SRC_URI[md5sum] = "dc15fe08b07b434d3d2c4063b4674b72"
-SRC_URI[sha256sum] = "c5244de44cc85d2267115624d83faef3f9e8f088756788694f305a5d5ad137c5"
-
-PYPI_PACKAGE = "Flask-SQLAlchemy"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "python-sqlalchemy"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.2.bb
new file mode 100644
index 0000000..1190f34
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask-sqlalchemy_2.2.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Adds SQLAlchemy support to your Flask application."
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5ed1b8cc741515a835a7f6bf2f62ef4a"
+
+SRC_URI[md5sum] = "a93e6af389afac6666733e369c06c798"
+SRC_URI[sha256sum] = "f0d8241efba723d7b878f73550f5d3c0fbb042416123b52b36640b7491fa208b"
+
+PYPI_PACKAGE = "Flask-SQLAlchemy"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} = "${PYTHON_PN}-sqlalchemy ${PYTHON_PN}-flask"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
index 87d020e..04935a6 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
@@ -6,8 +6,10 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=19866b76b054ab30c270c0eb9d7e43d7"
 
-SRC_URI[md5sum] = "d2af95d8fe79cf7da099f062dd122a08"
-SRC_URI[sha256sum] = "b4713f2bfb9ebc2966b8a49903ae0d3984781d5c878591cf2f7b484d28756b0e"
+SRC_URI[md5sum] = "c1d30f51cff4a38f9454b23328a15c5a"
+SRC_URI[sha256sum] = "93e803cdbe326a61ebd5c5d353959397c85f829bec610d59cb635c9f97d7ca8b"
+
+CLEANBROKEN = "1"
 
 PYPI_PACKAGE = "Flask"
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.12.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.11.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-flask_0.12.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-funcsigs_1.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-funcsigs_1.0.2.bb
new file mode 100644
index 0000000..dad15ee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-funcsigs_1.0.2.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+"
+DESCRPTION = " \
+funcsigs is a backport of the `PEP 362`_ function signature features from \
+Python 3.3's `inspect`_ module. The backport is compatible with Python 2.6, \
+2.7 as well as 3.3 and up. 3.2 was supported by version 0.4, but with \
+setuptools and pip no longer supporting 3.2, we cannot make any statement \
+about 3.2 compatibility. \
+"
+
+HOMEPAGE = "http://funcsigs.readthedocs.org"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d6bc91dc8e5793892189fe7481a2d354"
+
+SRC_URI[md5sum] = "7e583285b1fb8a76305d6d68f4ccc14e"
+SRC_URI[sha256sum] = "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50"
+
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_1.2.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_1.2.4.bb
deleted file mode 100644
index 2205584..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_1.2.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Google Data APIs Python Client Library"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://README.txt;md5=473bd4dff0ddca1f958244b2dc7a162c"
-HOMEPAGE = "http://code.google.com/p/gdata-python-client/"
-
-inherit distutils
-
-SRC_URI = "http://gdata-python-client.googlecode.com/files/gdata.py-${PV}.tar.gz"
-SRC_URI[md5sum] = "521f33a377d64f8a6505ba119415b787"
-SRC_URI[sha256sum] = "fc5ddb8f76b17abd728721a0e0177ea35f55a70106f44dc9010b22eceb06abde"
-
-S = "${WORKDIR}/gdata.py-${PV}"
-
-FILES_${PN} += "${datadir}"
-
-RDEPENDS_${PN} = "python-xml"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_2.0.18.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_2.0.18.bb
new file mode 100644
index 0000000..897581f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gdata_2.0.18.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Google Data APIs Python Client Library"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.txt;md5=4c8f0e6846e52a7fe4943acf462d808d"
+HOMEPAGE = "http://code.google.com/p/gdata-python-client/"
+
+SRC_URI[md5sum] = "13b6e6dd8f9e3e9a8e005e05a8329408"
+SRC_URI[sha256sum] = "56e7d22de819c22b13ceb0fe1869729b4287f89ebbd4bb55380d7bcf61a1fdb6"
+
+S = "${WORKDIR}/gdata.py-${PV}"
+
+inherit pypi distutils
+
+FILES_${PN} += "${datadir}"
+
+RDEPENDS_${PN} = " \
+    ${PYTHON_PN}-distutils \
+    ${PYTHON_PN}-json \
+    ${PYTHON_PN}-netserver \
+    ${PYTHON_PN}-stringold \
+    ${PYTHON_PN}-xml \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/libev-conf.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/libev-conf.patch
new file mode 100644
index 0000000..79c1867
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent/libev-conf.patch
@@ -0,0 +1,26 @@
+From 2294734ef9d5e2efb05820e9759a1635799bdea9 Mon Sep 17 00:00:00 2001
+From: Andrej Rode <andrej.rode@ettus.com>
+Date: Mon, 10 Apr 2017 19:25:18 -0700
+Subject: [PATCH] libev: make configure crosscompile compatible
+
+Signed-off-by: Andrej Rode <andrej.rode@ettus.com>
+---
+ deps/libev/configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/deps/libev/configure b/deps/libev/configure
+index 743817e..96c2366 100755
+--- a/deps/libev/configure
++++ b/deps/libev/configure
+@@ -2208,7 +2208,7 @@ fi
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_link='$CC -static -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ 
+ 
+-- 
+2.10.2
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_0.13.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_0.13.8.bb
deleted file mode 100644
index d1c0a3c..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_0.13.8.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "A coroutine-based Python networking library"
-DESCRIPTION = "gevent is a coroutine-based Python networking library that uses greenlet to provide \
-a high-level synchronous API on top of the libevent event loop."
-HOMEPAGE = "http://www.gevent.org"
-LICENSE = "MIT & BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2dbb33d00e1fd31c7041460a81ac0bd2 \
-                    file://LICENSE.pyevent;md5=718070c63de243053e2c616268b00fdd"
-DEPENDS += "python-greenlet libevent"
-RDEPENDS_${PN} += "python-greenlet python-mime python-pprint python-re"
-
-SRC_URI[md5sum] = "ca9dcaa7880762d8ebbc266b11252960"
-SRC_URI[sha256sum] = "54b8d26300ce408c0916a3e63ef6cd3e6aca76230833558deb7de15196ed955e"
-
-inherit pypi setuptools
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.1.bb
new file mode 100644
index 0000000..953f48f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-gevent_1.2.1.bb
@@ -0,0 +1,28 @@
+SUMMARY = "A coroutine-based Python networking library"
+DESCRIPTION = "gevent is a coroutine-based Python networking library that uses greenlet to provide \
+a high-level synchronous API on top of the libevent event loop."
+HOMEPAGE = "http://www.gevent.org"
+LICENSE = "MIT & Python-2.0 & BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2dbb33d00e1fd31c7041460a81ac0bd2 \
+                    file://NOTICE;md5=5966cd2c6582656d28ab3c33da3860f8 \
+                    file://deps/libev/LICENSE;md5=d6ad416afd040c90698edcdf1cbee347"
+DEPENDS += "python-greenlet libevent"
+RDEPENDS_${PN} += "python-greenlet python-mime python-pprint python-re"
+
+SRC_URI_append = " \
+    file://libev-conf.patch;patch=1;pnum=1 \
+"
+
+SRC_URI[md5sum] = "6700a2433c8e0635425e6798760efc81"
+SRC_URI[sha256sum] = "3de300d0e32c31311e426e4d5d73b36777ed99c2bac3f8fbad939eeb2c29fa7c"
+
+# The python-gevent has no autoreconf ability
+# and the logic for detecting a cross compile is flawed
+# so always force a cross compile
+do_configure_append() {
+	sed -i -e 's/^cross_compiling=no/cross_compiling=yes/' ${S}/deps/libev/configure
+	sed -i -e 's/^cross_compiling=no/cross_compiling=yes/' ${S}/deps/c-ares/configure
+}
+
+inherit pypi setuptools
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet/0001-Use-x-instead-of-r-for-aarch64-register-names.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet/0001-Use-x-instead-of-r-for-aarch64-register-names.patch
deleted file mode 100644
index 4868bf3..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet/0001-Use-x-instead-of-r-for-aarch64-register-names.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From b53fb3bf861f895034452e984f2accb8bebbd3c9 Mon Sep 17 00:00:00 2001
-From: Fredrik Fornwall <fredrik@fornwall.net>
-Date: Wed, 7 Sep 2016 09:25:54 +0200
-Subject: [PATCH] Use x instead of r for aarch64 register names
-
-This fixes clang compatibility.
----
-Upstream-Status: Backport
-
- platform/switch_aarch64_gcc.h | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/platform/switch_aarch64_gcc.h b/platform/switch_aarch64_gcc.h
-index 2fbc569..0b9d556 100644
---- a/platform/switch_aarch64_gcc.h
-+++ b/platform/switch_aarch64_gcc.h
-@@ -2,6 +2,7 @@
-  * this is the internal transfer function.
-  *
-  * HISTORY
-+ * 07-Sep-16 Add clang support using x register naming. Fredrik Fornwall
-  * 13-Apr-13 Add support for strange GCC caller-save decisions
-  * 08-Apr-13 File creation. Michael Matz
-  *
-@@ -15,8 +16,8 @@
- 
- #ifdef SLP_EVAL
- #define STACK_MAGIC 0
--#define REGS_TO_SAVE "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26", \
--                     "r27", "r28", "r30" /* aka lr */, \
-+#define REGS_TO_SAVE "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", \
-+                     "x27", "x28", "x30" /* aka lr */, \
-                      "v8", "v9", "v10", "v11", \
-                      "v12", "v13", "v14", "v15"
- 
--- 
-1.9.1
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.12.bb
new file mode 100644
index 0000000..4fc2c1d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.12.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Python lightweight in-process concurrent programming"
+LICENSE = "MIT & PSF"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=03143d7a1a9f5d8a0fee825f24ca9c36 \
+                    file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a"
+
+SRC_URI[md5sum] = "e8637647d58a26c4a1f51ca393e53c00"
+SRC_URI[sha256sum] = "e4c99c6010a5d153d481fdaf63b8a0782825c0721506d880403a3b9b82ae347e"
+
+inherit pypi distutils
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.9.bb
deleted file mode 100644
index 4c0faf5..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-greenlet_0.4.9.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Python lightweight in-process concurrent programming"
-LICENSE = "MIT & PSF"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=03143d7a1a9f5d8a0fee825f24ca9c36 \
-                    file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a"
-
-SRC_URI += "\
-           file://0001-Use-x-instead-of-r-for-aarch64-register-names.patch \
-           "
-SRC_URI[md5sum] = "c6659cdb2a5e591723e629d2eef22e82"
-SRC_URI[sha256sum] = "58b2f3a2e7075c655616bf95e82868db4980f3bb6661db70ad02a51e4ddd2252"
-
-PYPI_PACKAGE_EXT = "zip"
-inherit pypi distutils
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.9999999.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.9999999.bb
deleted file mode 100644
index bb92e59..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.9999999.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "HTML parser based on the WHATWG HTML specifcation"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1ba5ada9e6fead1fdc32f43c9f10ba7c"
-
-SRC_URI[md5sum] = "ef43cb05e9e799f25d65d1135838a96f"
-SRC_URI[sha256sum] = "2612a191a8d5842bfa057e41ba50bbb9dcb722419d2408c78cff4758d0754868"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.999999999.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.999999999.bb
new file mode 100644
index 0000000..d0f7b56
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-html5lib_0.999999999.bb
@@ -0,0 +1,14 @@
+SUMMARY = "HTML parser based on the WHATWG HTML specifcation"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1ba5ada9e6fead1fdc32f43c9f10ba7c"
+
+SRC_URI[md5sum] = "8578e4e3a341436cb9743a9e4a299239"
+SRC_URI[sha256sum] = "ee747c0ffd3028d2722061936b5c65ee4fe13c8e4613519b4447123fc4546298"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-six \
+    ${PYTHON_PN}-webencodings \
+    ${PYTHON_PN}-xml \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize.inc
new file mode 100644
index 0000000..d9fac09
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize.inc
@@ -0,0 +1,10 @@
+SUMMARY = "Python humanize utilities"
+HOMEPAGE = "http://github.com/jmoiron/humanize"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=d2eff82fc25dd07c919a02465884f02e"
+
+SRC_URI[md5sum] = "e8473d9dc1b220911cac2edd53b1d973"
+SRC_URI[sha256sum] = "a43f57115831ac7c70de098e6ac46ac13be00d69abbf60bdcac251344785bb19"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize_0.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize_0.5.1.bb
new file mode 100644
index 0000000..5769309
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-humanize_0.5.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-humanize.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
index 8e1fcb4..d099c0f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna.inc
@@ -1,9 +1,13 @@
 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=134bdad79491c37bdae32811572b4bc6"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=c9ba5acd829579492fd5eb306c7a0565"
 
-SRC_URI[md5sum] = "f6473caa9c5e0cc1ad3fd5d04c3c114b"
-SRC_URI[sha256sum] = "ed36f281aebf3cd0797f163bb165d84c31507cedd15928b095b1675e2d04c676"
+SRC_URI[md5sum] = "fc1d992bef73e8824db411bb5d21f012"
+SRC_URI[sha256sum] = "3cb5ce08046c4e3a560fc02f138d0ac63e00f8ce5901a56b32ec8b7994082aab"
+
+RDEPENDS_${PN}_class-target = "\
+    ${PYTHON_PN}-codecs \
+"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.5.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-idna_2.5.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.16.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.16.bb
deleted file mode 100644
index 1e97ef7..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.16.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Python 3.3+'s ipaddress for Python 2.6, 2.7, 3.2."
-HOMEPAGE = "https://github.com/phihag/ipaddress"
-LICENSE = "Python-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7f538584cc3407bf76042def7168548a"
-
-DEPENDS += "python-pip"
-
-SRC_URI[md5sum] = "1e27b62aa20f5b6fc200b2bdbf0d0847"
-SRC_URI[sha256sum] = "5a3182b322a706525c46282ca6f064d27a02cffbd449f9f47416f1dc96aa71b0"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.18.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.18.bb
new file mode 100644
index 0000000..cc4f589
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ipaddress_1.0.18.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Python 3.3+'s ipaddress for Python 2.6, 2.7, 3.2."
+HOMEPAGE = "https://github.com/phihag/ipaddress"
+LICENSE = "Python-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7f538584cc3407bf76042def7168548a"
+
+DEPENDS += "python-pip"
+
+SRC_URI[md5sum] = "310c2dfd64eb6f0df44aa8c59f2334a7"
+SRC_URI[sha256sum] = "5d8534c8e185f2d8a1fda1ef73f2c8f4b23264e8e30063feeb9511d492a413e1"
+
+inherit pypi setuptools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.2.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.2.5.bb
new file mode 100644
index 0000000..e365dc6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-isort_4.2.5.bb
@@ -0,0 +1,11 @@
+SUMMARY = "A Python utility / library to sort Python imports."
+HOMEPAGE = "https://pypi.python.org/pypi/isort"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
+
+SRC_URI[md5sum] = "71489ebd936429d5bda2af7ae662ed78"
+SRC_URI[sha256sum] = "56b20044f43cf6e6783fe95d054e754acca52dd43fbe9277c1bdff835537ea5c"
+
+inherit setuptools pypi
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
index c3ed6de..cf8010e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2.inc
@@ -4,11 +4,12 @@
 
 PYPI_PACKAGE = "Jinja2"
 
-SRC_URI[md5sum] = "edb51693fe22c53cee5403775c71a99e"
-SRC_URI[sha256sum] = "bc1ff2ff88dbfacefde4ddde471d1417d3b304e8df103a7a9437d47269201bf4"
+SRC_URI[md5sum] = "9e55f0db6620dd99a1b366183a94270d"
+SRC_URI[sha256sum] = "702a24d992f856fa8d5a7a36db6128198d0c21e1da34448ca236c42e92384825"
 
 RDEPENDS_${PN} += "${PYTHON_PN}-io ${PYTHON_PN}-pickle ${PYTHON_PN}-crypt \
     ${PYTHON_PN}-math ${PYTHON_PN}-netclient ${PYTHON_PN}-re ${PYTHON_PN}-textutils \
-    ${PYTHON_PN}-lang ${PYTHON_PN}-pprint ${PYTHON_PN}-shell ${PYTHON_PN}-markupsafe"
+    ${PYTHON_PN}-lang ${PYTHON_PN}-pprint ${PYTHON_PN}-shell ${PYTHON_PN}-markupsafe \
+    ${PYTHON_PN}-json ${PYTHON_PN}-threading ${PYTHON_PN}-numbers"
 
 CLEANBROKEN = "1"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.9.5.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.8.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jinja2_2.9.5.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.14.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.15.bb
similarity index 71%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.14.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.15.bb
index c845eda..f214bf2 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.14.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.15.bb
@@ -5,8 +5,8 @@
 
 inherit pypi setuptools
 
-SRC_URI[md5sum] = "cf4fbad8188f1389363433dbf867109f"
-SRC_URI[sha256sum] = "776d828d6f7b4581862529cf413439a652d74b9e3a0261fa08c36fd761a78b4a"
+SRC_URI[md5sum] = "818d36e05d68ba90ca2b26597bd82975"
+SRC_URI[sha256sum] = "ae23cd08b2f7246f8f2475363501e740c4ef93f08f2a3b7b9bcfac0cc37fceb1"
 
 RDEPENDS_${PN} += "${PYTHON_PN}-json ${PYTHON_PN}-jsonpointer ${PYTHON_PN}-netclient ${PYTHON_PN}-re ${PYTHON_PN}-stringold"
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
index 3466457..74933f5 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
@@ -2,8 +2,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8"
 
-SRC_URI[md5sum] = "374e848fdb69a3ce8b7e778b47c30640"
-SRC_URI[sha256sum] = "36673ac378feed3daa5956276a829699056523d7961027911f064b52255ead41"
+SRC_URI[md5sum] = "50c6b69a373a8b55ff1e0ec6e78f13f4"
+SRC_URI[sha256sum] = "6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02"
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-core \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.5.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.2.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.2.2.bb
new file mode 100644
index 0000000..ded9cfa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lazy-object-proxy_1.2.2.bb
@@ -0,0 +1,10 @@
+SUMMARY = "A fast and thorough lazy object proxy"
+HOMEPAGE = "https://python-lazy-object-proxy.readthedocs.io/"
+LICENSE = "BSD"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=96b1673d10167cb31b78e64f561c3286"
+
+SRC_URI[md5sum] = "841b5592bc12c6ef7e48ed1d7a5f9066"
+SRC_URI[sha256sum] = "ddd4cf1c74279c349cb7b9c54a2efa5105854f57de5f2d35829ee93631564268"
+
+inherit setuptools pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap/setup.cfg.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap/setup.cfg.patch
deleted file mode 100644
index a703d34..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap/setup.cfg.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- python-ldap-2.3.9/setup.cfg.orig    2009-08-13 11:07:23.000000000 +0200
-+++ python-ldap-2.3.9/setup.cfg 2009-08-13 11:07:37.000000000 +0200
-@@ -1,9 +1,9 @@
- [_ldap]
- extra_objects = 
- extra_compile_args = 
--libs = ldap_r lber sasl2 ssl crypto
-+libs = ldap_r lber ssl crypto
- library_dirs = /opt/openldap-RE24/lib
--include_dirs = /opt/openldap-RE24/include /usr/include/sasl
-+include_dirs = /opt/openldap-RE24/include
-
- [egg_info]
- tag_build =  
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb
deleted file mode 100644
index 5a1a93f..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "LDAP client API for Python, C wrapper module around OpenLDAP 2.x with an object-oriented API"
-LICENSE = "Python-style"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555"
-HOMEPAGE = "http://www.python-ldap.org/"
-DEPENDS = "python openldap"
-
-SRC_URI = "file://setup.cfg.patch"
-SRC_URI[md5sum] = "a9f9f16338288d118a1ae6266c993247"
-SRC_URI[sha256sum] = "62f75b21c5ee744408c9d8b59878328b3bdf47899d30e8abf0c09b3ffb893ed4"
-
-PYPI_PACKAGE = "python-ldap"
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.32.bb
similarity index 76%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.32.bb
index 5b3b8bd..f25ad1e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ldap_2.4.32.bb
@@ -15,10 +15,15 @@
 inherit pypi setuptools
 
 LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555"
-SRC_URI[md5sum] = "a15827ca13c90e9101e5e9405c1d83be"
-SRC_URI[sha256sum] = "67cc7801bf24c29386ab99966ceb68d6a60fa9e0566cc95a4fbb2c4695a8ce54"
+SRC_URI[md5sum] = "7c46c8a04acc227a778c7900c87cdfc7"
+SRC_URI[sha256sum] = "5810f1b5a9ae9255df99fb9c2dcab7352fed325687efda56c0faae1a82c5e3cb"
 
 do_configure_prepend() {
     sed -i -e 's:^library_dirs =.*::' setup.cfg
     sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' setup.cfg
 }
+
+RDEPENDS_${PN} = " \
+    ${PYTHON_PN}-pprint \
+    ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
index 7481b98..d5e6ae4 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc
@@ -18,8 +18,8 @@
 
 DEPENDS += "libxml2 libxslt"
 
-SRC_URI[md5sum] = "6dd7314233029d9dab0156e7b1c7830b"
-SRC_URI[sha256sum] = "61d5d3e00b5821e6cda099b3b4ccfea4527bf7c595e0fb3a7a760490cedd6172"
+SRC_URI[md5sum] = "075692ce442e69bbd604d44e21c02753"
+SRC_URI[sha256sum] = "aa502d78a51ee7d127b4824ff96500f0181d3c7826e6ee7b800d068be79361c7"
 
 DISTUTILS_BUILD_ARGS += " \
                      --with-xslt-config='pkg-config libxslt' \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch
new file mode 100644
index 0000000..efaecd6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch
@@ -0,0 +1,40 @@
+From f8d2c3394767025b3b27b71248b3ecb50480cde7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Apr 2017 17:10:45 -0700
+Subject: [PATCH] lxml.etree: Add empty variadic argument
+
+format checker says that argument 4 is a printf formatted argument
+but there is no more arguments to follow
+
+Fixes libxslt format warnings
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lxml/lxml.etree.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/lxml/lxml.etree.c b/src/lxml/lxml.etree.c
+index d482091..faab06c 100644
+--- a/src/lxml/lxml.etree.c
++++ b/src/lxml/lxml.etree.c
+@@ -186086,7 +186086,7 @@ static void __pyx_f_4lxml_5etree__callExtensionElement(xsltTransformContext *__p
+  *         except:
+  */
+             __pyx_t_26 = __Pyx_PyObject_AsString(__pyx_v_message); if (unlikely((!__pyx_t_26) && PyErr_Occurred())) __PYX_ERR(19, 228, __pyx_L18_except_error)
+-            xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26);
++            xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26, "");
+ 
+             /* "src/lxml/xsltext.pxi":229
+  *                 c_inst_node.name, _cstr(e))
+@@ -186136,7 +186136,7 @@ static void __pyx_f_4lxml_5etree__callExtensionElement(xsltTransformContext *__p
+  *     except:
+  */
+             __pyx_t_26 = __Pyx_PyObject_AsString(__pyx_v_message); if (unlikely((!__pyx_t_26) && PyErr_Occurred())) __PYX_ERR(19, 234, __pyx_L18_except_error)
+-            xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26);
++            xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26, "");
+ 
+             /* "src/lxml/xsltext.pxi":235
+  *                 "Error executing extension element '%s'", c_inst_node.name)
+-- 
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.6.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.6.4.bb
deleted file mode 100644
index 81ccb12..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.6.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-lxml.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.7.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.7.3.bb
new file mode 100644
index 0000000..5c93a3f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_3.7.3.bb
@@ -0,0 +1,6 @@
+inherit setuptools
+require python-lxml.inc
+
+SRC_URI = "${PYPI_SRC_URI} \
+           file://0001-lxml.etree-Add-empty-variadic-argument.patch \
+           "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-M2Crypto-Error-fix.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-M2Crypto-Error-fix.patch
deleted file mode 100644
index 2a74b68..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-M2Crypto-Error-fix.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-From 02a24ac541df68033d4efd7e2f8a1b92dc49328d Mon Sep 17 00:00:00 2001
-From: Li xin <lixin.fnst@cn.fujitsu.com>
-Date: Mon, 27 Jul 2015 05:06:20 +0900
-Subject: [PATCH] M2Crypto: Error fix.
-
-After swig upgrade from 3.0.2 to 3.0.6,build the recipes which
-depends on python-m2crypto will occur errors like this:
-SALT_LEN = m2.PKCS5_SALT_LEN
-AttributeError: 'module' object has no attribute 'PKCS5_SALT_LEN'
-since python-m2crypto depends on swig-native
-
-Ref:
-https://github.com/martinpaljak/M2Crypto/issues/60#issuecomment-75735489
-
-This patch is from:
-http://pkgs.fedoraproject.org/cgit/m2crypto.git/tree/m2crypto-0.21.1-swig-3.0.5.patch
-
-Upstream-Status: pending
-
-Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
----
- M2Crypto/__init__.py |  4 ++--
- M2Crypto/m2.py       |  2 +-
- SWIG/_lib.i          |  4 ++++
- SWIG/_pkcs7.i        |  1 +
- setup.py             | 26 +++++++++++++++++++++++++-
- 5 files changed, 33 insertions(+), 4 deletions(-)
-
-diff --git a/M2Crypto/__init__.py b/M2Crypto/__init__.py
-index e7acfe7..02f4d28 100644
---- a/M2Crypto/__init__.py
-+++ b/M2Crypto/__init__.py
-@@ -19,7 +19,7 @@ Copyright 2008-2011 Heikki Toivonen. All rights reserved.
- version_info = (0, 21, 1)
- version = '.'.join([str(_v) for _v in version_info])
- 
--import __m2crypto
-+import _m2crypto
- import m2
- import ASN1
- import AuthCookie
-@@ -57,4 +57,4 @@ import util
- encrypt=1
- decrypt=0
- 
--__m2crypto.lib_init()
-+_m2crypto.lib_init()
-diff --git a/M2Crypto/m2.py b/M2Crypto/m2.py
-index e4bb695..822143f 100644
---- a/M2Crypto/m2.py
-+++ b/M2Crypto/m2.py
-@@ -25,7 +25,7 @@ Portions created by Open Source Applications Foundation (OSAF) are
- Copyright (C) 2004 OSAF. All Rights Reserved.
- """
- 
--from __m2crypto import *
-+from _m2crypto import *
- lib_init()
- 
- 
-diff --git a/SWIG/_lib.i b/SWIG/_lib.i
-index 42dc180..47a53b8 100644
---- a/SWIG/_lib.i
-+++ b/SWIG/_lib.i
-@@ -100,6 +100,7 @@ int ssl_verify_callback(int ok, X509_STORE_CTX *ctx) {
-     int cret;
-     int new_style_callback = 0, warning_raised_exception=0;
-     PyGILState_STATE gilstate;
-+    PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
- 
-     ssl = (SSL *)X509_STORE_CTX_get_app_data(ctx);
- 
-@@ -185,6 +186,7 @@ int ssl_verify_callback(int ok, X509_STORE_CTX *ctx) {
- void ssl_info_callback(const SSL *s, int where, int ret) {
-     PyObject *argv, *retval, *_SSL;
-     PyGILState_STATE gilstate;
-+    PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
- 
-     gilstate = PyGILState_Ensure();
- 
-@@ -204,6 +206,7 @@ DH *ssl_set_tmp_dh_callback(SSL *ssl, int is_export, int keylength) {
-     PyObject *argv, *ret, *_ssl;
-     DH *dh;
-     PyGILState_STATE gilstate;
-+    PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
- 
-     gilstate = PyGILState_Ensure();
- 
-@@ -227,6 +230,7 @@ RSA *ssl_set_tmp_rsa_callback(SSL *ssl, int is_export, int keylength) {
-     PyObject *argv, *ret, *_ssl;
-     RSA *rsa;
-     PyGILState_STATE gilstate;
-+    PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
- 
-     gilstate = PyGILState_Ensure();
- 
-diff --git a/SWIG/_pkcs7.i b/SWIG/_pkcs7.i
-index 174f40a..7bffbfc 100644
---- a/SWIG/_pkcs7.i
-+++ b/SWIG/_pkcs7.i
-@@ -157,6 +157,7 @@ PyObject *smime_read_pkcs7(BIO *bio) {
-     BIO *bcont = NULL;
-     PKCS7 *p7;
-     PyObject *tuple, *_p7, *_BIO;
-+    PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
- 
-     if (BIO_method_type(bio) == BIO_TYPE_MEM) {
-         /* OpenSSL FAQ explains that this is needed for mem BIO to return EOF,
-diff --git a/setup.py b/setup.py
-index e7c49eb..b98abe0 100644
---- a/setup.py
-+++ b/setup.py
-@@ -20,6 +20,7 @@ except ImportError:
-     from distutils.command import build_ext
- 
- from distutils.core import Extension
-+from distutils.file_util import copy_file
- 
- 
- class _M2CryptoBuildExt(build_ext.build_ext):
-@@ -57,7 +58,17 @@ class _M2CryptoBuildExt(build_ext.build_ext):
-         self.swig_opts.append('-includeall')
-         #self.swig_opts.append('-D__i386__') # Uncomment for early OpenSSL 0.9.7 versions, or on Fedora Core if build fails
-         #self.swig_opts.append('-DOPENSSL_NO_EC') # Try uncommenting if you can't build with EC disabled
--        
-+        self.swig_opts.append('-modern')
-+        self.swig_opts.append('-builtin')
-+
-+        # These two lines are a workaround for
-+        # http://bugs.python.org/issue2624 , hard-coding that we are only
-+        # building a single extension with a known path; a proper patch to
-+        # distutils would be in the run phase, when extension name and path are
-+        # known.
-+        self.swig_opts.append('-outdir')
-+        self.swig_opts.append(os.path.join(self.build_lib, 'M2Crypto'))
-+
-         self.include_dirs += [os.path.join(self.openssl, opensslIncludeDir),
-                               os.path.join(os.getcwd(), 'SWIG')]        
-             
-@@ -71,6 +82,19 @@ class _M2CryptoBuildExt(build_ext.build_ext):
-                
-         self.library_dirs += [os.path.join(self.openssl, opensslLibraryDir)]
- 
-+    def run(self):
-+        '''Overloaded build_ext implementation to allow inplace=1 to work,
-+        which is needed for (python setup.py test).'''
-+        # This is another workaround for http://bugs.python.org/issue2624 + the
-+        # corresponding lack of support in setuptools' test command. Note that
-+        # just using self.inplace in finalize_options() above does not work
-+        # because swig is not rerun if the __m2crypto.so extension exists.
-+        # Again, hard-coding our extension name and location.
-+        build_ext.build_ext.run(self)
-+        if self.inplace:
-+            copy_file(os.path.join(self.build_lib, 'M2Crypto', '_m2crypto.py'),
-+                      os.path.join('M2Crypto', '_m2crypto.py'),
-+                      verbose=self.verbose, dry_run=self.dry_run)
- 
- if sys.version_info < (2,4):
- 
--- 
-1.8.4.2
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.23.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.25.1.bb
similarity index 82%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.23.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.25.1.bb
index ab665d4..72523bd 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.23.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto_0.25.1.bb
@@ -2,10 +2,10 @@
 HOMEPAGE = "http://chandlerproject.org/bin/view/Projects/MeTooCrypto"
 
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=68f7880de949412b2ea248932d97ed54"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=95295693f047bb8f76928251a6154a60"
 
-SRC_URI[md5sum] = "89557730e245294a6cab06de8ad4fb42"
-SRC_URI[sha256sum] = "1ac3b6eafa5ff7e2a0796675316d7569b28aada45a7ab74042ad089d15a9567f"
+SRC_URI[md5sum] = "040234289fbef5bed4029f0f7d1dae35"
+SRC_URI[sha256sum] = "ac303a1881307a51c85ee8b1d87844d9866ee823b4fdbc52f7e79187c2d9acef"
 
 SRC_URI += "file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch "
 
@@ -13,6 +13,7 @@
 inherit pypi setuptools 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}"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb
index b4557b7..840c36e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-mock_2.0.0.bb
@@ -16,4 +16,7 @@
     python-pyparsing \
     python-mccabe \
     python-pep8 \
-    python-pyflakes"
+    python-pyflakes \
+    python-pbr \
+    python-funcsigs \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.7.bb
deleted file mode 100644
index a3f73fb..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.7.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "MessagePack (de)serializer"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751"
-
-SRC_URI[md5sum] = "eb2aad1081534ef3a9f32a0ecd350b9b"
-SRC_URI[sha256sum] = "5e001229a54180a02dcdd59db23c9978351af55b1290c27bc549e381f43acd6b"
-
-PYPI_PACKAGE = "msgpack-python"
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.8.bb
new file mode 100644
index 0000000..8a0ad8f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.4.8.bb
@@ -0,0 +1,9 @@
+SUMMARY = "MessagePack (de)serializer"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751"
+
+SRC_URI[md5sum] = "dcd854fb41ee7584ebbf35e049e6be98"
+SRC_URI[sha256sum] = "1a2b19df0f03519ec7f19f826afb935b202d8979b0856c6fb3dc28955799f886"
+
+PYPI_PACKAGE = "msgpack-python"
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
index ae2bca1..3c6253f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient.inc
@@ -8,12 +8,11 @@
 
 PYPI_PACKAGE = "ndg_httpsclient"
 
-DEPENDS = " \
+DEPENDS += " \
     ${PYTHON_PN}-pyopenssl \
-"
-
-DEPENDS = " \
     ${PYTHON_PN}-pyasn1 \
 "
 
 BBCLASSEXTEND = "native nativesdk"
+
+UPSTREAM_CHECK_REGEX = ""
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.2.bb
index 2da1112..ca0eb32 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ndg-httpsclient_0.4.2.bb
@@ -1,2 +1,2 @@
-inherit pypi setuptools
 require python-ndg-httpsclient.inc
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.18.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.18.bb
deleted file mode 100644
index 6fdbf19..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.18.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "A network address manipulation library for Python."
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b277425f87f3b06d25af45d8b96f9682"
-
-SRC_URI[md5sum] = "c65bb34f8bedfbbca0b316c490cd13a0"
-SRC_URI[sha256sum] = "a1f5c9fcf75ac2579b9995c843dade33009543c04f218ff7c007b3c81695bd19"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb
new file mode 100644
index 0000000..5b03735
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-netaddr_0.7.19.bb
@@ -0,0 +1,8 @@
+SUMMARY = "A network address manipulation library for Python."
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e6345d695ffe3776f68a56fe7962db44"
+
+SRC_URI[md5sum] = "51019ef59c93f3979bcb37d3b8527e07"
+SRC_URI[sha256sum] = "38aeec7cdd035081d3a4c306394b19d677623bf76fa0913f6695127c7753aefd"
+
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_1.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_1.11.bb
new file mode 100644
index 0000000..28a7baa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_1.11.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "Python package for creating and manipulating graphs and networks"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=925586ea588eb990de840dc71ea3752f"
+
+SRC_URI[md5sum] = "6ef584a879e9163013e9a762e1cf7cd1"
+SRC_URI[sha256sum] = "0d0e70e10dfb47601cbb3425a00e03e2a2e97477be6f80638fef91d54dd1e4b8"
+
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric/0001-it-tries-to-define-this-function-differently-than-it.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric/0001-it-tries-to-define-this-function-differently-than-it.patch
new file mode 100644
index 0000000..81ed744
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric/0001-it-tries-to-define-this-function-differently-than-it.patch
@@ -0,0 +1,30 @@
+From 322e781c67d7a78fc2cfc3d377f50b825fc64abb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Jun 2017 20:21:01 -0700
+Subject: [PATCH] it tries to define this function differently than it is
+ defined in sys/time.h.
+
+Use the definition from system
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Packages/RNG/Src/ranf.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/Packages/RNG/Src/ranf.c b/Packages/RNG/Src/ranf.c
+index 5ca7dc5..e669fa8 100644
+--- a/Packages/RNG/Src/ranf.c
++++ b/Packages/RNG/Src/ranf.c
+@@ -149,9 +149,6 @@ void Mixranf(int *s,u32 s48[2])
+ #else
+ 	struct timeval tv;
+ 	struct timezone tz;
+-#if !defined(__sgi)
+-	int gettimeofday(struct timeval *, struct timezone *);
+-#endif
+ 
+ 	(void)gettimeofday(&tv,&tz);
+ 	s48[0] = (u32)tv.tv_sec;
+-- 
+2.13.0
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric/no-lapack.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric/no-lapack.patch
deleted file mode 100644
index c1916b8..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric/no-lapack.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- Numeric-23.7/setup.py~nolapack
-+++ Numeric-23.7/setup.py
-@@ -32,7 +32,7 @@
-     mathlibs = []
- 
- # delete all but the first one in this list if using your own LAPACK/BLAS
--sourcelist = [os.path.join('Src', 'lapack_litemodule.c'),
-+sourcelist = [
-               #os.path.join('Src', 'blas_lite.c'), 
-               #os.path.join('Src', 'f2c_lite.c'), 
-               #os.path.join('Src', 'zlapack_lite.c'),
-@@ -40,12 +40,12 @@
-              ]
- # set these to use your own BLAS;
- 
--library_dirs_list = ['/usr/lib/atlas']
--libraries_list = ['lapack', 'cblas', 'f77blas', 'atlas', 'g2c'] 
-+library_dirs_list = []
-+libraries_list = [] 
- 
- # set to true (1), if you also want BLAS optimized matrixmultiply/dot/innerproduct
--use_dotblas = 1 
--include_dirs = ['/usr/include/atlas']  
-+use_dotblas = 0
-+include_dirs = []  
-                    # You may need to set this to find cblas.h
-                    #  e.g. on UNIX using ATLAS this should be ['/usr/include/atlas']
- extra_link_args = []
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric_24.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric_24.2.bb
index c0b04e1..c91d77c 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric_24.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-numeric_24.2.bb
@@ -5,7 +5,9 @@
 
 PR = "ml3"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/numpy/Numeric-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/numpy/Numeric-${PV}.tar.gz \
+           file://0001-it-tries-to-define-this-function-differently-than-it.patch \
+"
 S = "${WORKDIR}/Numeric-${PV}"
 
 inherit distutils
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
new file mode 100644
index 0000000..7ff3fb2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt.inc
@@ -0,0 +1,14 @@
+SUMMARY = "MQTT version 3.1/3.1.1 client library"
+LICENSE = "EPL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eb48c6ee2cb9f5b8b9fe75e6f817bdfc"
+SRCNAME = "paho-mqtt"
+
+inherit pypi
+SRC_URI[md5sum] = "241150b3fcb920ddca4d33181f3238b1"
+SRC_URI[sha256sum] = "9100a6aa706ab699d414ec02705a21eb66f436184691d0bf1f2a85a6213c6c1f"
+
+RDEPENDS_${PN} = "\
+               ${PYTHON_PN}-math \
+               ${PYTHON_PN}-io \
+               ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.1.bb
deleted file mode 100644
index b8f5f3f..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "MQTT version 3.1/3.1.1 client library"
-LICENSE = "EPL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eb48c6ee2cb9f5b8b9fe75e6f817bdfc"
-SRCNAME = "paho-mqtt"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "\
-               python-math \
-               python-io \
-               python-threading \
-"
-
-SRC_URI[md5sum] = "a6407b74eb5e5411e157be1de5c11366"
-SRC_URI[sha256sum] = "0f7a629efe6e3a2c61b59d3550aa9f2c4529b5689a65fde45e6f1ac36b9a261e"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.2.bb
new file mode 100644
index 0000000..f369b2e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-paho-mqtt_1.2.bb
@@ -0,0 +1,3 @@
+inherit setuptools
+require python-paho-mqtt.inc
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.6.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.6.6.bb
deleted file mode 100644
index 45b52a3..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.6.6.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "Parse strings using a specification based on the Python format() syntax"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://parse.py;md5=e067ba2a08b73721dbe7356dc0282918;startline=1108;endline=1126"
-
-SRC_URI[md5sum] = "11bc8c60a30fe52db4ac9a827653d0ca"
-SRC_URI[sha256sum] = "71435aaac494e08cec76de646de2aab8392c114e56fe3f81c565ecc7eb886178"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.0.bb
new file mode 100644
index 0000000..0fd905b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-parse_1.8.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Parse strings using a specification based on the Python format() syntax"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://parse.py;md5=083d8ef8f98a3035dbf890a808498fde;startline=1189;endline=1208"
+
+SRC_URI[md5sum] = "6ea7e32cb35810113137f6073fb30639"
+SRC_URI[sha256sum] = "8b4f28bbe7c0f24981669ea92b2ba704ee63b5346027e82be30118bb5788ff10"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-logging \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
index 3cd2c0a..f289c0e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib.inc
@@ -7,7 +7,7 @@
 hashing for multi-user applications."
 HOMEPAGE = "https://bitbucket.org/ecollins/passlib"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=bae8faa3e2689ee0df3f2127fc4517f5"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=73eed1a5470b969951dac411086c7036"
 
-SRC_URI[md5sum] = "d2edd6c42cde136a538b48d90a06ad67"
-SRC_URI[sha256sum] = "a83d34f53dc9b17aa42c9a35c3fbcc5120f3fcb07f7f8721ec45e6a27be347fc"
+SRC_URI[md5sum] = "254869dae3fd9f09f0746a3cb29a0b15"
+SRC_URI[sha256sum] = "3d948f64138c25633613f303bcc471126eae67c04d5e3f6b7b8ce6242f8653e0"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.6.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.6.5.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-passlib_1.7.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_1.10.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_2.0.0.bb
similarity index 69%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_1.10.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_2.0.0.bb
index fd35197..a044a9e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_1.10.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_2.0.0.bb
@@ -4,12 +4,12 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
 
-SRC_URI[md5sum] = "8e4968c587268f030e38329feb9c8f17"
-SRC_URI[sha256sum] = "186428c270309e6fdfe2d5ab0949ab21ae5f7dea831eab96701b86bd666af39c"
+SRC_URI[md5sum] = "dfc1c3788eff06acfaade6f1655fa490"
+SRC_URI[sha256sum] = "0ccd2db529afd070df815b1521f01401d43de03941170f8a800e7531faba265d"
 
 inherit pypi setuptools
 
-DEPENDS_class-target += " \
+RDEPENDS_${PN}_class-target += " \
         python-pip \
         "
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_8.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_8.1.2.bb
deleted file mode 100644
index 8bb052e..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_8.1.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "PIP is a tool for installing and managing Python packages"
-LICENSE = "MIT & LGPL-2.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=25fba45109565f87de20bae85bc39452"
-
-SRC_URI[md5sum] = "87083c0b9867963b29f7aba3613e8f4a"
-SRC_URI[sha256sum] = "4d24b03ffa67638a3fa931c09fd9e0273ffa904e95ebebe7d4b1a54c93d7b732"
-
-inherit pypi setuptools
-
-# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works
-RDEPENDS_${PN} = "python-modules python-distribute"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb
new file mode 100644
index 0000000..2851761
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pip_9.0.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "PIP is a tool for installing and managing Python packages"
+LICENSE = "MIT & LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=25fba45109565f87de20bae85bc39452"
+
+SRC_URI[md5sum] = "35f01da33009719497f01a4ba69d63c9"
+SRC_URI[sha256sum] = "09f243e1a7b461f654c26a725fa373211bb7ff17a9300058b205c61658ca940d"
+
+inherit pypi setuptools
+
+# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works
+RDEPENDS_${PN}_class-target = "python-modules python-distribute"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.10.bb
new file mode 100644
index 0000000..8e61efa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ply_3.10.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Python Lex and Yacc"
+DESCRIPTION = "Python ply: PLY is yet another implementation of lex and yacc for Python"
+HOMEPAGE = "https://pypi.python.org/pypi/ply"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://README.md;beginline=3;endline=30;md5=fcb04bc2f765e46ab7084d6ab6e452bb"
+
+SRCNAME = "ply"
+
+SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "1d63c166ab250bab87d8dcc42dcca70e"
+SRC_URI[sha256sum] = "96e94af7dd7031d8d6dd6e2a8e0de593b511c211a86e28a9c9621c275ac8bacb"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
index c8f7b5f..6f4390e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
@@ -15,8 +15,11 @@
 inherit setuptools
 
 do_install_append() {
-    perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "top_level.txt"`
+    perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "*.txt" -o -name "PKG-INFO"`
     for f in $perm_files; do
         chmod 644 "${f}"
     done
 }
+
+UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/PrettyTable/"
+UPSTREAM_CHECK_REGEX = "/PrettyTable/(?P<pver>(\d+[\.\-_]*)+)"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
index 8554aea..30c2c81 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit.inc
+++ b/import-layers/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] = "f74cd8ac84176fac1cdb136843ccb0d6"
-SRC_URI[sha256sum] = "ef0b8188179fe7d052161ed274b43e18f5a680ff84d01462293b327e1668d2ef"
+SRC_URI[md5sum] = "427b496d2c147bd3819bc3a7f6e0d493"
+SRC_URI[sha256sum] = "33d68ca09f76cd73287fde7df5748ffacf26a8238dd61ee81ac50860ea7c6776"
 
 PYPI_PACKAGE = "prompt_toolkit"
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.13.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.7.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-prompt-toolkit_1.0.13.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
new file mode 100644
index 0000000..6d3ebf8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
@@ -0,0 +1,12 @@
+SUMMARY = "A cross-platform process and system utilities module for Python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62"
+
+SRC_URI[md5sum] = "c9aa2599dcd9e5b59d71b6660d396062"
+SRC_URI[sha256sum] = "2fc91d068faa5613c093335f0e758673ef8c722ad4bfa4aded64c13ae69089eb"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_4.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_4.2.0.bb
deleted file mode 100644
index a5703da..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_4.2.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "A cross-platform process and system utilities module for Python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62"
-
-SRC_URI[md5sum] = "713f259f917a0c26acfbb7e6ae632ef7"
-SRC_URI[sha256sum] = "544f013a0aea7199e07e3efe5627f5d4165179a04c66050b234cc3be2eca1ace"
-
-RDEPENDS_${PN} += " \
-    python-subprocess \
-    "
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.2.0.bb
new file mode 100644
index 0000000..bf402aa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-psutil_5.2.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-psutil.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc
index 9e33b16..4ac502e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py.inc
@@ -2,7 +2,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9"
 
-SRC_URI[md5sum] = "5d2c63c56dc3f2115ec35c066ecd582b"
-SRC_URI[sha256sum] = "a6501963c725fc2554dabfece8ae9a8fb5e149c0ac0a42fd2b02c5c1c57fc114"
+SRC_URI[md5sum] = "68ee0b5867282595d0b410a7f3c03ab3"
+SRC_URI[sha256sum] = "c4b89fd1ff1162375115608d01f77c38cca1d0f28f37fd718005e19b28be41a7"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.31.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.32.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.31.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-py_1.4.32.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio.inc
new file mode 100644
index 0000000..d150409
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio.inc
@@ -0,0 +1,11 @@
+SUMMARY = "Support for the Linux 2.6.x ALSA Sound System"
+SECTION = "devel/python"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1a3b161aa0fcec32a0c8907a2219ad9d"
+
+SRC_URI[md5sum] = "b46f69561bc85fc52e698b2440ca251e"
+SRC_URI[sha256sum] = "84e8f8da544d7f4bd96479ce4a237600077984d9be1d7f16c1d9a492ecf50085"
+
+DEPENDS += "alsa-lib"
+
+RDEPENDS_${PN} += "libasound"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb
deleted file mode 100644
index 0e660ad..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Support for the Linux 2.6.x ALSA Sound System"
-SECTION = "devel/python"
-DEPENDS = "alsa-lib"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1a3b161aa0fcec32a0c8907a2219ad9d"
-SRCNAME = "pyalsaaudio"
-PR = "ml2"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/pyalsaaudio/${SRCNAME}-${PV}.tar.gz"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit distutils
-
-SRC_URI[md5sum] = "b312c28efba7db0494836a79f0a49898"
-SRC_URI[sha256sum] = "07148ce16024724b17cc24c51d0f4fb78af214b09b7dc8dcb7b06e5647f4c582"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.8.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.8.4.bb
new file mode 100644
index 0000000..e515342
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyalsaaudio_0.8.4.bb
@@ -0,0 +1,2 @@
+require python-pyalsaaudio.inc
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
index 7c25de8..4eb2d9b 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
@@ -1,13 +1,16 @@
 SUMMARY = "Python library implementing ASN.1 types."
 HOMEPAGE = "http://pyasn1.sourceforge.net/"
 LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=425e62320d430219736139b134db2fc4"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=280606d9c18f200e03e0c247ac61475a"
 
-SRC_URI[md5sum] = "f00a02a631d4016818659d1cc38d229a"
-SRC_URI[sha256sum] = "853cacd96d1f701ddd67aa03ecc05f51890135b7262e922710112f12a2ed2a7f"
+SRC_URI[md5sum] = "79f98135071c8dd5c37b6c923c51be45"
+SRC_URI[sha256sum] = "738c4ebd88a718e700ee35c8d129acce2286542daa80a82823a7073644f706ad"
 
-RDEPENDS_${PN} += " \
+RDEPENDS_${PN}_class-target += " \
+    ${PYTHON_PN}-codecs \
     ${PYTHON_PN}-lang \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-math \
     ${PYTHON_PN}-shell \
 "
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.1.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.2.3.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.1.9.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.2.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
index e13f6a5..6d36d87 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11.inc
@@ -1,9 +1,8 @@
 SUMMARY = "Seamless operability between C++11 and Python"
 HOMEPAGE = "https://github.com/wjakob/pybind11"
 LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=1e9383cd3e97753d7dd6067d079519ea"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=485d9f8aa1ab513bec0de2f55cd69672"
 PR = "r0"
 
-SRC_URI = "https://pypi.python.org/packages/89/0b/f3a25633e49be5fae17ed2c7751c8106a08199db70e3c82e8cc043388ba9/pybind11-1.8.1.tar.gz"
-SRC_URI[md5sum] = "67845d8fd89a1c400dc7c61ccdee14d6"
-SRC_URI[sha256sum] = "358d4b7d8c38cd1dde66064178c6bbaaa2c479a44e67e642820fe0f329a4fff8"
+SRC_URI[md5sum] = "c96103168e9abceaa6d46f6074dcaf38"
+SRC_URI[sha256sum] = "1b1a4824aad88b1073fe8dbd21683e1e5228f3ed3b29c2785fbf5dea6bf1063c"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_1.8.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.0.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_1.8.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pybind11_2.0.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
index bf3b757..4913f42 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser.inc
@@ -1,8 +1,14 @@
 SUMMARY = "Parser of the C language, written in pure Python"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8fb364772b1441821d391591f340c35a"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d0cfca7bbc0610f849707d9e4fd82eac"
 
-SRC_URI[md5sum] = "a2bc8d28c923b4fe2b2c3b4b51a4f935"
-SRC_URI[sha256sum] = "7959b4a74abdc27b312fed1c21e6caf9309ce0b29ea86b591fd2e99ecdf27f73"
+SRC_URI[md5sum] = "ca98dcb50bc1276f230118f6af5a40c7"
+SRC_URI[sha256sum] = "0aac31e917c24cb3357f5a4d5566f2cc91a19ca41862f6c3c22dc60a629673b6"
 
 BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-subprocess \
+    cpp \
+    cpp-symlinks \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.14.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.17.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.14.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycparser_2.17.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto.inc
new file mode 100644
index 0000000..fb2c17d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto.inc
@@ -0,0 +1,17 @@
+DESCRIPTION = "Cryptographic modules for Python."
+HOMEPAGE = "http://www.pycrypto.org/"
+LICENSE = "PSFv2"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=35f354d199e8cb7667b059a23578e63d"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+DEPENDS += " gmp"
+
+inherit pypi autotools-brokensep
+
+SRC_URI[md5sum] = "55a61a054aa66812daf5161a0d5d7eda"
+SRC_URI[sha256sum] = "f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c"
+
+do_compile[noexec] = "1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto/CVE-2013-7459.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto/CVE-2013-7459.patch
new file mode 100644
index 0000000..9006c5c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto/CVE-2013-7459.patch
@@ -0,0 +1,98 @@
+From 8dbe0dc3eea5c689d4f76b37b93fe216cf1f00d4 Mon Sep 17 00:00:00 2001
+From: Legrandin <helderijs@gmail.com>
+Date: Sun, 22 Dec 2013 22:24:46 +0100
+Subject: [PATCH] Throw exception when IV is used with ECB or CTR
+
+The IV parameter is currently ignored when initializing
+a cipher in ECB or CTR mode.
+
+For CTR mode, it is confusing: it takes some time to see
+that a different parameter is needed (the counter).
+
+For ECB mode, it is outright dangerous.
+
+This patch forces an exception to be raised.
+
+Upstream-Status: Backport
+[https://github.com/dlitz/pycrypto/commit/8dbe0dc3eea5c689d4f76b37b93fe216cf1f00d4]
+
+CVE: CVE-2013-7459
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ lib/Crypto/SelfTest/Cipher/common.py | 31 +++++++++++++++++++++++--------
+ src/block_template.c                 | 11 +++++++++++
+ 2 files changed, 34 insertions(+), 8 deletions(-)
+
+diff --git a/lib/Crypto/SelfTest/Cipher/common.py b/lib/Crypto/SelfTest/Cipher/common.py
+index 8bebed9..91ec743 100644
+--- a/lib/Crypto/SelfTest/Cipher/common.py
++++ b/lib/Crypto/SelfTest/Cipher/common.py
+@@ -239,19 +239,34 @@ class RoundtripTest(unittest.TestCase):
+         return """%s .decrypt() output of .encrypt() should not be garbled""" % (self.module_name,)
+ 
+     def runTest(self):
+-        for mode in (self.module.MODE_ECB, self.module.MODE_CBC, self.module.MODE_CFB, self.module.MODE_OFB, self.module.MODE_OPENPGP):
++
++        ## ECB mode
++        mode = self.module.MODE_ECB
++        encryption_cipher = self.module.new(a2b_hex(self.key), mode)
++        ciphertext = encryption_cipher.encrypt(self.plaintext)
++        decryption_cipher = self.module.new(a2b_hex(self.key), mode)
++        decrypted_plaintext = decryption_cipher.decrypt(ciphertext)
++        self.assertEqual(self.plaintext, decrypted_plaintext)
++
++        ## OPENPGP mode
++        mode = self.module.MODE_OPENPGP
++        encryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
++        eiv_ciphertext = encryption_cipher.encrypt(self.plaintext)
++        eiv = eiv_ciphertext[:self.module.block_size+2]
++        ciphertext = eiv_ciphertext[self.module.block_size+2:]
++        decryption_cipher = self.module.new(a2b_hex(self.key), mode, eiv)
++        decrypted_plaintext = decryption_cipher.decrypt(ciphertext)
++        self.assertEqual(self.plaintext, decrypted_plaintext)
++
++        ## All other non-AEAD modes (but CTR)
++        for mode in (self.module.MODE_CBC, self.module.MODE_CFB, self.module.MODE_OFB):
+             encryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
+             ciphertext = encryption_cipher.encrypt(self.plaintext)
+-            
+-            if mode != self.module.MODE_OPENPGP:
+-                decryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
+-            else:
+-                eiv = ciphertext[:self.module.block_size+2]
+-                ciphertext = ciphertext[self.module.block_size+2:]
+-                decryption_cipher = self.module.new(a2b_hex(self.key), mode, eiv)
++            decryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
+             decrypted_plaintext = decryption_cipher.decrypt(ciphertext)
+             self.assertEqual(self.plaintext, decrypted_plaintext)
+ 
++
+ class PGPTest(unittest.TestCase):
+     def __init__(self, module, params):
+         unittest.TestCase.__init__(self)
+diff --git a/src/block_template.c b/src/block_template.c
+index c36b316..8746948 100644
+--- a/src/block_template.c
++++ b/src/block_template.c
+@@ -170,6 +170,17 @@ ALGnew(PyObject *self, PyObject *args, PyObject *kwdict)
+ 				"Key cannot be the null string");
+ 		return NULL;
+ 	}
++	if (IVlen != 0 && mode == MODE_ECB)
++	{
++		PyErr_Format(PyExc_ValueError, "ECB mode does not use IV");
++		return NULL;
++	}
++	if (IVlen != 0 && mode == MODE_CTR)
++	{
++		PyErr_Format(PyExc_ValueError,
++			"CTR mode needs counter parameter, not IV");
++		return NULL;
++	}
+ 	if (IVlen != BLOCK_SIZE && mode != MODE_ECB && mode != MODE_CTR)
+ 	{
+ 		PyErr_Format(PyExc_ValueError,
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto/cross-compiling.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto/cross-compiling.patch
new file mode 100644
index 0000000..712f3e8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto/cross-compiling.patch
@@ -0,0 +1,23 @@
+Index: pycrypto-2.6/setup.py
+===================================================================
+--- pycrypto-2.6.orig/setup.py
++++ pycrypto-2.6/setup.py
+@@ -271,7 +271,8 @@ class PCTBuildConfigure(Command):
+         if not os.path.exists("config.status"):
+             if os.system("chmod 0755 configure") != 0:
+                 raise RuntimeError("chmod error")
+-            cmd = "sh configure"    # we use "sh" here so that it'll work on mingw32 with standard python.org binaries
++            host = os.environ.get("HOST_SYS")
++            cmd = "ac_cv_func_malloc_0_nonnull=yes sh configure --host " + host   # we use "sh" here so that it'll work on mingw32 with standard python.org binaries
+             if self.verbose < 1:
+                 cmd += " -q"
+             if os.system(cmd) != 0:
+@@ -370,7 +371,7 @@ kw = {'name':"pycrypto",
+       'ext_modules': plat_ext + [
+             # _fastmath (uses GNU mp library)
+             Extension("Crypto.PublicKey._fastmath",
+-                      include_dirs=['src/','/usr/include/'],
++                      include_dirs=['src/'],
+                       libraries=['gmp'],
+                       sources=["src/_fastmath.c"]),
+ 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb
new file mode 100644
index 0000000..919f91e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pycrypto_2.6.1.bb
@@ -0,0 +1,13 @@
+inherit distutils
+require python-pycrypto.inc
+
+SRC_URI += "file://cross-compiling.patch \
+            file://CVE-2013-7459.patch \
+           "
+
+# We explicitly call distutils_do_install, since we want it to run, but
+# *don't* want the autotools install to run, since this package doesn't
+# provide a "make install" target.
+do_install() {
+       distutils_do_install
+}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
index a9edb2c..0168f1a 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyinotify.inc
@@ -7,5 +7,4 @@
 SRC_URI[md5sum] = "8e580fa1ff3971f94a6f81672b76c406"
 SRC_URI[sha256sum] = "9c998a5d7606ca835065cdabc013ae6c66eb9ea76a00a1e3bc6e0cfe2b4f71f4"
 
-PYPI_PACKAGE = "pyinotify"
 inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.4.bb
deleted file mode 100644
index b9219dd..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.4.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY="Pylint is a Python source code analyzer"
-HOMEPAGE= "http://www.pylint.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
-
-SRC_URI[md5sum] = "66ba9c27e067568bdabcdd7c21303903"
-SRC_URI[sha256sum] = "ef901a34b62ed7a734370ba5b162d890231ba8822abe88c6dda1268e2575f5f1"
-
-RDEPENDS_${PN} += "python-codecs \
-                   python-contextlib \
-                   python-core \
-                   python-distutils \
-                   python-io \
-                   python-lang \
-                   python-multiprocessing \
-                   python-netserver \
-                   python-numbers \
-                   python-pickle \
-                   python-re \
-                   python-shell \
-                   python-six \
-                   python-stringold \
-                   python-subprocess \
-                   python-textutils \
-                   python-unittest"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.5.bb
new file mode 100644
index 0000000..f5b4ad0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pylint_1.6.5.bb
@@ -0,0 +1,44 @@
+SUMMARY="Pylint is a Python source code analyzer"
+HOMEPAGE= "http://www.pylint.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
+
+SRC_URI[md5sum] = "31da2185bf59142479e4fa16d8a9e347"
+SRC_URI[sha256sum] = "a673984a8dd78e4a8b8cfdee5359a1309d833cf38405008f4a249994a8456719"
+
+RDEPENDS_${PN} += "python-codecs \
+                   python-contextlib \
+                   python-core \
+                   python-distutils \
+                   python-io \
+                   python-lang \
+                   python-multiprocessing \
+                   python-netserver \
+                   python-numbers \
+                   python-pickle \
+                   python-re \
+                   python-shell \
+                   python-six \
+                   python-stringold \
+                   python-subprocess \
+                   python-textutils \
+                   python-unittest \
+                   python-backports-functools-lru-cache \
+                   python-setuptools \
+                   python-astroid \
+                   python-wrapt \
+                   python-isort \
+                   python-lazy-object-proxy \
+                   "
+
+inherit pypi setuptools
+
+do_install_append(){
+    rm ${D}${bindir}/pylint
+    cat >> ${D}${bindir}/pylint <<EOF
+#!/usr/bin/env python
+from pylint import run_pylint
+run_pylint()
+EOF
+    chmod 755 ${D}${bindir}/pylint
+}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc
index 2b2601a..fe25b50 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp.inc
@@ -1,9 +1,9 @@
 DESCRIPTION = "Python API for MISP"
 HOMEPAGE = "https://github.com/MISP/PyMISP"
 LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=200286bb8d148a5a157bf22abf623cbb"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=2e1efdc433498cebd33ec277ad8741e5"
 
-SRC_URI[md5sum] = "03b5def47d8fde29f2303ed42ab1e375"
-SRC_URI[sha256sum] = "2bb35c365470ad46f9afbb96408c01894aaa10b369fac0f6b92010190a7087ad"
+SRC_URI[md5sum] = "5320f41bf96cf22d13af7eb31e1d321f"
+SRC_URI[sha256sum] = "6c7bd97f0ea9c7eb1935902f1bc6fc1ec27eba86056c5b938234a7229891d5a2"
 
-RDEPENDS_${PN} += " ${PYTHON_PN}-requests"
+RDEPENDS_${PN} += " ${PYTHON_PN}-requests ${PYTHON_PN}-json ${PYTHON_PN}-jsonschema"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.51.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.67.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.51.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymisp_2.4.67.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
index 0a256a7..e709a36 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
@@ -8,5 +8,12 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2a944942e1496af1886903d274dedb13"
 
-SRC_URI[md5sum] = "42cd12a5014fb7d3e1987ca04f5c651f"
-SRC_URI[sha256sum] = "3d45302fc2622fabf34356ba274c69df41285bac71bbd229f1587283b851b91e"
+SRC_URI[md5sum] = "aa77f88e51e281c9f328cea701bb6f3e"
+SRC_URI[sha256sum] = "d359349c6c9ff9f482805f89e66e476846317dc7b1eea979d7da9c0857ee2721"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.4.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.3.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.4.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
index 0ddad12..579ca60 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl.inc
@@ -2,17 +2,17 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-DEPENDS = "openssl ${PYTHON_PN}-cryptography"
+DEPENDS += "openssl ${PYTHON_PN}-cryptography"
 
-SRC_URI[md5sum] = "d8100b0c333f0eeadaf05914da8792a6"
-SRC_URI[sha256sum] = "88f7ada2a71daf2c78a4f139b19d57551b4c8be01f53a1cb5c86c2f3bf01355f"
+SRC_URI[md5sum] = "6635503758c65ea6f70d18d1b18e46d5"
+SRC_URI[sha256sum] = "7779a3bbb74e79db234af6a08775568c6769b5821faecf6e2f4143edb227516e"
 
 PYPI_PACKAGE = "pyOpenSSL"
 
 PACKAGES =+ "${PN}-tests"
 FILES_${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/OpenSSL/test"
 
-RDEPENDS_${PN} = " \
+RDEPENDS_${PN}_class-target = " \
     ${PYTHON_PN}-cryptography \
     ${PYTHON_PN}-six \
     ${PYTHON_PN}-threading \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.2.0.bb
similarity index 99%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.1.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.2.0.bb
index d7177e2..b7d5146 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.1.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyopenssl_16.2.0.bb
@@ -1,2 +1,2 @@
-inherit pypi setuptools
 require python-pyopenssl.inc
+inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc
new file mode 100644
index 0000000..033e0db
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc
@@ -0,0 +1,19 @@
+SUMMARY = "Python parsing module"
+HOMEPAGE = "http://pyparsing.wikispaces.com/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fb46329938e6bc829b256e37d5c1e31a"
+
+SRC_URI[md5sum] = "0214e42d63af850256962b6744c948d9"
+SRC_URI[sha256sum] = "0832bcf47acd283788593e7a0f542407bd9550a55a8a8435214a1960e04bcb04"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-debugger \
+    ${PYTHON_PN}-json \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-pprint \
+    ${PYTHON_PN}-stringold \
+    ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.1.4.bb
deleted file mode 100644
index 9aa5473..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.1.4.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Python parsing module"
-HOMEPAGE = "http://pyparsing.wikispaces.com/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fb46329938e6bc829b256e37d5c1e31a"
-
-SRC_URI[md5sum] = "322059c57f0c9f11da1c6c06a2ba2197"
-SRC_URI[sha256sum] = "a9234dea79b50d49b92a994132cd1c84e873f3936db94977a66f0a4159b1797c"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.2.0.bb
new file mode 100644
index 0000000..90217f3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.2.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pyparsing.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc
index a4c7728..2508e76 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc
@@ -7,10 +7,21 @@
 RDEPENDS_${PN} = "\
     ${PYTHON_PN}-fcntl \
     ${PYTHON_PN}-io \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-netclient \
     ${PYTHON_PN}-stringold \
+    ${PYTHON_PN}-threading \
 "
 
-SRC_URI[md5sum] = "2f72100de3e410b36d575e12e82e9d27"
-SRC_URI[sha256sum] = "d657051249ce3cbd0446bcfb2be07a435e1029da4d63f53ed9b4cdde7373364c"
+RSRC_URI[md5sum] = "6afe4c2e47bcec6eb7051b8c1ce19d52"
+SRC_URI[sha256sum] = "2949cddffc2b05683065a3cd2345114b1a49b08df8cb843d69ba99dc3e19edc2"
 
 inherit pypi
+
+do_install_append() {
+	# We don't support jpython now.
+	if [ -e ${D}${PYTHON_SITEPACKAGES_DIR}/serial/serialjava.py ]; then
+		rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/serial/serialjava.py
+		rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/serial/serialjava.pyc
+	fi
+}
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.1.1.bb
deleted file mode 100644
index ad2b350..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.1.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools
-require python-pyserial.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.3.bb
new file mode 100644
index 0000000..91a0f26
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial_3.3.bb
@@ -0,0 +1,4 @@
+inherit setuptools
+require python-pyserial.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-importlib"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.1.2.bb
new file mode 100644
index 0000000..aa234dd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysmi_0.1.2.bb
@@ -0,0 +1,22 @@
+SUMMARY = "SNMP SMI/MIB Parser"
+DESCRIPTION = "A pure-Python implementation of SNMP/SMI MIB \
+  parsing and conversion library. Can produce PySNMP MIB modules. \
+"
+HOMEPAGE = "https://pypi.python.org/pypi/pysmi"
+SECTION = "devel/python"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=d8b1bbadd635f187dee74d999a8c67b8"
+
+SRCNAME = "pysmi"
+
+SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "f8754e9ed75698cc16b40f125df85b12"
+SRC_URI[sha256sum] = "e0912180fc6faa9c264df78f97e7c451f77f84f5bd840098d2ce7b1bf70082bc"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} = "python-ply"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb
new file mode 100644
index 0000000..0b38d58
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysnmp_4.3.5.bb
@@ -0,0 +1,25 @@
+SUMMARY = "A pure-Python SNMPv1/v2c/v3 library"
+DESCRIPTION = "SNMP v1/v2c/v3 engine and apps written in pure-Python. \
+  Supports Manager/Agent/Proxy roles, scriptable MIBs, asynchronous \
+  operation (asyncio, twisted, asyncore) and multiple transports.\
+"
+HOMEPAGE = "https://pypi.python.org/pypi/pysnmp"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=280606d9c18f200e03e0c247ac61475a"
+
+SRCNAME = "pysnmp"
+
+SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "387aaa23c168ccc0b59775cfdf519fc0"
+SRC_URI[sha256sum] = "38253fe95cea33f352fb36e85f3c2874043401724300c4888df74835161169d2"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} += "python-pycrypto \
+                   python-pyasn1 \
+                   python-pysmi \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
index 0697fd7..5aec6fc 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
@@ -3,9 +3,13 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1d457bcffb9661b45f799d4efee72f16"
 
-SRC_URI[md5sum] = "68f4ad7a8d4fa725656ae3e9dd142d29"
-SRC_URI[sha256sum] = "e51c7694b10288e6fd9a28e15c0bcce9aca0327e7b32ebcd9af05fcd56f38b88"
+SRC_URI[md5sum] = "571f4c23982fa86bf0e7a441f1b6c881"
+SRC_URI[sha256sum] = "02419a225ff5dcfc3c9695ef8fc9b4d8cc99658e650c6d4718d4c8f451e63f41"
 
 PYPI_PACKAGE = "PySocks"
 
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-io \
+"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.5.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.6.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.5.7.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.6.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite.inc
new file mode 100644
index 0000000..8845565
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite.inc
@@ -0,0 +1,18 @@
+DESCRIPTION = "DB-API 2.0 interface for SQLite 3.x"
+HOMEPAGE = "http://github.com/ghaering/pysqlite"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=28ad4f115e06c88bd737372a453369d8"
+
+SRC_URI[md5sum] = "033f17b8644577715aee55e8832ac9fc"
+SRC_URI[sha256sum] = "17d3335863e8cf8392eea71add33dab3f96d060666fe68ab7382469d307f4490"
+
+inherit pypi
+
+DEPENDS += "${PYTHON_PN}-pip"
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-datetime \
+    sqlite3 \
+"
+
+FILES_${PN}-doc += "${datadir}"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite_2.8.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite_2.8.3.bb
new file mode 100644
index 0000000..95938f2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pysqlite_2.8.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pysqlite.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
new file mode 100644
index 0000000..85a8de1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
@@ -0,0 +1,17 @@
+SUMMARY = "Invoke py.test as distutils command with dependency resolution"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e38b971c2b4c33b978d1b9c9ece9ae63"
+
+SRC_URI[md5sum] = "bdb73eb18eca2727944a2dcf963c5a81"
+SRC_URI[sha256sum] = "983a31eab45e375240e250161a556163bc8d250edaba97960909338c273a89b3"
+
+
+inherit pypi
+
+DEPENDS += " \
+    ${PYTHON_PN}-setuptools-scm-native"
+
+RDEPENDS_${PN} = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-argparse ${PYTHON_PN}-debugger ${PYTHON_PN}-json \
+                  ${PYTHON_PN}-io"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.11.1.bb
new file mode 100644
index 0000000..0a5055c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.11.1.bb
@@ -0,0 +1,5 @@
+inherit setuptools
+require python-pytest-runner.inc
+
+# Dependency only exists for python2
+RDEPENDS_${PN} += "python-compiler"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.8.bb
deleted file mode 100644
index a4685ec..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_2.8.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Invoke py.test as distutils command with dependency resolution"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e38b971c2b4c33b978d1b9c9ece9ae63"
-
-SRC_URI[md5sum] = "041f3624f450d87a242e3907d7f90e8f"
-SRC_URI[sha256sum] = "1ec44deddaa551f85fd563c40a4c483a2609aca1f284a95399566a74d0680d5c"
-PYPI_PACKAGE_HASH = "466cff61a9e0d513222afa3529bdb565a465812b7e50b218a5afd705f46b258c"
-
-DEPENDS += " \
-    python-setuptools-scm"
-
-RDEPENDS_${PN} = "python-py python-setuptools python-argparse python-debugger python-json"
-
-inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
index 454939e..c9c9bbf 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
@@ -2,10 +2,10 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d8a5609608d9a5a180705b0fa298ae01"
 
-SRC_URI[md5sum] = "6e736a6d7bc854b25d44a60bcba5f2f9"
-SRC_URI[sha256sum] = "e82bc0596ee96b2287c08705cfcb6898db1fe4b5c87db3b6823f1fdd77fb3ff1"
+SRC_URI[md5sum] = "6639592fa430567d024189f097fcdbd7"
+SRC_URI[sha256sum] = "643434a9f1a188271da35e20064cb8b6c5440976c5bb541dc7b5b0e3cf75d940"
 
-RDEPENDS_${PN} = " \
+RDEPENDS_${PN}_class-target += " \
     ${PYTHON_PN}-argparse \
     ${PYTHON_PN}-debugger \
     ${PYTHON_PN}-json \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.6.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.0.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
new file mode 100644
index 0000000..1c6564b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
@@ -0,0 +1,18 @@
+SUMMARY = "World timezone definitions, modern and historical"
+HOMEPAGE = "http://pythonhosted.org/pytz"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=39ea92752a35cf67d8a885d8e3af3c69"
+
+inherit pypi
+PYPI_PACKAGE_EXT = "zip"
+
+SRC_URI[md5sum] = "f89bde8a811c8a1a5bac17eaaa94383c"
+SRC_URI[sha256sum] = "f5c056e8f62d45ba8215e5cb8f50dfccb198b4b9fbea8500674f3443e4689589"
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-threading \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2016.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2016.4.bb
deleted file mode 100644
index 6cbea28..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2016.4.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "World timezone definitions, modern and historical"
-HOMEPAGE = " http://pythonhosted.org/pytz"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=22b38951eb857cf285a4560a914b7cd6"
-
-SRC_URI[md5sum] = "a3316cf3842ed0375ba5931914239d97"
-SRC_URI[sha256sum] = "c823de61ff40d1996fe087cec343e0503881ca641b897e0f9b86c7683a0bfee1"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "\
-    python-core \
-    python-datetime \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2017.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2017.2.bb
new file mode 100755
index 0000000..f2ffc59
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2017.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pytz.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.20.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.20.0.bb
deleted file mode 100644
index e403d4e..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.20.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "A libudev binding"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-SRC_URI[md5sum] = "30c19f94dba43b6f5a010285838a3f45"
-SRC_URI[sha256sum] = "14d85bc9611dbf798732996cb7107858f58a3a1b9d246e4063c7a20ade65842a"
-
-inherit pypi setuptools
-
-do_configure_prepend() {
-    sed -i "/import pyudev/d" ${S}/setup.py
-    sed -i "s/str(pyudev.__version__)/'${PV}'/g" ${S}/setup.py
-}
-
-RDEPENDS_${PN} = "\
-    python-ctypes \
-    python-subprocess \
-    python-misc \
-    python-contextlib \
-"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb
new file mode 100644
index 0000000..b0a1acb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyudev_0.21.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A libudev binding"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+SRC_URI[md5sum] = "cf4d9db7d772622144ca1be6b5d9353b"
+SRC_URI[sha256sum] = "094b7a100150114748aaa3b70663485dd360457a709bfaaafe5a977371033f2b"
+
+inherit pypi setuptools
+
+do_configure_prepend() {
+    sed -i "/import pyudev/d" ${S}/setup.py
+    sed -i "s/str(pyudev.__version__)/'${PV}'/g" ${S}/setup.py
+}
+
+RDEPENDS_${PN} = "\
+    ${PYTHON_PN}-contextlib \
+    ${PYTHON_PN}-ctypes \
+    ${PYTHON_PN}-misc \
+    ${PYTHON_PN}-six \
+    ${PYTHON_PN}-subprocess \
+    ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
new file mode 100644
index 0000000..a3cf677
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
@@ -0,0 +1,14 @@
+SUMMARY = "Python support for YAML"
+HOMEPAGE = "http://www.pyyaml.org"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17"
+DEPENDS = "libyaml ${PYTHON_PN}-cython-native ${PYTHON_PN}"
+
+PYPI_PACKAGE = "PyYAML"
+inherit pypi
+
+SRC_URI[md5sum] = "4c129761b661d181ebf7ff4eb2d79950"
+SRC_URI[sha256sum] = "592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml/setup.py b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml/setup.py
deleted file mode 100644
index 2ed1c94..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml/setup.py
+++ /dev/null
@@ -1,64 +0,0 @@
-NAME = 'PyYAML'
-VERSION = '3.10'
-DESCRIPTION = "YAML parser and emitter for Python"
-LONG_DESCRIPTION = """\
-YAML is a data serialization format designed for human readability and
-interaction with scripting languages.  PyYAML is a YAML parser and
-emitter for Python.
-
-PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
-support, capable extension API, and sensible error messages.  PyYAML
-supports standard YAML tags and provides Python-specific tags that allow
-to represent an arbitrary Python object.
-
-PyYAML is applicable for a broad range of tasks from complex
-configuration files to object serialization and persistance."""
-AUTHOR = "Kirill Simonov"
-AUTHOR_EMAIL = 'xi@resolvent.net'
-LICENSE = "MIT"
-PLATFORMS = "Any"
-URL = "http://pyyaml.org/wiki/PyYAML"
-DOWNLOAD_URL = "http://pyyaml.org/download/pyyaml/%s-%s.tar.gz" % (NAME, VERSION)
-CLASSIFIERS = [
-    "Development Status :: 5 - Production/Stable",
-    "Intended Audience :: Developers",
-    "License :: OSI Approved :: MIT License",
-    "Operating System :: OS Independent",
-    "Programming Language :: Python",
-    "Topic :: Software Development :: Libraries :: Python Modules",
-    "Topic :: Text Processing :: Markup",
-]
-
-from distutils.core import setup
-from distutils.extension import Extension
-from Cython.Distutils import build_ext
-
-import sys, os.path
-
-
-if __name__ == '__main__':
-
-    setup(
-        name=NAME,
-        version=VERSION,
-        description=DESCRIPTION,
-        long_description=LONG_DESCRIPTION,
-        author=AUTHOR,
-        author_email=AUTHOR_EMAIL,
-        license=LICENSE,
-        platforms=PLATFORMS,
-        url=URL,
-        download_url=DOWNLOAD_URL,
-        classifiers=CLASSIFIERS,
-
-        package_dir={'': 'lib'},
-        packages=['yaml'],
-
-        ext_modules = [
-        Extension( "_yaml", ["ext/_yaml.pyx"], libraries = ["yaml"] )
-        ],
-
-        cmdclass={
-            'build_ext': build_ext,
-        },
-    )
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb
index 61b1d2c..5a4c92d 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb
@@ -1,24 +1,2 @@
-SUMMARY = "Python support for YAML"
-HOMEPAGE = "http://www.pyyaml.org"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17"
-DEPENDS = "libyaml python-cython-native"
-
-SRC_URI = "http://pyyaml.org/download/pyyaml/PyYAML-${PV}.tar.gz \
-           file://setup.py \
-"
-
-SRC_URI[md5sum] = "4c129761b661d181ebf7ff4eb2d79950"
-SRC_URI[sha256sum] = "592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab"
-
-S = "${WORKDIR}/PyYAML-${PV}"
-
-inherit distutils
-
-do_configure_prepend() {
-    # upstream setup.py overcomplicated, use ours
-    install -m 0644 ${WORKDIR}/setup.py ${S}
-}
-
-BBCLASSEXTEND = "native"
+require python-pyyaml.inc
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
index 287078a..b66f66e 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests.inc
@@ -3,8 +3,8 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d9bb3515869c0f426cb8441c899ae7f5"
 
-SRC_URI[md5sum] = "ad5f9c47b5c5dfdb28363ad7546b0763"
-SRC_URI[sha256sum] = "5acf980358283faba0b897c73959cecf8b841205bb4b2ad3ef545f46eae1a133"
+SRC_URI[md5sum] = "921ec6b48f2ddafc8bb6160957baf444"
+SRC_URI[sha256sum] = "5722cd09762faa01276230270ff16af7acf7c5c45d623868d9ba116f15791ce8"
 
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-email \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.13.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.11.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-requests_2.13.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.1.bb
new file mode 100644
index 0000000..1982418
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-selectors34_1.1.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Backport of the selectors module from Python 3.4"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=1cfbbf590d8d5b7fe937516217b778b3"
+
+SRC_URI[md5sum] = "403194b10f35a5258e0642712fdd3753"
+SRC_URI[sha256sum] = "84b3743b9046461aebbcd13c15e79ab91e79acfb6e030b54a0ec6360ae0bbc52"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-six \
+    "    
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
new file mode 100644
index 0000000..0b1aa91
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent.inc
@@ -0,0 +1,13 @@
+SUMMARY = "Serialization based on ast.literal_eval"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=3773e39c491bb1f9ccc98389d57169d7"
+
+SRC_URI[md5sum] = "cdef596f727cb6b4176c89769d2d41ee"
+SRC_URI[sha256sum] = "946b2c837f889971df3575af9dadd8f09bfe48549ebc1b9f6434263b653707ce"
+
+inherit pypi
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-numbers \
+    "    
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.19.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.19.bb
new file mode 100644
index 0000000..0db3cf9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-serpent_1.19.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-serpent.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
new file mode 100644
index 0000000..3249870
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm.inc
@@ -0,0 +1,14 @@
+SUMMARY = "the blessed package to manage your versions by scm tags"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=838c366f69b72c5df05c96dff79b35f2"
+
+SRC_URI[md5sum] = "b6916c78ed6253d6602444fad4279c5b"
+SRC_URI[sha256sum] = "daf12d05aa2155a46aa357453757ffdc47d87f839e62114f042bceac6a619e2f"
+
+PYPI_PACKAGE = "setuptools_scm"
+inherit pypi
+
+RDEPENDS_${PN}_class-target = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-argparse ${PYTHON_PN}-debugger ${PYTHON_PN}-json"
+RDEPENDS_${PN}_class-native = "${PYTHON_PN}-setuptools-native"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.11.1.bb
deleted file mode 100644
index 2a3b97d..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.11.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "the blessed package to manage your versions by scm tags"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=838c366f69b72c5df05c96dff79b35f2"
-
-inherit pypi setuptools
-
-SRCNAME = "setuptools_scm"
-
-SRC_URI = "https://pypi.python.org/packages/84/aa/c693b5d41da513fed3f0ee27f1bf02a303caa75bbdfa5c8cc233a1d778c4/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "4d19b2bc9580016d991f665ac20e2e8f"
-SRC_URI[sha256sum] = "8c45f738a23410c5276b0ed9294af607f491e4260589f1eb90df8312e23819bf"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-RDEPENDS_${PN} = "python-py python-setuptools python-argparse python-debugger python-json"
-
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.0.bb
new file mode 100644
index 0000000..5f9bb0b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-setuptools-scm_1.15.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-setuptools-scm.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc
new file mode 100644
index 0000000..2eed199
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson.inc
@@ -0,0 +1,17 @@
+SUMMARY = "Simple, fast, extensible JSON encoder/decoder for Python"
+HOMEPAGE = "http://cheeseshop.python.org/pypi/simplejson"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c6338d7abd321c0b50a2a547e441c52e"
+
+SRC_URI[md5sum] = "426a9631d22851a7a970b1a677368b15"
+SRC_URI[sha256sum] = "953be622e88323c6f43fad61ffd05bebe73b9fd9863a46d68b052d2aa7d71ce2"
+
+inherit pypi
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-re \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-netserver \
+    ${PYTHON_PN}-numbers \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.10.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.10.0.bb
new file mode 100644
index 0000000..e33edfe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-simplejson_3.10.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-simplejson.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb
index 87f46e5..44c9505 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-singledispatch_3.4.0.3.bb
@@ -9,5 +9,4 @@
 SRC_URI[md5sum] = "af2fc6a3d6cc5a02d0bf54d909785fcb"
 SRC_URI[sha256sum] = "5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c"
 
-PYPI_PACKAGE = "singledispatch"
 inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc
deleted file mode 100644
index e33c01d..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Python 2 and 3 compatibility library"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6f00d4a50713fa859858dd9abaa35b21"
-
-SRC_URI[md5sum] = "34eed507548117b2ab523ab14b2f8b55"
-SRC_URI[sha256sum] = "105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a"
-
-do_compile_append() {
-    ${PYTHON} setup.py -q bdist_egg --dist-dir ./
-}
-do_install_append() {
-    install -m 0644 ${S}/*.egg ${D}/${PYTHON_SITEPACKAGES_DIR}/
-}
-
-RDEPENDS_${PN} += "${PYTHON_PN}-io"
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.10.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.10.0.bb
deleted file mode 100644
index 9075745..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.10.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-six.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb
similarity index 77%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb
index 2714f43..8081416 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-slip-dbus_0.6.1.bb
@@ -14,13 +14,13 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
 SRCNAME = "python-slip"
 
-SRC_URI = "https://fedorahosted.org/released/${SRCNAME}/${SRCNAME}-${PV}.tar.bz2"
+SRC_URI = "https://github.com/nphilipp/${SRCNAME}/releases/download/${SRCNAME}-${PV}/${SRCNAME}-${PV}.tar.bz2"
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
 inherit setuptools
 
-SRC_URI[md5sum] = "fb3299d75af1a67ca6679d96ce839da6"
-SRC_URI[sha256sum] = "f47361ec52b608309b83c71905e692b6b363eaf3b8a7afdeff866cd94463ad5c"
+SRC_URI[md5sum] = "a6d8ee96245fc21785d4c1c062c85f2f"
+SRC_URI[sha256sum] = "bc897f1ab6f5b4989f85548799aaeb84fde67bbba18e40341bfe1d7885c2fd9a"
 
 do_compile_prepend() {
     sed -e 's/@VERSION@/${PV}/g' setup.py.in > setup.py
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc
similarity index 60%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc
index df47df6..ded30ce 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus.inc
@@ -2,14 +2,12 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://smbusmodule.c;startline=1;endline=17;md5=fa24df321a520ff8e10f203425ab9fa8"
 
-SRC_URI = "http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-${PV}.tar.bz2 \
+SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/i2c-tools-${PV}.tar.bz2 \
 "
-SRC_URI[md5sum] = "0fdbff53ebd0b8d9249256d6c56480b1"
-SRC_URI[sha256sum] = "14d4d7d60d1c12e43f2befe239c682a5c44c27682f153d4b58c1e392d2db1700"
+SRC_URI[md5sum] = "7104a1043d11a5e2c7b131614eb1b962"
+SRC_URI[sha256sum] = "db5e69f2e2a6e3aa2ecdfe6a5f490b149c504468770f58921c8c5b8a7860a441"
 
-DEPENDS = "i2c-tools"
-
-inherit distutils
+DEPENDS += "i2c-tools"
 
 S = "${WORKDIR}/i2c-tools-${PV}/py-smbus/"
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.2.bb
new file mode 100644
index 0000000..1b95778
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-smbus_3.1.2.bb
@@ -0,0 +1,2 @@
+inherit distutils
+require python-smbus.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.11.bb
new file mode 100644
index 0000000..cbdc6bd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-snimpy_0.8.11.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Interactive SNMP tool"
+DESCRIPTION = "Snimpy is a Python-based tool providing a simple interface to build SNMP query"
+HOMEPAGE = "https://pypi.python.org/pypi/snimpy"
+SECTION = "devel/python"
+
+DEPENDS = "libsmi python-cffi-native python-vcversioner-native"
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://docs/license.rst;md5=7c53ab2d1240828625c3e093d049d4f4"
+
+SRCNAME = "snimpy"
+
+SRC_URI = "https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "7f6270ce2e7206df165602e66d5ceb96"
+SRC_URI[sha256sum] = "10410614c7bff1053ca65bd760ce919f1a074f4988b857df4c57cf35847922b0"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
+
+RDEPENDS_${PN} = "python-cffi \
+                  python-pycparser \
+                  python-pysnmp \
+                  python-setuptools \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-spidev.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-spidev.inc
new file mode 100644
index 0000000..1b93763
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-spidev.inc
@@ -0,0 +1,17 @@
+SUMMARY = "Python bindings for Linux SPI access through spidev"
+DESCRIPTION = "This project contains a python module for interfacing with SPI\
+devices from user space via the spidev linux kernel driver.\
+This is a modified version of the code originally found\
+[here](http://elk.informatik.fh-augsburg.de/da/da-49/trees/pyap7k/lang/py-spi)\
+All code is GPLv2 licensed unless explicitly stated otherwise."
+HOMEPAGE = "http://github.com/doceme/py-spidev"
+SECTION = "devel/python"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=54bdb9022ebb75ab68399cdaab97da60"
+SRCNAME = "spidev"
+
+SRC_URI[md5sum] = "f601676f1bb48b9aa3b3897f95216365"
+SRC_URI[sha256sum] = "09d2b5122f0dd79910713a11f9a0020f71537224bf829916def4fffc0ea59456"
+
+
+inherit pypi
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc
new file mode 100644
index 0000000..07e70d7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy.inc
@@ -0,0 +1,20 @@
+DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \
+application developers the full power and flexibility of SQL"
+HOMEPAGE = "http://www.sqlalchemy.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=452f4b8adb0feba42e5be5f1fbfbf538"
+
+PYPI_PACKAGE = "SQLAlchemy"
+inherit pypi
+
+SRC_URI[md5sum] = "938b1e5ca2372c3ec9a586996a3b5653"
+SRC_URI[sha256sum] = "b65cdc73cd348448ef0164f6c77d45a9f27ca575d3c5d71ccc33adf684bc6ef0"
+
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-json \
+    ${PYTHON_PN}-pickle \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb
deleted file mode 100644
index 91e66db..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \
-application developers the full power and flexibility of SQL"
-HOMEPAGE = "http://www.sqlalchemy.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=baffc5e5f4804c92fc9be155fed70d41"
-RDEPENDS_${PN} += "python-numbers"
-
-SRCNAME = "SQLAlchemy"
-
-PYPI_PACKAGE = "SQLAlchemy"
-inherit pypi
-
-SRC_URI[md5sum] = "c4852d586d95a59fbc9358f4467875d5"
-SRC_URI[sha256sum] = "f7a305ad122144f364ce09a2d9ed5159d5f46ec43650653593e7dfa05d3294a1"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.9.bb
new file mode 100644
index 0000000..53c8fec
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-sqlalchemy_1.1.9.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-sqlalchemy.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb
new file mode 100644
index 0000000..ef11831
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-systemd_234.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Python interface for libsystemd"
+HOMEPAGE = "https://github.com/systemd/python-systemd"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
+
+PYPI_PACKAGE = "systemd-python"
+DEPENDS += "systemd (<=234)"
+RDEPENDS_${PN} += "systemd"
+REQUIRED_DISTRO_FEATURES = "systemd"
+inherit pypi setuptools distro_features_check
+
+SRC_URI[md5sum] = "5071ea5bcb976186e92a3f5e75df221d"
+SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
index 7e3ac8c..9b1cf41 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado.inc
@@ -6,11 +6,11 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://setup.py;startline=2;endline=15;md5=5ab7571a79ad62d0ca7aea308bac7560"
 
-SRC_URI[md5sum] = "d13a99dc0b60ba69f5f8ec1235e5b232"
-SRC_URI[sha256sum] = "c9c2d32593d16eedf2cec1b6a41893626a2649b40b21ca9c4cac4243bde2efbf"
+SRC_URI[md5sum] = "b4816ea209118667ffc52ce9ff06ac85"
+SRC_URI[sha256sum] = "2898f992f898cd41eeb8d53b6df75495f2f423b6672890aadaf196ea1448edcc"
 
 RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-numbers ${PYTHON_PN}-email ${PYTHON_PN}-subprocess \
-                   ${PYTHON_PN}-pkgutil ${PYTHON_PN}-html ${PYTHON_PN}-json ${PYTHON_PN}-certifi"
+                   ${PYTHON_PN}-pkgutil ${PYTHON_PN}-html ${PYTHON_PN}-json ${PYTHON_PN}-certifi ${PYTHON_PN}-threading"
 
 RDEPENDS_${PN}-test += "${PN} ${PYTHON_PN}-unittest"
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.4.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.3.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-tornado_4.4.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc
new file mode 100644
index 0000000..49da4fe
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc
@@ -0,0 +1,9 @@
+SUMMARY = "Simple Python module defined by PEP 484."
+HOMEPAGE = "https://github.com/python/typing"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f"
+
+SRC_URI[md5sum] = "3996a747158e5591abf689c1c5f8f9db"
+SRC_URI[sha256sum] = "ca2daac7e393e8ee86e9140cd0cf0172ff6bb50ebdf0b06281770f98f31bff21"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.5.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.5.3.0.bb
new file mode 100644
index 0000000..04ce063
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.5.3.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-typing.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson_1.35.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson_1.35.bb
index 4ef3d18..238dc92 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson_1.35.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-ujson_1.35.bb
@@ -7,7 +7,6 @@
 SRC_URI[md5sum] = "42f77b0cce686dfa4da2e68480b1dd24"
 SRC_URI[sha256sum] = "f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86"
 
-PYPI_PACKAGE = "ujson"
 inherit pypi setuptools
 
 RDEPENDS_${PN} += "\
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.3.bb
similarity index 70%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.3.bb
index 3b018c7..6d40cca 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-unidiff_0.5.3.bb
@@ -3,8 +3,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=4c434b08ef42fea235bb019b5e5a97b3"
 
-SRC_URI[md5sum] = "20dd70ba5a35bc95bf869322d6852227"
-SRC_URI[sha256sum] = "344330ec3637e96b44dca77e086b205645b55648cf4d2b80fc673200f8a6a7e9"
+SRC_URI[md5sum] = "31a61729e64ee409135a2ccec80c7104"
+SRC_URI[sha256sum] = "79b4be3e5479dfc6d77747d23ec98200559ca6a842fad1f92c2a7eb56b99195b"
 
 inherit  pypi setuptools
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc
index 938eb5e..485f57f 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3.inc
@@ -1,10 +1,10 @@
 SUMMARY = "Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more"
 HOMEPAGE = "https://github.com/shazow/urllib3"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ea114851ad9a8c311aac8728a681a067"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=06dfcbb88fb0787a2039e26af11276f5"
 
-SRC_URI[md5sum] = "1eadd93bd5e58d3528d977111f2997ea"
-SRC_URI[sha256sum] = "d30dd4d1cbbc36ebab6e4a2076820cfe0c60f10adf087fecbc5a3edae79fdc81"
+SRC_URI[md5sum] = "e62d42006807308fea9556c17af8e250"
+SRC_URI[sha256sum] = "cc49b66adcb45e19c6944cff35eedb60ee2228f0afba51f4da29c47e7a398f15"
 
 RDEPENDS_${PN} += "\
     ${PYTHON_PN}-certifi \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.18.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.18.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
index f4a6009..cd6fa8d 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vcversioner_2.16.0.0.bb
@@ -20,5 +20,6 @@
 RDEPENDS_${PN} += "\
     ${PYTHON_PN}-subprocess \
     "
+RDEPENDS_${PN}_class-native = ""
 
 BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.4.1.bb
similarity index 70%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.4.1.bb
index 56f0112..fc95193 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.2.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-vobject_0.9.4.1.bb
@@ -4,8 +4,8 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRC_URI[md5sum] = "ccf66aeb1c896d8c34ac62a8b4e7ecfb"
-SRC_URI[sha256sum] = "8b310c21a4d58e13aeb7e60fd846a1748e1c9c3374f3e2acc96f728c3ae5d6e1"
+SRC_URI[md5sum] = "73432a3e6e9a4788f73a9acc4d7b1fa8"
+SRC_URI[sha256sum] = "faea7d4fb3e2bc8ef6367e7f9b4ad0841aa1980fd5dd96d05c7a90e39880811c"
 
 inherit pypi setuptools
 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
index ae91c62..fe1ab95 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors.inc
@@ -1,8 +1,12 @@
 SUMMARY = "Simple Python module for working with HTML/CSS color definitions."
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0c764ddee13cfbe0564c201d76ff19d6"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=358df7e9eb65e1843dbb36abd476c5c0"
 
-SRC_URI[md5sum] = "2e9da1bbb7a087c6108e05be64640afb"
-SRC_URI[sha256sum] = "b3b1c3a41e9c69d1982b76b6531239115519f91cc034a24e975749832dc51b8e"
+SRC_URI[md5sum] = "4733fa1077f680bbdd918cdef1e32c11"
+SRC_URI[sha256sum] = "e47e68644d41c0b1f1e4d939cfe4039bdf1ab31234df63c7a4f59d4766487206"
+
+RDEPENDS_${PN}_class-target = "\
+    ${PYTHON_PN}-stringold \
+"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.7.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.5.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webcolors_1.7.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.bb
new file mode 100644
index 0000000..fbe6285
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-webencodings_0.5.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Character encoding aliases for legacy web content"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;startline=8;endline=9;md5=2fc6c99a19e6dbde9f7a2239143c9d13"
+
+SRC_URI[md5sum] = "878714d45241f7970dffd8991d61fff9"
+SRC_URI[sha256sum] = "a5c55ee93b24e740fe951c37b5c228dccc1f171450e188555a775261cce1b904"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "${PYTHON_PN}-codecs"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc
index 91c47ae..e55f56d 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug.inc
@@ -10,11 +10,13 @@
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a68f5361a2b2ca9fdf26b38aaecb6faa"
 
-SRC_URI[md5sum] = "1d34afa1f19abcef4c0da51ebc2c4ea7"
-SRC_URI[sha256sum] = "e72c46bc14405cba7a26bd2ce28df734471bc9016bc8b4cb69466c2c14c2f7e5"
+SRC_URI[md5sum] = "cb4010478dd33905f95920e4880204a2"
+SRC_URI[sha256sum] = "455d7798ac263266dbd38d4841f7534dd35ca9c3da4a8df303f8488f38f3bcc0"
 
 PYPI_PACKAGE = "Werkzeug"
 
+CLEANBROKEN = "1"
+
 RDEPENDS_${PN} += " \
     ${PYTHON_PN}-datetime \
     ${PYTHON_PN}-difflib \
@@ -25,6 +27,7 @@
     ${PYTHON_PN}-netserver \
     ${PYTHON_PN}-numbers \
     ${PYTHON_PN}-pkgutil \
+    ${PYTHON_PN}-pprint \
     ${PYTHON_PN}-subprocess \
     ${PYTHON_PN}-threading \
     ${PYTHON_PN}-unixadmin \
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.15.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.11.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-werkzeug_0.11.15.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.8.bb
new file mode 100644
index 0000000..58aa1bd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-wrapt_1.10.8.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A Python module for decorators, wrappers and monkey patching."
+HOMEPAGE = "http://wrapt.readthedocs.org/"
+LICENSE = "BSD"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=82704725592991ea88b042d150a66303"
+
+SRC_URI[md5sum] = "7c2a7e6262acc396ef6528b3d66bd047"
+SRC_URI[sha256sum] = "4ea17e814e39883c6cf1bb9b0835d316b2f69f0f0882ffe7dad1ede66ba82c73"
+
+inherit setuptools pypi
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-stringold \
+    ${PYTHON_PN}-threading \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.94.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.94.bb
deleted file mode 100644
index 83f2bc9..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.94.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY  = "Yet Another Python Profiler"
-HOMEPAGE = "http://yappi.googlecode.com/"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=ad426a7287507a8db02778ff586d5370"
-
-SRC_URI[md5sum] = "a02c49efe783c4e31d6bbd805a37adec"
-SRC_URI[sha256sum] = "15cc17dba1252ecaae29ced1e96c216165d93fd3e9ea05dff1f5e5866f16bd59"
-
-PYPI_PACKAGE = "yappi"
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-pickle \
-    ${PYTHON_PN}-threading \
-    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb
new file mode 100644
index 0000000..51308c8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-yappi_0.98.bb
@@ -0,0 +1,15 @@
+SUMMARY  = "Yet Another Python Profiler"
+HOMEPAGE = "http://yappi.googlecode.com/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=6b131c3041637f6a5175a43112dde05c"
+
+SRC_URI[md5sum] = "dc56240575c99938a924eaeb7c0d8beb"
+SRC_URI[sha256sum] = "5f657129e1b9b952379ffbc009357d0dcdb58c50f3bfe88ffbb992e4b27b263c"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-pickle \
+    ${PYTHON_PN}-threading \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.3.3.bb
similarity index 81%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.2.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.3.3.bb
index 985074b..7596394 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.2.0.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python-zopeinterface_4.3.3.bb
@@ -2,8 +2,8 @@
 LICENSE = "ZPL-2.1"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46"
 
-SRC_URI[md5sum] = "2950a6db7e985e19c7a846cc20f5d82a"
-SRC_URI[sha256sum] = "36762743940a075283e1fb22a2ec9e8231871dace2aa00599511ddc4edf0f8f9"
+SRC_URI[md5sum] = "ba3f32eacaea66094b7e2ae2788cec89"
+SRC_URI[sha256sum] = "8780ef68ca8c3fe1abb30c058a59015129d6e04a6b02c2e56b9c7de6078dfa88"
 
 PYPI_PACKAGE = "zope.interface"
 inherit pypi setuptools
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-anyjson_0.3.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-anyjson_0.3.3.bb
new file mode 100644
index 0000000..199e225
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-anyjson_0.3.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-anyjson.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.3.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.3.4.bb
new file mode 100644
index 0000000..05084ac
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.3.4.bb
@@ -0,0 +1,5 @@
+inherit setuptools3
+require python-babel.inc
+
+# Requires _pydecimal.py which is in misc
+RDEPENDS_${PN} += "${PYTHON_PN}-misc"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_1.5.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_1.5.2.bb
new file mode 100644
index 0000000..a1d45b8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-can_1.5.2.bb
@@ -0,0 +1,4 @@
+require python-can.inc
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "python3-sqlite3"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.8.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.8.0.bb
new file mode 100644
index 0000000..34f149d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.8.0.bb
@@ -0,0 +1,8 @@
+inherit setuptools3
+require python-cassandra-driver.inc
+
+# Requires concurrent which is currently in -misc
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-misc \
+    ${PYTHON_PN}-numbers \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2016.9.26.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2017.1.23.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2016.9.26.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2017.1.23.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.8.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.9.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.8.3.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cffi_1.9.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.2.bb
new file mode 100644
index 0000000..038043c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-chardet_3.0.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-chardet.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.6.bb
deleted file mode 100644
index 1920644..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.6.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-click.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb
new file mode 100644
index 0000000..ecd1514
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-click_6.7.bb
@@ -0,0 +1,4 @@
+inherit pypi setuptools3
+require python-click.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-enum"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.7.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.4.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography-vectors_1.7.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.7.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.4.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_1.7.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.24.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.25.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.24.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.25.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.5.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.6.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.5.3.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dateutil_2.6.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.10.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.10.bb
deleted file mode 100644
index 844cbdc..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.10.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-decorator.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.11.bb
new file mode 100644
index 0000000..7840b20
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_4.0.11.bb
@@ -0,0 +1,6 @@
+inherit setuptools3
+require python-decorator.inc
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-enum \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.15.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.15.0.bb
new file mode 100644
index 0000000..26024c6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_1.15.0.bb
@@ -0,0 +1,9 @@
+inherit setuptools3
+require python-dnspython.inc
+
+# Requires _pydecimal.py which is in misc
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-enum \
+    ${PYTHON_PN}-misc \
+    ${PYTHON_PN}-selectors \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.3.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.4.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.3.2.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.4.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.12.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.11.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_0.12.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_0.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_0.5.1.bb
new file mode 100644
index 0000000..04464ac
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_0.5.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-humanize.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.5.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-idna_2.5.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.8.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.8.bb
deleted file mode 100644
index 61156b6..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.8.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-jinja2.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.9.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.9.5.bb
new file mode 100644
index 0000000..8375f8c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.9.5.bb
@@ -0,0 +1,7 @@
+inherit pypi setuptools3
+require python-jinja2.inc
+
+# Requires _pydecimal which is in misc
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-misc \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.5.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.5.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch
new file mode 100644
index 0000000..bb012dc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml/0001-lxml.etree-Add-empty-variadic-argument.patch
@@ -0,0 +1,40 @@
+From 36e64cf2f0676ee422c1fd41456967f3015b2fa3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Apr 2017 17:10:45 -0700
+Subject: [PATCH] lxml.etree: Add empty variadic argument
+
+format checker says that argument 4 is a printf formatted argument
+but there is no more arguments to follow
+
+Fixes libxslt format warnings
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lxml/lxml.etree.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/lxml/lxml.etree.c b/src/lxml/lxml.etree.c
+index d482091..faab06c 100644
+--- a/src/lxml/lxml.etree.c
++++ b/src/lxml/lxml.etree.c
+@@ -186086,7 +186086,7 @@ static void __pyx_f_4lxml_5etree__callExtensionElement(xsltTransformContext *__p
+  *         except:
+  */
+             __pyx_t_26 = __Pyx_PyObject_AsString(__pyx_v_message); if (unlikely((!__pyx_t_26) && PyErr_Occurred())) __PYX_ERR(19, 228, __pyx_L18_except_error)
+-            xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26);
++            xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26, "");
+ 
+             /* "src/lxml/xsltext.pxi":229
+  *                 c_inst_node.name, _cstr(e))
+@@ -186136,7 +186136,7 @@ static void __pyx_f_4lxml_5etree__callExtensionElement(xsltTransformContext *__p
+  *     except:
+  */
+             __pyx_t_26 = __Pyx_PyObject_AsString(__pyx_v_message); if (unlikely((!__pyx_t_26) && PyErr_Occurred())) __PYX_ERR(19, 234, __pyx_L18_except_error)
+-            xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26);
++            xsltTransformError(__pyx_v_c_ctxt, NULL, __pyx_v_c_inst_node, __pyx_t_26, "");
+ 
+             /* "src/lxml/xsltext.pxi":235
+  *                 "Error executing extension element '%s'", c_inst_node.name)
+-- 
+2.12.2
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.6.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.6.4.bb
deleted file mode 100644
index ff4bc7f..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.6.4.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-lxml.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.7.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.7.3.bb
new file mode 100644
index 0000000..8b13d2d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_3.7.3.bb
@@ -0,0 +1,6 @@
+inherit setuptools3
+require python-lxml.inc
+
+SRC_URI = "${PYPI_SRC_URI} \
+           file://0001-lxml.etree-Add-empty-variadic-argument.patch \
+           "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/0001-Allow-calling-make-clean-without-sphinx-build.patch b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/0001-Allow-calling-make-clean-without-sphinx-build.patch
new file mode 100644
index 0000000..d1d7ef5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict/0001-Allow-calling-make-clean-without-sphinx-build.patch
@@ -0,0 +1,34 @@
+From 39e13b4e3f7a1d1dd748e80cee241d511865d4e8 Mon Sep 17 00:00:00 2001
+From: Pascal Bach <pascal.bach@nextrem.ch>
+Date: Mon, 16 Jan 2017 21:29:12 +0100
+Subject: [PATCH] Allow calling make clean without sphinx-build
+
+Currently make clean fails without sphinx-build installed
+However sphinx-build is not really necessary to do a clean.
+This trick makes the docs/Makefile use the false binary instead of
+sphinx-build for the check when a clean is done.
+
+Upstream-Status: Submitted https://github.com/aio-libs/multidict/pull/41
+
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 8f525f3..6d601e5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -51,8 +51,8 @@ clean:
+ 	rm -rf coverage
+ 	rm -rf build
+ 	rm -rf cover
+-	make -C docs clean
+-	python setup.py clean
++	make -C docs clean SPHINXBUILD=false
++	python3 setup.py clean
+ 	rm -f multidict/_multidict.html
+ 	rm -f multidict/_multidict.c
+ 	rm -f multidict/_multidict.*.so
+-- 
+2.7.4
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_2.1.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_2.1.4.bb
new file mode 100644
index 0000000..62895d2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_2.1.4.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Multidicts are useful for working with HTTP headers, URL query args etc."
+HOMEPAGE = "https://github.com/aio-libs/multidict/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+inherit pypi setuptools3
+
+SRC_URI += "file://0001-Allow-calling-make-clean-without-sphinx-build.patch"
+
+SRC_URI[md5sum] = "051d92edec87fd98e43ea83f3ce6072d"
+SRC_URI[sha256sum] = "a77aa8c9f68846c3b5db43ff8ed2a7a884dbe845d01f55113a3fba78518c4cd7"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.2.bb
new file mode 100644
index 0000000..4981e61
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.2.bb
@@ -0,0 +1,3 @@
+inherit setuptools3
+require python-paho-mqtt.inc
+
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.6.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.6.5.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-passlib_1.7.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.13.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.7.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_1.0.13.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.2.0.bb
new file mode 100644
index 0000000..c1969ea
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-psutil_5.2.0.bb
@@ -0,0 +1,4 @@
+inherit pypi setuptools3
+require python-psutil.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-netclient"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.31.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.32.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.31.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-py_1.4.32.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyalsaaudio_0.8.4.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyalsaaudio_0.8.4.bb
new file mode 100644
index 0000000..b7da1a4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyalsaaudio_0.8.4.bb
@@ -0,0 +1,2 @@
+require python-pyalsaaudio.inc
+inherit pypi setuptools3
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.1.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.2.3.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.1.9.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.2.3.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_1.8.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.0.1.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_1.8.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.0.1.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.14.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.14.bb
deleted file mode 100644
index b30db54..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.14.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-pycparser.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.17.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.17.bb
new file mode 100644
index 0000000..7cc024e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pycparser_2.17.bb
@@ -0,0 +1,6 @@
+inherit pypi setuptools3
+require python-pycparser.inc
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-netclient \
+    " 
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.51.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.67.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.51.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.67.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.3.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.3.0.bb
deleted file mode 100644
index 5164b18..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.3.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-pymongo.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.4.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.4.0.bb
new file mode 100644
index 0000000..3b250a1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.4.0.bb
@@ -0,0 +1,10 @@
+inherit pypi setuptools3
+require python-pymongo.inc
+
+# Requires _pydecimal which is in misc
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-enum \
+    ${PYTHON_PN}-misc \
+    ${PYTHON_PN}-selectors \
+    ${PYTHON_PN}-subprocess \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_16.1.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_16.2.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_16.1.0.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyopenssl_16.2.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.2.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.2.0.bb
new file mode 100644
index 0000000..0805fee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.2.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pyparsing.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.1.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.3.bb
similarity index 68%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.1.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.3.bb
index 17ed3f8..44c1368 100644
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.1.1.bb
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyserial_3.3.bb
@@ -5,3 +5,5 @@
     rm -f ${D}${bindir}/miniterm.py
     rmdir ${D}${bindir}
 }
+
+RDEPENDS_${PN} += "${PYTHON_PN}-enum ${PYTHON_PN}-selectors"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.5.7.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.5.7.bb
deleted file mode 100644
index 6b09355..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.5.7.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-pysocks.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.6.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.6.bb
new file mode 100644
index 0000000..f8aa01b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.6.6.bb
@@ -0,0 +1,8 @@
+inherit pypi setuptools3
+require python-pysocks.inc
+
+RDEPENDS_${PN}_class-target += "\
+    ${PYTHON_PN}-enum \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-selectors \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.11.1.bb
new file mode 100644
index 0000000..df56ba6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_2.11.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pytest-runner.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.6.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.0.6.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2017.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2017.2.bb
new file mode 100755
index 0000000..19a89dc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2017.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pytz.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.12.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.12.bb
new file mode 100644
index 0000000..470aca6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.12.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pyyaml.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.11.1.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.11.1.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-requests_2.13.0.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.19.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.19.bb
new file mode 100644
index 0000000..199dcfa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.19.bb
@@ -0,0 +1,8 @@
+inherit setuptools3
+require python-serpent.inc
+
+# Requires _pydecimal which is in misc
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-enum \
+    ${PYTHON_PN}-misc \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.0.bb
new file mode 100644
index 0000000..5bf5983
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm_1.15.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-setuptools-scm.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.10.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.10.0.bb
new file mode 100644
index 0000000..d44bc15
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.10.0.bb
@@ -0,0 +1,7 @@
+inherit setuptools3
+require python-simplejson.inc
+
+# Requires _pydecimal which is in misc
+RDEPENDS_${PN} += " \
+    ${PYTHON_PN}-misc \
+"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-six_1.10.0.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-six_1.10.0.bb
deleted file mode 100644
index 7f76157..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-six_1.10.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-six.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_3.1.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_3.1.2.bb
new file mode 100644
index 0000000..b357bcd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus_3.1.2.bb
@@ -0,0 +1,2 @@
+inherit distutils3
+require python-smbus.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb
new file mode 100644
index 0000000..610611e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-spidev_3.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-spidev.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.9.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.9.bb
new file mode 100644
index 0000000..01f1e97
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.1.9.bb
@@ -0,0 +1,5 @@
+inherit setuptools3
+require python-sqlalchemy.inc
+
+# Requires _pydecimal.py which is in misc
+RDEPENDS_${PN} += "${PYTHON_PN}-enum ${PYTHON_PN}-misc"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
new file mode 100644
index 0000000..845b7d9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-systemd_234.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Python interface for libsystemd"
+HOMEPAGE = "https://github.com/systemd/python-systemd"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c"
+
+PYPI_PACKAGE = "systemd-python"
+DEPENDS += "systemd (<=234)"
+RDEPENDS_${PN} += "systemd"
+REQUIRED_DISTRO_FEATURES = "systemd"
+inherit pypi setuptools3 distro_features_check
+
+SRC_URI[md5sum] = "5071ea5bcb976186e92a3f5e75df221d"
+SRC_URI[sha256sum] = "fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7"
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.3.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.3.bb
deleted file mode 100644
index eecc1f0..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.3.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-tornado.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.4.2.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.4.2.bb
new file mode 100644
index 0000000..77c9fb5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_4.4.2.bb
@@ -0,0 +1,7 @@
+inherit pypi setuptools3
+require python-tornado.inc
+
+# Requires _compression which is currently located in misc
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-misc \
+    "
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.18.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.2.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.18.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.2.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.5.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.7.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.5.bb
rename to import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-webcolors_1.7.bb
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.11.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.11.bb
deleted file mode 100644
index af2d86a..0000000
--- a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.11.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools3
-require python-werkzeug.inc
diff --git a/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.15.bb b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.15.bb
new file mode 100644
index 0000000..145a1de
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_0.11.15.bb
@@ -0,0 +1,4 @@
+inherit pypi setuptools3
+require python-werkzeug.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-misc"