diff --git a/common/recipes-devtools/python/bottle_0.12.9.bb b/common/recipes-devtools/python/bottle_0.12.9.bb
deleted file mode 100644
index 72925e7..0000000
--- a/common/recipes-devtools/python/bottle_0.12.9.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require bottle.inc
-SRC_URI = "https://pypi.python.org/packages/source/b/${BPN}/${BP}.tar.gz;name=tarball file://LICENSE file://json-format.patch"
-SRC_URI[tarball.sha256sum] = "fe0a24b59385596d02df7ae7845fe7d7135eea73799d03348aeb9f3771500051"
-SRC_URI[tarball.md5sum] = "f5850258a86224a791171e8ecbb66d99"
diff --git a/common/recipes-devtools/python/bottle.inc b/common/recipes-devtools/python/python-bottle.inc
similarity index 75%
rename from common/recipes-devtools/python/bottle.inc
rename to common/recipes-devtools/python/python-bottle.inc
index bfd5a48..d578c8b 100644
--- a/common/recipes-devtools/python/bottle.inc
+++ b/common/recipes-devtools/python/python-bottle.inc
@@ -12,7 +12,15 @@
 inherit allarch
 inherit setuptools
 
+S = "${WORKDIR}/${SRCNAME}-${PV}"
 # bottle doesn't send email...it uses a utility in here to parse rfc1123 and rfc850 timestamps.
-RDEPENDS_${PN} += "python-email"
+RDEPENDS_${PN} += "python-email-utils-standalone"
+
+PROVIDES += "${PN}-app"
+PACKAGES += "${PN}-app"
+
+SUMMARY_${PN}-app = "${SRCNAME} app"
+RDEPENDS_${PN}-app = "${PN}"
+FILES_${PN}-app = "${bindir}/bottle.py"
 
 BBCLASSEXTEND = "nativesdk"
