Merge pull request #80 from bradbishop/rocket

prepare for rocket wsgi server
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 \