diff --git a/common/recipes-devtools/python/bottle/LICENSE b/common/recipes-devtools/python/python-bottle/LICENSE
similarity index 100%
rename from common/recipes-devtools/python/bottle/LICENSE
rename to common/recipes-devtools/python/python-bottle/LICENSE
diff --git a/common/recipes-devtools/python/bottle/json-format.patch b/common/recipes-devtools/python/python-bottle/json-format.patch
similarity index 100%
rename from common/recipes-devtools/python/bottle/json-format.patch
rename to common/recipes-devtools/python/python-bottle/json-format.patch
diff --git a/common/recipes-devtools/python/python-bottle_0.12.9.bb b/common/recipes-devtools/python/python-bottle_0.12.9.bb
new file mode 100644
index 0000000..4c62045
--- /dev/null
+++ b/common/recipes-devtools/python/python-bottle_0.12.9.bb
@@ -0,0 +1,5 @@
+SRCNAME = "bottle"
+SRC_URI = "https://pypi.python.org/packages/source/b/${SRCNAME}/${SRCNAME}-${PV}.tar.gz;name=tarball file://LICENSE file://json-format.patch"
+SRC_URI[tarball.sha256sum] = "fe0a24b59385596d02df7ae7845fe7d7135eea73799d03348aeb9f3771500051"
+SRC_URI[tarball.md5sum] = "f5850258a86224a791171e8ecbb66d99"
+require python-bottle.inc
diff --git a/common/recipes-devtools/python/python-email-utils-standalone.inc b/common/recipes-devtools/python/python-email-utils-standalone.inc
new file mode 100644
index 0000000..fe041d2
--- /dev/null
+++ b/common/recipes-devtools/python/python-email-utils-standalone.inc
@@ -0,0 +1,29 @@
+SUMMARY = "Standalone email package"
+HOMEPAGE = "http://www.python.org/sigs/email-sig"
+SECTION = "devel/python"
+LICENSE = "PSFv2"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=a5c8025e305fb49e6d405769358851f6"
+
+inherit allarch
+inherit setuptools
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+PROVIDES += "${PN}-misc"
+PACKAGES += "${PN}-misc"
+RDPENDS_${PN} = "python-core"
+
+package_dir = "${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}"
+
+SUMMARY_${PN}-misc = "${SRCNAME} misc"
+RDEPENDS_${PN}-misc = "${PN}"
+RCONFLICTS_${PN} = "python-email"
+FILES_${PN}-misc = "${PYTHON_SITEPACKAGES_DIR}"
+
+FILES_${PN} = " \
+        ${package_dir}/__init__.py* \
+        ${package_dir}/utils.py* \
+        ${package_dir}/_parseaddr.py* \
+        ${package_dir}/encoders.py* \
+        "
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/common/recipes-devtools/python/python-email-utils-standalone/LICENSE b/common/recipes-devtools/python/python-email-utils-standalone/LICENSE
new file mode 100644
index 0000000..9d3e862
--- /dev/null
+++ b/common/recipes-devtools/python/python-email-utils-standalone/LICENSE
@@ -0,0 +1,192 @@
+
+PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
+--------------------------------------------
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing and
+otherwise using this software ("Python") in source or binary form and
+its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python
+alone or in any derivative version, provided, however, that PSF`s
+License Agreement and PSF`s notice of copyright, i.e., "Copyright (c)
+2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights
+Reserved" are retained in Python alone or in any derivative version
+prepared by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python.
+
+4. PSF is making Python available to Licensee on an "AS IS"
+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee. This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
+-------------------------------------------
+
+BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
+
+1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
+office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
+Individual or Organization ("Licensee") accessing and otherwise using
+this software in source or binary form and its associated
+documentation ("the Software").
+
+2. Subject to the terms and conditions of this BeOpen Python License
+Agreement, BeOpen hereby grants Licensee a non-exclusive,
+royalty-free, world-wide license to reproduce, analyze, test, perform
+and/or display publicly, prepare derivative works, distribute, and
+otherwise use the Software alone or in any derivative version,
+provided, however, that the BeOpen Python License is retained in the
+Software, alone or in any derivative version prepared by Licensee.
+
+3. BeOpen is making the Software available to Licensee on an "AS IS"
+basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
+SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
+AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
+DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+5. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+6. This License Agreement shall be governed by and interpreted in all
+respects by the law of the State of California, excluding conflict of
+law provisions. Nothing in this License Agreement shall be deemed to
+create any relationship of agency, partnership, or joint venture
+between BeOpen and Licensee. This License Agreement does not grant
+permission to use BeOpen trademarks or trade names in a trademark
+sense to endorse or promote products or services of Licensee, or any
+third party. As an exception, the "BeOpen Python" logos available at
+http://www.pythonlabs.com/logos.html may be used according to the
+permissions granted on that web page.
+
+7. By copying, installing or otherwise using the software, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
+---------------------------------------
+
+1. This LICENSE AGREEMENT is between the Corporation for National
+Research Initiatives, having an office at 1895 Preston White Drive,
+Reston, VA 20191 ("CNRI"), and the Individual or Organization
+("Licensee") accessing and otherwise using Python 1.6.1 software in
+source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, CNRI
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 1.6.1
+alone or in any derivative version, provided, however, that CNRI`s
+License Agreement and CNRI`s notice of copyright, i.e., "Copyright (c)
+1995-2001 Corporation for National Research Initiatives; All Rights
+Reserved" are retained in Python 1.6.1 alone or in any derivative
+version prepared by Licensee. Alternately, in lieu of CNRI`s License
+Agreement, Licensee may substitute the following text (omitting the
+quotes): "Python 1.6.1 is made available subject to the terms and
+conditions in CNRI`s License Agreement. This Agreement together with
+Python 1.6.1 may be located on the Internet using the following
+unique, persistent identifier (known as a handle): 1895.22/1013. This
+Agreement may also be obtained from a proxy server on the Internet
+using the following URL: http://hdl.handle.net/1895.22/1013".
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 1.6.1 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 1.6.1.
+
+4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
+basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. This License Agreement shall be governed by the federal
+intellectual property law of the United States, including without
+limitation the federal copyright law, and, to the extent such
+U.S. federal law does not apply, by the law of the Commonwealth of
+Virginia, excluding Virginia`s conflict of law provisions.
+Notwithstanding the foregoing, with regard to derivative works based
+on Python 1.6.1 that incorporate non-separable material that was
+previously distributed under the GNU General Public License (GPL), the
+law of the Commonwealth of Virginia shall govern this License
+Agreement only as to issues arising under or with respect to
+Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
+License Agreement shall be deemed to create any relationship of
+agency, partnership, or joint venture between CNRI and Licensee. This
+License Agreement does not grant permission to use CNRI trademarks or
+trade name in a trademark sense to endorse or promote products or
+services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying,
+installing or otherwise using Python 1.6.1, Licensee agrees to be
+bound by the terms and conditions of this License Agreement.
+
+ACCEPT
+
+CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
+--------------------------------------------------
+
+Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
+The Netherlands. All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Stichting Mathematisch
+Centrum or CWI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/common/recipes-devtools/python/python-email-utils-standalone/setup.patch b/common/recipes-devtools/python/python-email-utils-standalone/setup.patch
new file mode 100644
index 0000000..8087641
--- /dev/null
+++ b/common/recipes-devtools/python/python-email-utils-standalone/setup.patch
@@ -0,0 +1,74 @@
+Index: email-4.0.2/email/__init__.py
+===================================================================
+--- email-4.0.2.orig/email/__init__.py
++++ email-4.0.2/email/__init__.py
+@@ -8,7 +8,6 @@ __version__ = '4.0.2'
+ 
+ __all__ = [
+     # Old names
+-    'base64MIME',
+     'Charset',
+     'Encoders',
+     'Errors',
+@@ -16,20 +15,11 @@ __all__ = [
+     'Header',
+     'Iterators',
+     'Message',
+-    'MIMEAudio',
+-    'MIMEBase',
+-    'MIMEImage',
+-    'MIMEMessage',
+-    'MIMEMultipart',
+-    'MIMENonMultipart',
+-    'MIMEText',
+     'Parser',
+-    'quopriMIME',
+     'Utils',
+     'message_from_string',
+     'message_from_file',
+     # new names
+-    'base64mime',
+     'charset',
+     'encoders',
+     'errors',
+@@ -37,9 +27,7 @@ __all__ = [
+     'header',
+     'iterators',
+     'message',
+-    'mime',
+     'parser',
+-    'quoprimime',
+     'utils',
+     ]
+ 
+@@ -94,30 +82,9 @@ _LOWERNAMES = [
+     'Message',
+     'Parser',
+     'Utils',
+-    'base64MIME',
+-    'quopriMIME',
+-    ]
+-
+-_MIMENAMES = [
+-    # email.MIME<old name> -> email.mime.<new name is lowercased old name>
+-    'Audio',
+-    'Base',
+-    'Image',
+-    'Message',
+-    'Multipart',
+-    'NonMultipart',
+-    'Text',
+     ]
+ 
+ for _name in _LOWERNAMES:
+     importer = LazyImporter(_name.lower())
+     sys.modules['email.' + _name] = importer
+     setattr(sys.modules['email'], _name, importer)
+-
+-
+-import email.mime
+-for _name in _MIMENAMES:
+-    importer = LazyImporter('mime.' + _name.lower())
+-    sys.modules['email.MIME' + _name] = importer
+-    setattr(sys.modules['email'], 'MIME' + _name, importer)
+-    setattr(sys.modules['email.mime'], _name, importer)
diff --git a/common/recipes-devtools/python/python-email-utils-standalone_4.0.2.bb b/common/recipes-devtools/python/python-email-utils-standalone_4.0.2.bb
new file mode 100644
index 0000000..0839744
--- /dev/null
+++ b/common/recipes-devtools/python/python-email-utils-standalone_4.0.2.bb
@@ -0,0 +1,5 @@
+SRCNAME = "email"
+SRC_URI = "https://pypi.python.org/packages/source/e/${SRCNAME}/${SRCNAME}-${PV}.tar.gz;name=tarball file://LICENSE file://setup.patch"
+SRC_URI[tarball.sha256sum] = "e2254c9b4e4cf33553f7dfc85b500eea4c3e96733736f38c9dbfc3dcc6303705"
+SRC_URI[tarball.md5sum] = "67707dc0fab874edc5ac45f95ec9ec87"
+require python-email-utils-standalone.inc
diff --git a/common/recipes-devtools/python/python-rocket.inc b/common/recipes-devtools/python/python-rocket.inc
new file mode 100644
index 0000000..b2e6d31
--- /dev/null
+++ b/common/recipes-devtools/python/python-rocket.inc
@@ -0,0 +1,23 @@
+SUMMARY = "Modern, multi-threaded and extensible web server."
+DESCRIPTION = "The Rocket web server is a server designed to handle the increased \
+needs of modern web applications implemented in pure Python. It can serve WSGI \
+applications and static files. Rocket has the ability to be extended to handle \
+different types of networked request-response jobs. Rocket runs on cPython 2.5- 3.x \
+and Jython 2.5 (without the need to run through the 2to3 translation tool). Rocket \
+is similar in purpose to Cherrypy’s Wsgiserver but with added flexibility and concurrency."
+HOMEPAGE = "http://launchpad.net/rocket"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=b364bdf3116b1cbc1e30a6aff3224019"
+
+inherit allarch
+inherit setuptools
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+RDEPENDS_${PN} += "\
+        python-wsgiref-standalone-util \
+        python-wsgiref-standalone-headers \
+        python-email-utils-standalone \
+	"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/common/recipes-devtools/python/python-rocket/LICENSE b/common/recipes-devtools/python/python-rocket/LICENSE
new file mode 100644
index 0000000..29b8ae9
--- /dev/null
+++ b/common/recipes-devtools/python/python-rocket/LICENSE
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2011 Timothy Farrell
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/common/recipes-devtools/python/python-rocket/setup.patch b/common/recipes-devtools/python/python-rocket/setup.patch
new file mode 100644
index 0000000..7affb2f
--- /dev/null
+++ b/common/recipes-devtools/python/python-rocket/setup.patch
@@ -0,0 +1,13 @@
+Index: Rocket-1.2.4/setup.py
+===================================================================
+--- Rocket-1.2.4.orig/setup.py
++++ Rocket-1.2.4/setup.py
+@@ -4,8 +4,6 @@
+ # This file is part of the Rocket Web Server
+ # Copyright (c) 2009 Timothy Farrell
+ 
+-from distribute_setup import use_setuptools
+-use_setuptools()
+ from setuptools import setup, find_packages
+ 
+ import os
diff --git a/common/recipes-devtools/python/python-rocket_1.2.4.bb b/common/recipes-devtools/python/python-rocket_1.2.4.bb
new file mode 100644
index 0000000..8d8008a
--- /dev/null
+++ b/common/recipes-devtools/python/python-rocket_1.2.4.bb
@@ -0,0 +1,5 @@
+SRCNAME = "Rocket"
+SRC_URI = "https://pypi.python.org/packages/source/r/rocket/${SRCNAME}-${PV}.zip;name=tarball file://LICENSE file://setup.patch"
+SRC_URI[tarball.sha256sum] = "7b7a3df4d9257e369d85bcc2013351704ffe364ff45d4710e6a30b2efc63a731"
+SRC_URI[tarball.md5sum] = "fa611955154b486bb91e632a43e90f4b"
+require python-rocket.inc
diff --git a/common/recipes-devtools/python/python-wsgiref-standalone.inc b/common/recipes-devtools/python/python-wsgiref-standalone.inc
new file mode 100644
index 0000000..bbac61c
--- /dev/null
+++ b/common/recipes-devtools/python/python-wsgiref-standalone.inc
@@ -0,0 +1,46 @@
+SUMMARY = "WSGI (PEP 333) Reference Library"
+DESCRIPTION = "This is a standalone release of the wsgiref library, \
+that provides validation support for WSGI 1.0.1 (PEP 3333) for Python \
+versions < 3.2, and includes the new wsgiref.util.test() utility function."
+HOMEPAGE = "http://cheeseshop.python.org/pypi/wsgiref"
+SECTION = "devel/python"
+LICENSE = "PSFv2"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=a5c8025e305fb49e6d405769358851f6"
+
+inherit allarch
+inherit setuptools
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+PROVIDES += "${PN}-headers ${PN}-handlers ${PN}-validate ${PN}-simple_server ${PN}-util"
+PACKAGES += "${PN}-headers ${PN}-handlers ${PN}-validate ${PN}-simple_server ${PN}-util"
+RDEPENDS_${PN} = "python-core"
+RCONFLICTS_${PN} = "python-misc"
+
+package_dir = "${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}"
+
+SUMMARY_${PN}-handlers = "${SRCNAME} handlers"
+RDEPENDS_${PN}-handlers = "${PN}-util ${PN}-headers"
+FILES_${PN}-handlers = "${package_dir}/handlers.py*"
+
+SUMMARY_${PN}-headers = "${SRCNAME} headers"
+RDEPENDS_${PN}-headers = "${PN}"
+FILES_${PN}-headers = "${package_dir}/headers.py*"
+
+SUMMARY_${PN}-simple_server = "${SRCNAME} simple_server"
+RDEPENDS_${PN}-simple_server = "${PN}-handlers"
+FILES_${PN}-simple_server = "${package_dir}/simple_server.py*"
+
+SUMMARY_${PN}-util = "${SRCNAME} util"
+RDEPENDS_${PN}-util = "${PN}"
+FILES_${PN}-util = "${package_dir}/util.py*"
+
+SUMMARY_${PN}-validate = "${SRCNAME} validate"
+RDEPENDS_${PN}-validate = "${PN}"
+FILES_${PN}-validate = "${package_dir}/validate.py*"
+
+FILES_${PN} = " \
+        ${package_dir}/__init__.py* \
+        ${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}-${PV}-*.egg-info \
+        "
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/common/recipes-devtools/python/python-wsgiref-standalone/LICENSE b/common/recipes-devtools/python/python-wsgiref-standalone/LICENSE
new file mode 100644
index 0000000..9d3e862
--- /dev/null
+++ b/common/recipes-devtools/python/python-wsgiref-standalone/LICENSE
@@ -0,0 +1,192 @@
+
+PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
+--------------------------------------------
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing and
+otherwise using this software ("Python") in source or binary form and
+its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python
+alone or in any derivative version, provided, however, that PSF`s
+License Agreement and PSF`s notice of copyright, i.e., "Copyright (c)
+2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights
+Reserved" are retained in Python alone or in any derivative version
+prepared by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python.
+
+4. PSF is making Python available to Licensee on an "AS IS"
+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee. This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
+-------------------------------------------
+
+BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
+
+1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
+office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
+Individual or Organization ("Licensee") accessing and otherwise using
+this software in source or binary form and its associated
+documentation ("the Software").
+
+2. Subject to the terms and conditions of this BeOpen Python License
+Agreement, BeOpen hereby grants Licensee a non-exclusive,
+royalty-free, world-wide license to reproduce, analyze, test, perform
+and/or display publicly, prepare derivative works, distribute, and
+otherwise use the Software alone or in any derivative version,
+provided, however, that the BeOpen Python License is retained in the
+Software, alone or in any derivative version prepared by Licensee.
+
+3. BeOpen is making the Software available to Licensee on an "AS IS"
+basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
+SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
+AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
+DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+5. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+6. This License Agreement shall be governed by and interpreted in all
+respects by the law of the State of California, excluding conflict of
+law provisions. Nothing in this License Agreement shall be deemed to
+create any relationship of agency, partnership, or joint venture
+between BeOpen and Licensee. This License Agreement does not grant
+permission to use BeOpen trademarks or trade names in a trademark
+sense to endorse or promote products or services of Licensee, or any
+third party. As an exception, the "BeOpen Python" logos available at
+http://www.pythonlabs.com/logos.html may be used according to the
+permissions granted on that web page.
+
+7. By copying, installing or otherwise using the software, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
+---------------------------------------
+
+1. This LICENSE AGREEMENT is between the Corporation for National
+Research Initiatives, having an office at 1895 Preston White Drive,
+Reston, VA 20191 ("CNRI"), and the Individual or Organization
+("Licensee") accessing and otherwise using Python 1.6.1 software in
+source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, CNRI
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 1.6.1
+alone or in any derivative version, provided, however, that CNRI`s
+License Agreement and CNRI`s notice of copyright, i.e., "Copyright (c)
+1995-2001 Corporation for National Research Initiatives; All Rights
+Reserved" are retained in Python 1.6.1 alone or in any derivative
+version prepared by Licensee. Alternately, in lieu of CNRI`s License
+Agreement, Licensee may substitute the following text (omitting the
+quotes): "Python 1.6.1 is made available subject to the terms and
+conditions in CNRI`s License Agreement. This Agreement together with
+Python 1.6.1 may be located on the Internet using the following
+unique, persistent identifier (known as a handle): 1895.22/1013. This
+Agreement may also be obtained from a proxy server on the Internet
+using the following URL: http://hdl.handle.net/1895.22/1013".
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 1.6.1 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 1.6.1.
+
+4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
+basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. This License Agreement shall be governed by the federal
+intellectual property law of the United States, including without
+limitation the federal copyright law, and, to the extent such
+U.S. federal law does not apply, by the law of the Commonwealth of
+Virginia, excluding Virginia`s conflict of law provisions.
+Notwithstanding the foregoing, with regard to derivative works based
+on Python 1.6.1 that incorporate non-separable material that was
+previously distributed under the GNU General Public License (GPL), the
+law of the Commonwealth of Virginia shall govern this License
+Agreement only as to issues arising under or with respect to
+Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
+License Agreement shall be deemed to create any relationship of
+agency, partnership, or joint venture between CNRI and Licensee. This
+License Agreement does not grant permission to use CNRI trademarks or
+trade name in a trademark sense to endorse or promote products or
+services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying,
+installing or otherwise using Python 1.6.1, Licensee agrees to be
+bound by the terms and conditions of this License Agreement.
+
+ACCEPT
+
+CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
+--------------------------------------------------
+
+Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
+The Netherlands. All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Stichting Mathematisch
+Centrum or CWI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/common/recipes-devtools/python/python-wsgiref-standalone_0.1.2.bb b/common/recipes-devtools/python/python-wsgiref-standalone_0.1.2.bb
new file mode 100644
index 0000000..5d4e81f
--- /dev/null
+++ b/common/recipes-devtools/python/python-wsgiref-standalone_0.1.2.bb
@@ -0,0 +1,5 @@
+SRCNAME = "wsgiref"
+SRC_URI = "https://pypi.python.org/packages/source/w/${SRCNAME}/${SRCNAME}-${PV}.zip;name=tarball file://LICENSE"
+SRC_URI[tarball.sha256sum] = "c7e610c800957046c04c8014aab8cce8f0b9f0495c8cd349e57c1f7cabf40e79"
+SRC_URI[tarball.md5sum] = "29b146e6ebd0f9fb119fe321f7bcf6cb"
+require python-wsgiref-standalone.inc
diff --git a/common/recipes-phosphor/dbus/obmc-rest.bb b/common/recipes-phosphor/dbus/obmc-rest.bb
index 0162ec5..941fa90 100644
--- a/common/recipes-phosphor/dbus/obmc-rest.bb
+++ b/common/recipes-phosphor/dbus/obmc-rest.bb
@@ -14,6 +14,8 @@
         python-dbus \
         python-pygobject \
 	obmc-mapper \
+	python-rocket \
+	python-bottle \
         "
 SRC_URI += " \
         git://github.com/openbmc/phosphor-rest-server \
