[meta-virtualization] [m-c-s][PATCH] python-*: switch remaining (https) pypi recipes to use the pypi class

Bruce Ashfield bruce.ashfield at windriver.com
Fri Nov 17 08:11:02 PST 2017


On 11/16/2017 02:20 PM, Mark Asselstine wrote:
> The original commit to switch pypi recipes to use the pypi.bbclass
> only addressed the urgent need to get the recipes using "http"
> converted. This change is the same but converts the remaining pypi
> recipes which were already uing "https".
> 
> Cleanup the various python-* recipes which download from pypi. The
> biggest change is to "inherit pypi" which should result in us always
> using current pypi best practices. This will for example ensure we are
> using https and not http which is apparently going to be disabled
> soon.
> 
> In most cases we are able to drop SRC_URI, however, for some recipes
> which use 'zip' or 'bz2' extensions we need to set PYPI_PACKAGE_EXT.
> 
> In all cases we can drop the defining of 'S' and 'PR' as the pypi
> class and the PR server will set these correctly.
> 
> In most cases we can drop SRCNAME. Where needed we instead set
> PYPI_PACKAGE to overwrite the derived name that the pypi class would
> otherwise calculate.

merged.

Bruce

> 
> Signed-off-by: Mark Asselstine <mark.asselstine at windriver.com>
> ---
>   .../recipes-devtools/python/python-aioeventlet_0.4.bb       |  8 ++------
>   .../recipes-devtools/python/python-alembic_0.8.10.bb        |  8 +-------
>   .../recipes-devtools/python/python-automaton_0.8.0.bb       |  8 +-------
>   .../recipes-devtools/python/python-babel_2.3.4.bb           |  8 ++------
>   .../recipes-devtools/python/python-beautifulsoup4_4.4.1.bb  |  9 +--------
>   .../recipes-devtools/python/python-contextlib2_0.4.0.bb     |  8 +-------
>   .../recipes-devtools/python/python-debtcollector_1.10.0.bb  |  8 +-------
>   .../recipes-devtools/python/python-django-appconf_1.0.1.bb  | 10 +---------
>   .../recipes-devtools/python/python-django-compressor_2.1.bb |  9 ++-------
>   .../recipes-devtools/python/python-dogpile.cache_0.6.2.bb   |  8 +-------
>   .../recipes-devtools/python/python-dogpile.core_0.4.1.bb    |  9 +--------
>   meta-openstack/recipes-devtools/python/python-ecdsa_0.13.bb |  8 +-------
>   .../recipes-devtools/python/python-extras_1.0.0.bb          |  9 +--------
>   .../recipes-devtools/python/python-fixtures_3.0.0.bb        |  8 +-------
>   .../recipes-devtools/python/python-flake8_2.4.0.bb          |  8 +-------
>   .../recipes-devtools/python/python-funcsigs_1.0.2.bb        |  8 +-------
>   .../recipes-devtools/python/python-futurist_0.21.0.bb       |  8 +-------
>   .../recipes-devtools/python/python-happybase_1.1.0.bb       |  9 +--------
>   .../recipes-devtools/python/python-hgtools_6.3.bb           |  9 ++-------
>   .../recipes-devtools/python/python-hp3parclient_3.2.0.bb    | 10 ++--------
>   .../recipes-devtools/python/python-httplib2_0.10.3.bb       |  8 +-------
>   .../recipes-devtools/python/python-httpretty_0.8.14.bb      | 10 +---------
>   .../recipes-devtools/python/python-jinja2_2.7.3.bb          |  9 ++-------
>   .../recipes-devtools/python/python-keyring_5.3.bb           |  9 ++-------
>   .../recipes-devtools/python/python-lesscpy_0.10.2.bb        |  9 +--------
>   .../recipes-devtools/python/python-lockfile_0.12.2.bb       |  8 +-------
>   .../recipes-devtools/python/python-logutils_0.3.5.bb        |  9 +--------
>   meta-openstack/recipes-devtools/python/python-mako_0.8.1.bb |  9 ++-------
>   .../recipes-devtools/python/python-markupsafe_0.18.bb       |  9 ++-------
>   .../recipes-devtools/python/python-mccabe_0.2.1.bb          |  9 +--------
>   .../recipes-devtools/python/python-mimeparse_0.1.4.bb       |  8 ++------
>   meta-openstack/recipes-devtools/python/python-mock_1.0.1.bb |  9 +--------
>   .../recipes-devtools/python/python-mox3_0.20.0.bb           |  9 +--------
>   meta-openstack/recipes-devtools/python/python-mox_0.5.3.bb  |  9 +--------
>   .../recipes-devtools/python/python-netaddr_0.7.19.bb        |  8 +-------
>   .../recipes-devtools/python/python-netifaces_0.10.4.bb      |  9 +--------
>   .../recipes-devtools/python/python-oauth2_1.5.211.bb        |  9 +--------
>   meta-openstack/recipes-devtools/python/python-pam_0.1.4.bb  |  9 +--------
>   .../recipes-devtools/python/python-paramiko_2.4.0.bb        |  9 +--------
>   .../recipes-devtools/python/python-passlib_1.6.2.bb         |  9 +--------
>   .../recipes-devtools/python/python-paste_2.0.2.bb           |  8 ++------
>   .../recipes-devtools/python/python-pastedeploy_1.5.2.bb     |  9 ++-------
>   .../recipes-devtools/python/python-pecan_1.2.1.bb           | 10 +---------
>   meta-openstack/recipes-devtools/python/python-pep8_1.6.2.bb |  9 +--------
>   .../recipes-devtools/python/python-pexpect_3.3.bb           |  7 +------
>   .../recipes-devtools/python/python-pika-pool_0.1.3.bb       |  8 +-------
>   meta-openstack/recipes-devtools/python/python-ply_3.4.bb    |  9 +--------
>   .../recipes-devtools/python/python-positional_1.1.1.bb      |  8 +-------
>   .../recipes-devtools/python/python-psycopg2_2.6.2.bb        |  9 ++-------
>   .../recipes-devtools/python/python-pycrypto_2.6.1.bb        | 13 ++++---------
>   .../recipes-devtools/python/python-pyflakes_0.7.3.bb        |  9 +--------
>   .../recipes-devtools/python/python-pymongo_3.4.0.bb         |  8 +-------
>   .../recipes-devtools/python/python-pysnmp_4.2.5.bb          | 10 +---------
>   .../recipes-devtools/python/python-pytz_2013.8.bb           | 10 +---------
>   .../recipes-devtools/python/python-pyudev_0.16.1.bb         |  9 +--------
>   .../recipes-devtools/python/python-rcssmin_1.0.6.bb         |  9 +--------
>   .../recipes-devtools/python/python-rjsmin_1.0.12.bb         |  9 +--------
>   .../recipes-devtools/python/python-setuptools-git_1.1.bb    |  8 +-------
>   .../recipes-devtools/python/python-simplegeneric_0.8.1.bb   |  9 ++-------
>   .../python/python-singledispatch_3.4.0.3.bb                 |  8 +-------
>   .../recipes-devtools/python/python-subunit_1.1.0.bb         |  8 ++------
>   .../recipes-devtools/python/python-suds-jurko_0.6.bb        |  8 ++------
>   .../recipes-devtools/python/python-tempita_0.5.3dev.bb      |  8 ++------
>   .../recipes-devtools/python/python-termcolor_1.1.0.bb       | 10 +---------
>   .../recipes-devtools/python/python-testrepository_0.0.20.bb |  9 +--------
>   .../recipes-devtools/python/python-testresources_0.2.7.bb   |  9 +--------
>   .../recipes-devtools/python/python-testscenarios_0.5.0.bb   |  9 +--------
>   .../recipes-devtools/python/python-testtools_2.2.0.bb       |  9 +--------
>   .../recipes-devtools/python/python-thrift_0.9.2.bb          |  8 +-------
>   .../recipes-devtools/python/python-waitress_1.0.1.bb        |  8 +-------
>   .../recipes-devtools/python/python-warlock_1.3.0.bb         |  8 +-------
>   .../recipes-devtools/python/python-webtest_2.0.21.bb        |  8 ++------
>   meta-openstack/recipes-devtools/python/python-wsme_0.9.1.bb |  8 ++------
>   .../recipes-devtools/python/python-xattr_0.6.4.bb           | 10 +---------
>   .../python/python-xstatic-bootstrap-datepicker_1.3.1.0.bb   |  8 ++------
>   .../recipes-devtools/python/python-xstatic-mdi_1.4.57.0.bb  |  7 ++-----
>   76 files changed, 100 insertions(+), 561 deletions(-)
> 
> diff --git a/meta-openstack/recipes-devtools/python/python-aioeventlet_0.4.bb b/meta-openstack/recipes-devtools/python/python-aioeventlet_0.4.bb
> index 0841b9b..4cf2ae5 100644
> --- a/meta-openstack/recipes-devtools/python/python-aioeventlet_0.4.bb
> +++ b/meta-openstack/recipes-devtools/python/python-aioeventlet_0.4.bb
> @@ -4,18 +4,14 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://COPYING;md5=8f7bb094c7232b058c7e9f2e431f389c"
>   
> -SRCNAME = "aioeventlet"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/a/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
> +SRC_URI += " \
>       file://Makefile-skip-building-docs.patch \
>       "
>   
>   SRC_URI[md5sum] = "678ea30265ae0326bddc767f80efd144"
>   SRC_URI[sha256sum] = "fe78c2b227ce077b1581e2ae2c071f351111d0878ec1b0216435f6a898df79a6"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DEPENDS += " \
>           python-pip \
> diff --git a/meta-openstack/recipes-devtools/python/python-alembic_0.8.10.bb b/meta-openstack/recipes-devtools/python/python-alembic_0.8.10.bb
> index 69fa495..5a377d6 100644
> --- a/meta-openstack/recipes-devtools/python/python-alembic_0.8.10.bb
> +++ b/meta-openstack/recipes-devtools/python/python-alembic_0.8.10.bb
> @@ -4,16 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=d07407716fd24408b5747b0fa2262775"
>   
> -SRCNAME = "alembic"
> -
> -SRC_URI = "https://pypi.io/packages/source/a/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "21b344a70ce637699c18bf074a080649"
>   SRC_URI[sha256sum] = "0e3b50e96218283ec7443fb661199f5a81f5879f766967a8a2d25e8f9d4e7919"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += " \
>       python-sqlalchemy \
> diff --git a/meta-openstack/recipes-devtools/python/python-automaton_0.8.0.bb b/meta-openstack/recipes-devtools/python/python-automaton_0.8.0.bb
> index 185a7a5..c7e4dda 100644
> --- a/meta-openstack/recipes-devtools/python/python-automaton_0.8.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-automaton_0.8.0.bb
> @@ -4,16 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
>   
> -SRCNAME = "automaton"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/a/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "230a7bd8bb9a4bc9ba5a3faf0de12c90"
>   SRC_URI[sha256sum] = "ca8bfbea03b9f39a536b4b261d90fbe8b1b0e1766bff5d8222e35691f8e11910"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DEPENDS += " \
>           python-pip \
> diff --git a/meta-openstack/recipes-devtools/python/python-babel_2.3.4.bb b/meta-openstack/recipes-devtools/python/python-babel_2.3.4.bb
> index 790491d..e4c0884 100644
> --- a/meta-openstack/recipes-devtools/python/python-babel_2.3.4.bb
> +++ b/meta-openstack/recipes-devtools/python/python-babel_2.3.4.bb
> @@ -4,16 +4,12 @@ SECTION = "devel/python"
>   LICENSE = "BSD"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=e6eeaabc92cfc2d03f53e789324d7292"
>   
> -SRCNAME = "Babel"
> -SRC_URI = "https://pypi.io/packages/source/B/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
> -"
> +PYPI_PACKAGE = "Babel"
>   
>   SRC_URI[md5sum] = "afa20bc55b0e991833030129ad498f35"
>   SRC_URI[sha256sum] = "c535c4403802f6eb38173cd4863e419e2274921a01a8aad8a5b497c131c62875"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   CLEANBROKEN = "1"
>   
> diff --git a/meta-openstack/recipes-devtools/python/python-beautifulsoup4_4.4.1.bb b/meta-openstack/recipes-devtools/python/python-beautifulsoup4_4.4.1.bb
> index 1e061c2..cb72f87 100644
> --- a/meta-openstack/recipes-devtools/python/python-beautifulsoup4_4.4.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-beautifulsoup4_4.4.1.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://COPYING.txt;md5=39dacabe5494f61c8680f6fa7323b596"
>   
> -PR = "r0"
> -SRCNAME = "beautifulsoup4"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/b/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "8fbd9a7cac0704645fa20d1419036815"
>   SRC_URI[sha256sum] = "87d4013d0625d4789a4f56b8d79a04d5ce6db1152bb65f1d39744f7709a366b4"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   # avoid "error: option --single-version-externally-managed not recognized"
>   DISTUTILS_INSTALL_ARGS = "--root=${D} \
> diff --git a/meta-openstack/recipes-devtools/python/python-contextlib2_0.4.0.bb b/meta-openstack/recipes-devtools/python/python-contextlib2_0.4.0.bb
> index 2bede47..960238d 100644
> --- a/meta-openstack/recipes-devtools/python/python-contextlib2_0.4.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-contextlib2_0.4.0.bb
> @@ -4,16 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "PSF"
>   LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=43d1c7827e8fad6454b553caf0e1d734"
>   
> -SRCNAME = "contextlib2"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/c/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "ea687207db25f65552061db4a2c6727d"
>   SRC_URI[sha256sum] = "55a5dc78f7a742a0e756645134ffb39bbe11da0fea2bc0f7070d40dac208b732"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DEPENDS += " \
>           python-pip \
> diff --git a/meta-openstack/recipes-devtools/python/python-debtcollector_1.10.0.bb b/meta-openstack/recipes-devtools/python/python-debtcollector_1.10.0.bb
> index bdb36f9..d53960c 100644
> --- a/meta-openstack/recipes-devtools/python/python-debtcollector_1.10.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-debtcollector_1.10.0.bb
> @@ -4,16 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2"
>   LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
>   
> -SRCNAME = "debtcollector"
> -
> -SRC_URI = "https://pypi.io/packages/source/d/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "c85d9e0e7d4d00577695214cb425c5b4"
>   SRC_URI[sha256sum] = "1a3bd886d6aea3775e5366d7335c856449144c0218209af6c660f6be111714a3"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DEPENDS += " \
>           python-pip \
> diff --git a/meta-openstack/recipes-devtools/python/python-django-appconf_1.0.1.bb b/meta-openstack/recipes-devtools/python/python-django-appconf_1.0.1.bb
> index 49e2edf..2eed747 100644
> --- a/meta-openstack/recipes-devtools/python/python-django-appconf_1.0.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-django-appconf_1.0.1.bb
> @@ -4,18 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "BSD"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=3f34b9b2f6413fd5f91869fa7e992457"
>   
> -PR = "r0"
> -SRCNAME = "django-appconf"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/d/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
> -"
> -
>   SRC_URI[md5sum] = "29c87a00f0d098b90f3ac6113ae6e52d"
>   SRC_URI[sha256sum] = "ba1375fb1024e8e91547504d4392321795c989fde500b96ebc7c93884f786e60"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   #RDEPENDS_${PN} += "python-six \
>   #	"
> diff --git a/meta-openstack/recipes-devtools/python/python-django-compressor_2.1.bb b/meta-openstack/recipes-devtools/python/python-django-compressor_2.1.bb
> index 4bdb706..c546c85 100644
> --- a/meta-openstack/recipes-devtools/python/python-django-compressor_2.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-django-compressor_2.1.bb
> @@ -4,17 +4,12 @@ SECTION = "devel/python"
>   LICENSE = "MIT & BSD-3-Clause & BSD-2-Clause"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=021598d037fd39ab02e53249e1fe4b6f"
>   
> -SRCNAME = "django_compressor"
> -
> -SRC_URI = "https://pypi.io/packages/source/d/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
> -"
> +PYPI_PACKAGE = "django_compressor"
>   
>   SRC_URI[md5sum] = "21ecfe4e8615eae64f7068a5599df9af"
>   SRC_URI[sha256sum] = "ae0051bc0c7a0660c93434e68d617553fccdd573293dfd15aa33f78d2b4954ef"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += " \
>           python-django-appconf  \
> diff --git a/meta-openstack/recipes-devtools/python/python-dogpile.cache_0.6.2.bb b/meta-openstack/recipes-devtools/python/python-dogpile.cache_0.6.2.bb
> index c1827bc..632061b 100644
> --- a/meta-openstack/recipes-devtools/python/python-dogpile.cache_0.6.2.bb
> +++ b/meta-openstack/recipes-devtools/python/python-dogpile.cache_0.6.2.bb
> @@ -4,15 +4,9 @@ SECTION = "devel/python"
>   LICENSE = "BSD"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=1edd9b48649f5bffa03e749a55f5a067"
>   
> -SRCNAME = "dogpile.cache"
> -
> -SRC_URI = "https://pypi.io/packages/source/d/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "ab3771eb2155b9658c9e33fa1b827708"
>   SRC_URI[sha256sum] = "73793471af07af6dc5b3ee015abfaca4220caaa34c615537f5ab007ed150726d"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   
> diff --git a/meta-openstack/recipes-devtools/python/python-dogpile.core_0.4.1.bb b/meta-openstack/recipes-devtools/python/python-dogpile.core_0.4.1.bb
> index 0b33455..9e36074 100644
> --- a/meta-openstack/recipes-devtools/python/python-dogpile.core_0.4.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-dogpile.core_0.4.1.bb
> @@ -4,16 +4,9 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=0401fd56584d7b3d4be91690672ec433"
>   
> -PR = "r0"
> -SRCNAME = "dogpile.core"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/d/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "01cb19f52bba3e95c9b560f39341f045"
>   SRC_URI[sha256sum] = "be652fb11a8eaf66f7e5c94d418d2eaa60a2fe81dae500f3743a863cc9dbed76"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   
> diff --git a/meta-openstack/recipes-devtools/python/python-ecdsa_0.13.bb b/meta-openstack/recipes-devtools/python/python-ecdsa_0.13.bb
> index bb11fb1..8fe492c 100644
> --- a/meta-openstack/recipes-devtools/python/python-ecdsa_0.13.bb
> +++ b/meta-openstack/recipes-devtools/python/python-ecdsa_0.13.bb
> @@ -4,16 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
>   
> -SRCNAME = "ecdsa"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/e/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "1f60eda9cb5c46722856db41a3ae6670"
>   SRC_URI[sha256sum] = "64cf1ee26d1cde3c73c6d7d107f835fed7c6a2904aef9eac223d57ad800c43fa"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DEPENDS += " \
>           python-pip \
> diff --git a/meta-openstack/recipes-devtools/python/python-extras_1.0.0.bb b/meta-openstack/recipes-devtools/python/python-extras_1.0.0.bb
> index cc99cc6..6d75324 100644
> --- a/meta-openstack/recipes-devtools/python/python-extras_1.0.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-extras_1.0.0.bb
> @@ -4,14 +4,7 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=6d108f338b2f68fe48ac366c4650bd8b"
>   
> -PR = "r0"
> -SRCNAME = "extras"
> -
> -SRC_URI = "https://pypi.python.org/packages/be/18/0b7283f0ebf6ad4bb6b9937538495eadf05ef097b102946b9445c4242636/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "3a63ad60cf8f0186c9e3a02f55ec5b14"
>   SRC_URI[sha256sum] = "132e36de10b9c91d5d4cc620160a476e0468a88f16c9431817a6729611a81b4e"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-fixtures_3.0.0.bb b/meta-openstack/recipes-devtools/python/python-fixtures_3.0.0.bb
> index 25647ec..dc03a5b 100644
> --- a/meta-openstack/recipes-devtools/python/python-fixtures_3.0.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-fixtures_3.0.0.bb
> @@ -4,16 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://COPYING;md5=239e2f4698b85aad5ed39bae5d2ef226"
>   
> -SRCNAME = "fixtures"
> -
> -SRC_URI = "https://pypi.io/packages/source/f/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "cd6345b497a62fad739efee66346c2e0"
>   SRC_URI[sha256sum] = "fcf0d60234f1544da717a9738325812de1f42c2fa085e2d9252d8fff5712b2ef"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit distutils
> +inherit distutils pypi
>   
>   DISTUTILS_INSTALL_ARGS = "--root=${D} \
>       --prefix=${prefix} \
> diff --git a/meta-openstack/recipes-devtools/python/python-flake8_2.4.0.bb b/meta-openstack/recipes-devtools/python/python-flake8_2.4.0.bb
> index 7a065b9..e3c2479 100644
> --- a/meta-openstack/recipes-devtools/python/python-flake8_2.4.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-flake8_2.4.0.bb
> @@ -4,16 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=7a76e57e683629e1ac2a49406169c2a3"
>   
> -SRCNAME = "flake8"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/f/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "d413935bb21026c18aca82654114502f"
>   SRC_URI[sha256sum] = "d26a9d0252da9f831b8277b824961bb10b1f9d79f4752d32e4814b7bcd1e089b"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += "python-prettytable \
>               python-cmd2 \
> diff --git a/meta-openstack/recipes-devtools/python/python-funcsigs_1.0.2.bb b/meta-openstack/recipes-devtools/python/python-funcsigs_1.0.2.bb
> index 07f53da..f682452 100644
> --- a/meta-openstack/recipes-devtools/python/python-funcsigs_1.0.2.bb
> +++ b/meta-openstack/recipes-devtools/python/python-funcsigs_1.0.2.bb
> @@ -4,15 +4,9 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=d6bc91dc8e5793892189fe7481a2d354"
>   
> -SRCNAME = "funcsigs"
> -SRC_URI = "https://pypi.io/packages/source/f/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
> -"
> -
>   SRC_URI[md5sum] = "7e583285b1fb8a76305d6d68f4ccc14e"
>   SRC_URI[sha256sum] = "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   CLEANBROKEN = "1"
> diff --git a/meta-openstack/recipes-devtools/python/python-futurist_0.21.0.bb b/meta-openstack/recipes-devtools/python/python-futurist_0.21.0.bb
> index 27f2860..afee162 100644
> --- a/meta-openstack/recipes-devtools/python/python-futurist_0.21.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-futurist_0.21.0.bb
> @@ -4,16 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
>   
> -SRCNAME = "futurist"
> -
> -SRC_URI = "https://pypi.io/packages/source/f/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "da7e87d273f1982c24e9fe8a24f81259"
>   SRC_URI[sha256sum] = "086dd646c067d4ef6dc9c04000828acfbdc00842bd37c64825b596a6976509b4"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DEPENDS += " \
>           python-pip \
> diff --git a/meta-openstack/recipes-devtools/python/python-happybase_1.1.0.bb b/meta-openstack/recipes-devtools/python/python-happybase_1.1.0.bb
> index 03ebd14..7b3c7d8 100644
> --- a/meta-openstack/recipes-devtools/python/python-happybase_1.1.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-happybase_1.1.0.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=41f55ae3d7000e4323e84c468d8b42ee"
>   
> -PR = "r0"
> -SRCNAME = "happybase"
> -
> -SRC_URI = "https://pypi.python.org/packages/8d/a4/9c1202ad4276d4e845594d534397c07082b90aee68c67f378fac38629e6f/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "62a09c784a65161e9f5f01129d115457"
>   SRC_URI[sha256sum] = "e20376e2e32291798d2226502994134c1c4e175136d8375b3c517a234fa22481"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   do_install_append() {
>   	perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "top_level.txt"`
> diff --git a/meta-openstack/recipes-devtools/python/python-hgtools_6.3.bb b/meta-openstack/recipes-devtools/python/python-hgtools_6.3.bb
> index 008d476..1df77b2 100644
> --- a/meta-openstack/recipes-devtools/python/python-hgtools_6.3.bb
> +++ b/meta-openstack/recipes-devtools/python/python-hgtools_6.3.bb
> @@ -4,15 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=a428d7abf1504d4dfeb4cbde155ba484"
>   
> -PR = "r0"
> -SRCNAME = "hgtools"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/h/${SRCNAME}/${SRCNAME}-${PV}.zip"
> +PYPI_PACKAGE_EXT = "zip"
>   
>   SRC_URI[md5sum] = "584d74b81b1efae3604c53086d1a3acb"
>   SRC_URI[sha256sum] = "1d0ef6ceaba1673e6923b17d7f09c5ae2f4394d16ef80562812987a27e7836ff"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
> diff --git a/meta-openstack/recipes-devtools/python/python-hp3parclient_3.2.0.bb b/meta-openstack/recipes-devtools/python/python-hp3parclient_3.2.0.bb
> index 427e76a..2b8a548 100644
> --- a/meta-openstack/recipes-devtools/python/python-hp3parclient_3.2.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-hp3parclient_3.2.0.bb
> @@ -4,17 +4,11 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://PKG-INFO;md5=497435a85c6b1376c82b18488e9bc907"
>   
> -PR = "r0"
> -SRCNAME = "hp3parclient"
> -
> -SRC_URI = "\
> -	https://pypi.python.org/packages/source/h/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
> +SRC_URI += " \
>   	file://fix_hp3parclient_memory_leak.patch \
>   	"
>   
>   SRC_URI[md5sum] = "f4cc346281ae86c21b5f975cc3b4d759"
>   SRC_URI[sha256sum] = "83c0c00a5ba9fd5cecf6f32c6aea9d222e34abcb521548988b70ac8d062ec2f2"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-httplib2_0.10.3.bb b/meta-openstack/recipes-devtools/python/python-httplib2_0.10.3.bb
> index e2b27e7..c5ced3f 100644
> --- a/meta-openstack/recipes-devtools/python/python-httplib2_0.10.3.bb
> +++ b/meta-openstack/recipes-devtools/python/python-httplib2_0.10.3.bb
> @@ -4,16 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://PKG-INFO;md5=41a98bc55b04b2a38acdb5c8ab0ae6b2"
>   
> -SRCNAME = "httplib2"
> -
> -SRC_URI = "https://pypi.python.org/packages/e4/2e/a7e27d2c36076efeb8c0e519758968b20389adf57a9ce3af139891af2696/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "709c305e1b00e9c0af49ee816429569c"
>   SRC_URI[sha256sum] = "e404d3b7bd86c1bc931906098e7c1305d6a3a6dcef141b8bb1059903abb3ceeb"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   do_install_append() {
>   	perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "top_level.txt"`
> diff --git a/meta-openstack/recipes-devtools/python/python-httpretty_0.8.14.bb b/meta-openstack/recipes-devtools/python/python-httpretty_0.8.14.bb
> index 4fd783d..a315fff 100644
> --- a/meta-openstack/recipes-devtools/python/python-httpretty_0.8.14.bb
> +++ b/meta-openstack/recipes-devtools/python/python-httpretty_0.8.14.bb
> @@ -7,18 +7,10 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://COPYING;md5=88d874c445b42d9bcea5d211bbc6b8bd"
>   
> -PR = "r0"
> -SRCNAME = "httpretty"
> -
> -SRC_URI = "https://pypi.python.org/packages/7c/7d/fdc08c3ecc0d49cb95cb67fd03034915e0f8d714b18f4d739c062a10a95c/${SRCNAME}-${PV}.tar.gz \
> -          "
> -
>   SRC_URI[md5sum] = "2a6bbf270fafc77647b0479d95d0544c"
>   SRC_URI[sha256sum] = "83c176bbac9d68a45a5cca54f2d5be7e6b16a063adf6f334e7fd0eee272e976e"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DEPENDS += " \
>           python-pip \
> diff --git a/meta-openstack/recipes-devtools/python/python-jinja2_2.7.3.bb b/meta-openstack/recipes-devtools/python/python-jinja2_2.7.3.bb
> index 246d718..4ffa968 100644
> --- a/meta-openstack/recipes-devtools/python/python-jinja2_2.7.3.bb
> +++ b/meta-openstack/recipes-devtools/python/python-jinja2_2.7.3.bb
> @@ -4,17 +4,12 @@ SECTION = "devel/python"
>   LICENSE = "BSD-3-Clause"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=20c831f91dd3bd486020f672ba2be386"
>   
> -PR = "r0"
> -SRCNAME = "Jinja2"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/J/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> +PYPI_PACKAGE = "Jinja2"
>   
>   SRC_URI[md5sum] = "b9dffd2f3b43d673802fe857c8445b1a"
>   SRC_URI[sha256sum] = "2e24ac5d004db5714976a04ac0e80c6df6e47e98c354cb2c0d82f8879d4f8fdb"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += "python-io \
>                      python-pickle \
> diff --git a/meta-openstack/recipes-devtools/python/python-keyring_5.3.bb b/meta-openstack/recipes-devtools/python/python-keyring_5.3.bb
> index ea2865e..589fdef 100644
> --- a/meta-openstack/recipes-devtools/python/python-keyring_5.3.bb
> +++ b/meta-openstack/recipes-devtools/python/python-keyring_5.3.bb
> @@ -4,16 +4,11 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://CONTRIBUTORS.txt;md5=50793e96bcc5250698eddfef509a2061"
>   
> -PR = "r0"
> -SRCNAME = "keyring"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/k/${SRCNAME}/${SRCNAME}-${PV}.zip"
> +PYPI_PACKAGE_EXT = "zip"
>   
>   SRC_URI[md5sum] = "fd50a2be4a44a78efb09a7c046b6410d"
>   SRC_URI[sha256sum] = "ac2b4dc17e6edfb804b09ade15df79f251522e442976ea0c8ea0051474502cf5"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DEPENDS += " python-hgtools"
> diff --git a/meta-openstack/recipes-devtools/python/python-lesscpy_0.10.2.bb b/meta-openstack/recipes-devtools/python/python-lesscpy_0.10.2.bb
> index 71e0dc0..ca27cb5 100644
> --- a/meta-openstack/recipes-devtools/python/python-lesscpy_0.10.2.bb
> +++ b/meta-openstack/recipes-devtools/python/python-lesscpy_0.10.2.bb
> @@ -4,20 +4,13 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=a01aae31681ac25b4c46f98d627b9b5d"
>   
> -SRCNAME = "lesscpy"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/l/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
> -           "
> -
>   DEPENDS += "python-ply"
>   RDEPENDS_${PN} += "python-ply"
>   
>   SRC_URI[md5sum] = "fedbad1f4eb19c3af37f09560156246d"
>   SRC_URI[sha256sum] = "ccad1ad2a89ced1875c5ca4e16e5478b791d31fb187fe29f1541859318ed9055"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DISTUTILS_INSTALL_ARGS = "--root=${D} \
>       --prefix=${prefix} \
> diff --git a/meta-openstack/recipes-devtools/python/python-lockfile_0.12.2.bb b/meta-openstack/recipes-devtools/python/python-lockfile_0.12.2.bb
> index 98f2f98..6191577 100644
> --- a/meta-openstack/recipes-devtools/python/python-lockfile_0.12.2.bb
> +++ b/meta-openstack/recipes-devtools/python/python-lockfile_0.12.2.bb
> @@ -4,16 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=2340dffbbfea534b58f1349984eeef72"
>   
> -SRCNAME = "lockfile"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/l/lockfile/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "a6a1a82957a23afdf44cfdd039b65ff9"
>   SRC_URI[sha256sum] = "6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit distutils
> +inherit distutils pypi
>   
>   DEPENDS += "\
>       python-pbr \
> diff --git a/meta-openstack/recipes-devtools/python/python-logutils_0.3.5.bb b/meta-openstack/recipes-devtools/python/python-logutils_0.3.5.bb
> index 80c9490..51177b3 100644
> --- a/meta-openstack/recipes-devtools/python/python-logutils_0.3.5.bb
> +++ b/meta-openstack/recipes-devtools/python/python-logutils_0.3.5.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "BSD"
>   LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=44c35f0b8e2a27a2f33a4e4a5c65d014"
>   
> -PR = "r0"
> -SRCNAME = "logutils"
> -
> -SRC_URI = "https://pypi.python.org/packages/49/b2/b57450889bf73da26027f8b995fd5fbfab258ec24ef967e4c1892f7cb121/logutils-0.3.5.tar.gz"
> -
>   SRC_URI[md5sum] = "fcd2f8e9217bfa0b580f253b35a9d954"
>   SRC_URI[sha256sum] = "bc058a25d5c209461f134e1f03cab637d66a7a5ccc12e593db56fbb279899a82"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   # avoid "error: option --single-version-externally-managed not recognized"
>   DISTUTILS_INSTALL_ARGS = "--root=${D} \
> diff --git a/meta-openstack/recipes-devtools/python/python-mako_0.8.1.bb b/meta-openstack/recipes-devtools/python/python-mako_0.8.1.bb
> index 258d869..7fcbb01 100644
> --- a/meta-openstack/recipes-devtools/python/python-mako_0.8.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-mako_0.8.1.bb
> @@ -4,14 +4,9 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=da8dd26ed9751ee0cfdf9df1a16bbb54"
>   
> -PR = "r0"
> -SRCNAME = "Mako"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/M/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> +PYPI_PACKAGE = "Mako"
>   
>   SRC_URI[md5sum] = "96d962464ce6316004af0cc48495d73e"
>   SRC_URI[sha256sum] = "4791be305338b1fbe09054ec42fb606856599cdcdcde6f348858c13b5fa29158"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-markupsafe_0.18.bb b/meta-openstack/recipes-devtools/python/python-markupsafe_0.18.bb
> index fc14a51..4551d46 100644
> --- a/meta-openstack/recipes-devtools/python/python-markupsafe_0.18.bb
> +++ b/meta-openstack/recipes-devtools/python/python-markupsafe_0.18.bb
> @@ -4,17 +4,12 @@ SECTION = "devel/python"
>   LICENSE = "BSD-3-Clause"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=c6d1adcf45d69359f256c1cea3254127"
>   
> -PR = "r0"
> -SRCNAME = "MarkupSafe"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/M/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> +PYPI_PACKAGE = "MarkupSafe"
>   
>   SRC_URI[md5sum] = "f8d252fd05371e51dec2fe9a36890687"
>   SRC_URI[sha256sum] = "b7d5d688bdd345bfa897777d297756688cf02e1b3742c56885e2e5c2b996ff82"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += "python-re"
>   
> diff --git a/meta-openstack/recipes-devtools/python/python-mccabe_0.2.1.bb b/meta-openstack/recipes-devtools/python/python-mccabe_0.2.1.bb
> index 30c47e8..fac44d9 100644
> --- a/meta-openstack/recipes-devtools/python/python-mccabe_0.2.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-mccabe_0.2.1.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://README.rst;md5=aa0383f6aee4f5c20084a97cd13164c4"
>   
> -PR = "r0"
> -SRCNAME = "mccabe"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/m/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "5a3f3fa6a4bad126c88aaaa7dab682f5"
>   SRC_URI[sha256sum] = "5a2a170e47de5593a6abfae1e9542bd2c3924ac62bbe4e6ed96c953c0352243a"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += "python-prettytable \
>               python-cmd2 \
> diff --git a/meta-openstack/recipes-devtools/python/python-mimeparse_0.1.4.bb b/meta-openstack/recipes-devtools/python/python-mimeparse_0.1.4.bb
> index c3e6780..1ab4242 100644
> --- a/meta-openstack/recipes-devtools/python/python-mimeparse_0.1.4.bb
> +++ b/meta-openstack/recipes-devtools/python/python-mimeparse_0.1.4.bb
> @@ -4,16 +4,12 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://README;md5=07e6feb820fbca7eb99538badb3cd8e2"
>   
> -SRCNAME = "python-mimeparse"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz "
> +PYPI_PACKAGE = "python-mimeparse"
>   
>   SRC_URI[md5sum] = "1d2816a16f17dcfe0c613da611fe7e13"
>   SRC_URI[sha256sum] = "3c69a21e37e77f754e6fc09ebda70acd92c90d8a58f29a41cc0248351378ddc3"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit distutils
> +inherit distutils pypi
>   
>   DISTUTILS_INSTALL_ARGS = "--root=${D} \
>       --prefix=${prefix} \
> diff --git a/meta-openstack/recipes-devtools/python/python-mock_1.0.1.bb b/meta-openstack/recipes-devtools/python/python-mock_1.0.1.bb
> index b17b3f0..d3da911 100644
> --- a/meta-openstack/recipes-devtools/python/python-mock_1.0.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-mock_1.0.1.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=80e5ba73891255687dff3bee2b4cbb16"
>   
> -PR = "r0"
> -SRCNAME = "mock"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/m/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "c3971991738caa55ec7c356bbc154ee2"
>   SRC_URI[sha256sum] = "b839dd2d9c117c701430c149956918a423a9863b48b09c90e30a6013e7d2f44f"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += "python-prettytable \
>               python-cmd2 \
> diff --git a/meta-openstack/recipes-devtools/python/python-mox3_0.20.0.bb b/meta-openstack/recipes-devtools/python/python-mox3_0.20.0.bb
> index 893978b..95ed6e1 100644
> --- a/meta-openstack/recipes-devtools/python/python-mox3_0.20.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-mox3_0.20.0.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://COPYING.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
>   
> -PR = "r0"
> -
> -SRCNAME = "mox3"
> -SRC_URI = "https://pypi.python.org/packages/d8/a8/64e78823c52d719181100e9e01dd3485a6e064e79e402089ba4e33cfaed6/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "53be7bf2d109c8bdf477c75b369773b8"
>   SRC_URI[sha256sum] = "7b1549222353f6cc5b705734ef186fe2cc323d30c3987df50eceb77273595606"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DEPENDS += "\
>       python-pbr \
> diff --git a/meta-openstack/recipes-devtools/python/python-mox_0.5.3.bb b/meta-openstack/recipes-devtools/python/python-mox_0.5.3.bb
> index 2c665c6..15c2af6 100644
> --- a/meta-openstack/recipes-devtools/python/python-mox_0.5.3.bb
> +++ b/meta-openstack/recipes-devtools/python/python-mox_0.5.3.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
>   
> -PR = "r0"
> -SRCNAME = "mox"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/m/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "6de7371e7e8bd9e2dad3fef2646f4a43"
>   SRC_URI[sha256sum] = "424ee725ee12652802b4e86571f816059b0d392401ceae70bf6487d65602cba9"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit distutils
> +inherit distutils pypi
>   
>   DISTUTILS_INSTALL_ARGS = "--root=${D} \
>       --prefix=${prefix} \
> diff --git a/meta-openstack/recipes-devtools/python/python-netaddr_0.7.19.bb b/meta-openstack/recipes-devtools/python/python-netaddr_0.7.19.bb
> index d3d83a1..1b50587 100644
> --- a/meta-openstack/recipes-devtools/python/python-netaddr_0.7.19.bb
> +++ b/meta-openstack/recipes-devtools/python/python-netaddr_0.7.19.bb
> @@ -4,13 +4,7 @@ SECTION = "devel/python"
>   LICENSE = "BSD"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=e6345d695ffe3776f68a56fe7962db44"
>   
> -SRCNAME = "netaddr"
> -
> -SRC_URI = "https://pypi.io/packages/source/n/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "51019ef59c93f3979bcb37d3b8527e07"
>   SRC_URI[sha256sum] = "38aeec7cdd035081d3a4c306394b19d677623bf76fa0913f6695127c7753aefd"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-netifaces_0.10.4.bb b/meta-openstack/recipes-devtools/python/python-netifaces_0.10.4.bb
> index 5ed80e3..9e0e1fe 100644
> --- a/meta-openstack/recipes-devtools/python/python-netifaces_0.10.4.bb
> +++ b/meta-openstack/recipes-devtools/python/python-netifaces_0.10.4.bb
> @@ -4,14 +4,7 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
>   
> -PR = "r0"
> -SRCNAME = "netifaces"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/n/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "36da76e2cfadd24cc7510c2c0012eb1e"
>   SRC_URI[sha256sum] = "9656a169cb83da34d732b0eb72b39373d48774aee009a3d1272b7ea2ce109cde"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-oauth2_1.5.211.bb b/meta-openstack/recipes-devtools/python/python-oauth2_1.5.211.bb
> index 8700a48..21a0585 100644
> --- a/meta-openstack/recipes-devtools/python/python-oauth2_1.5.211.bb
> +++ b/meta-openstack/recipes-devtools/python/python-oauth2_1.5.211.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://PKG-INFO;md5=15c871e114b5cb956dacad28f4db57c7"
>   
> -PR = "r0"
> -SRCNAME = "oauth2"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/o/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "987ad7365a70e2286bd1cebb344debbc"
>   SRC_URI[sha256sum] = "82a38f674da1fa496c0fc4df714cbb058540bed72a30c50a2e344b0d984c4d21"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += "python-prettytable \
>               python-cmd2 \
> diff --git a/meta-openstack/recipes-devtools/python/python-pam_0.1.4.bb b/meta-openstack/recipes-devtools/python/python-pam_0.1.4.bb
> index 366046c..c818d5f 100644
> --- a/meta-openstack/recipes-devtools/python/python-pam_0.1.4.bb
> +++ b/meta-openstack/recipes-devtools/python/python-pam_0.1.4.bb
> @@ -4,14 +4,7 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://setup.py;beginline=13;endline=13;md5=8ecc573c355c5eb26b2a4a4f3f62684d"
>   
> -PR = "r0"
> -SRCNAME = "pam"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "4c5247af579352bb6882dac64be10a33"
>   SRC_URI[sha256sum] = "35e88575afc37a2a5f96e20b22fa55d3e3213370d4ce640af1597c2a1dde226b"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-paramiko_2.4.0.bb b/meta-openstack/recipes-devtools/python/python-paramiko_2.4.0.bb
> index 52d0cda..45ad5d0 100644
> --- a/meta-openstack/recipes-devtools/python/python-paramiko_2.4.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-paramiko_2.4.0.bb
> @@ -4,16 +4,9 @@ SECTION = "devel/python"
>   LICENSE = "LGPLv2.1"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=fd0120fc2e9f841c73ac707a30389af5"
>   
> -PR = "r0"
> -SRCNAME = "paramiko"
> -
> -SRC_URI = "https://pypi.python.org/packages/c8/de/791773d6a4b23327c7475ae3d7ada0d07fa147bf77fb6f561a4a7d8afd11/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "ed6d085a5e5369817e49cf1315b32eba"
>   SRC_URI[sha256sum] = "486f637f0a33a4792e0e567be37426c287efaa8c4c4a45e3216f9ce7fd70b1fc"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += "python-pycrypto"
> diff --git a/meta-openstack/recipes-devtools/python/python-passlib_1.6.2.bb b/meta-openstack/recipes-devtools/python/python-passlib_1.6.2.bb
> index 43d6016..78f9b01 100644
> --- a/meta-openstack/recipes-devtools/python/python-passlib_1.6.2.bb
> +++ b/meta-openstack/recipes-devtools/python/python-passlib_1.6.2.bb
> @@ -4,14 +4,7 @@ SECTION = "devel/python"
>   LICENSE = "BSD"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=ec76a9db3f987418e132c0f0210e5ab1"
>   
> -PR = "r0"
> -SRCNAME = "passlib"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "2f872ae7c72ca338634c618f2cff5863"
>   SRC_URI[sha256sum] = "e987f6000d16272f75314c7147eb015727e8532a3b747b1a8fb58e154c68392d"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-paste_2.0.2.bb b/meta-openstack/recipes-devtools/python/python-paste_2.0.2.bb
> index 0833612..d20283c 100644
> --- a/meta-openstack/recipes-devtools/python/python-paste_2.0.2.bb
> +++ b/meta-openstack/recipes-devtools/python/python-paste_2.0.2.bb
> @@ -4,13 +4,9 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://docs/license.txt;md5=1798f29d55080c60365e6283cb49779c"
>   
> -SRCNAME = "Paste"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/P/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> +PYPI_PACKAGE = "Paste"
>   
>   SRC_URI[md5sum] = "4bfc8a7eaf858f6309d2ac0f40fc951c"
>   SRC_URI[sha256sum] = "adac3ac893a2dac6b8ffd49901377dd6819e05be3436b374d698641071daba99"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-pastedeploy_1.5.2.bb b/meta-openstack/recipes-devtools/python/python-pastedeploy_1.5.2.bb
> index 246ade2..c908ccd 100644
> --- a/meta-openstack/recipes-devtools/python/python-pastedeploy_1.5.2.bb
> +++ b/meta-openstack/recipes-devtools/python/python-pastedeploy_1.5.2.bb
> @@ -4,16 +4,11 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://docs/license.txt;md5=1798f29d55080c60365e6283cb49779c"
>   
> -PR = "r0"
> -SRCNAME = "PasteDeploy"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/P/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> +PYPI_PACKAGE = "PasteDeploy"
>   
>   SRC_URI[md5sum] = "352b7205c78c8de4987578d19431af3b"
>   SRC_URI[sha256sum] = "d5858f89a255e6294e63ed46b73613c56e3b9a2d82a42f1df4d06c8421a9e3cb"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += "python-paste"
> diff --git a/meta-openstack/recipes-devtools/python/python-pecan_1.2.1.bb b/meta-openstack/recipes-devtools/python/python-pecan_1.2.1.bb
> index d3df883..656bb02 100644
> --- a/meta-openstack/recipes-devtools/python/python-pecan_1.2.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-pecan_1.2.1.bb
> @@ -4,18 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "BSD"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=d846877d24bbb3d7a00a985c90378e8c"
>   
> -PR = "r0"
> -SRCNAME = "pecan"
> -
> -SRC_URI = "https://pypi.python.org/packages/27/b2/eaa47baa88c848ea748e1583246c55466b3ba087cd413fc9a3cd51a6c5f5/${SRCNAME}-${PV}.tar.gz \
> -"
> -
>   SRC_URI[md5sum] = "d0ad387dbc77d1803ad3573fe38a4e0a"
>   SRC_URI[sha256sum] = "8d95457b9cedcfda9b467f5cc7dde8cdf72ddba6b402d6a5902843d1b2186c46"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} = "python-webob \
>                     python-mako \
> diff --git a/meta-openstack/recipes-devtools/python/python-pep8_1.6.2.bb b/meta-openstack/recipes-devtools/python/python-pep8_1.6.2.bb
> index 723bec3..a0f91a7 100644
> --- a/meta-openstack/recipes-devtools/python/python-pep8_1.6.2.bb
> +++ b/meta-openstack/recipes-devtools/python/python-pep8_1.6.2.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://README.rst;md5=b0d37793ab91ca25ad5c200e9ea22331"
>   
> -PR = "r0"
> -SRCNAME = "pep8"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "a03bb494859e87b42601b61b1b043a0c"
>   SRC_URI[sha256sum] = "603a46e5c358ce20ac4807a0eeafac7505d1125a4c1bd8378757ada06f61bed8"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += "python-prettytable \
>               python-cmd2 \
> diff --git a/meta-openstack/recipes-devtools/python/python-pexpect_3.3.bb b/meta-openstack/recipes-devtools/python/python-pexpect_3.3.bb
> index 8ab8f6d..8b93fdf 100644
> --- a/meta-openstack/recipes-devtools/python/python-pexpect_3.3.bb
> +++ b/meta-openstack/recipes-devtools/python/python-pexpect_3.3.bb
> @@ -2,12 +2,8 @@ SUMMARY = "A Pure Python Expect like Module for Python"
>   SECTION = "devel/python"
>   LICENSE = "PSF"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=c25d9a0770ba69a9965acc894e9f3644"
> -SRCNAME = "pexpect"
>   
> -SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit distutils
> +inherit distutils pypi
>   
>   RDEPENDS_${PN} = "\
>       python-core \
> @@ -17,6 +13,5 @@ RDEPENDS_${PN} = "\
>       python-fcntl \
>   "
>   
> -
>   SRC_URI[md5sum] = "0de72541d3f1374b795472fed841dce8"
>   SRC_URI[sha256sum] = "dfea618d43e83cfff21504f18f98019ba520f330e4142e5185ef7c73527de5ba"
> diff --git a/meta-openstack/recipes-devtools/python/python-pika-pool_0.1.3.bb b/meta-openstack/recipes-devtools/python/python-pika-pool_0.1.3.bb
> index 2cac89e..bfd282b 100644
> --- a/meta-openstack/recipes-devtools/python/python-pika-pool_0.1.3.bb
> +++ b/meta-openstack/recipes-devtools/python/python-pika-pool_0.1.3.bb
> @@ -5,16 +5,10 @@ SECTION = "devel/python"
>   LICENSE = "BSD-3-Clause"
>   LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
>   
> -SRCNAME = "pika-pool"
> -
> -SRC_URI = "https://pypi.io/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
>   SRC_URI[md5sum] = "0a3897e991aa3da948e03660313c1980"
>   SRC_URI[sha256sum] = "f3985888cc2788cdbd293a68a8b5702a9c955db6f7b8b551aeac91e7f32da397"
>   
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += " \
>       python-pika \
> diff --git a/meta-openstack/recipes-devtools/python/python-ply_3.4.bb b/meta-openstack/recipes-devtools/python/python-ply_3.4.bb
> index 7f8acd1..a73e6c3 100644
> --- a/meta-openstack/recipes-devtools/python/python-ply_3.4.bb
> +++ b/meta-openstack/recipes-devtools/python/python-ply_3.4.bb
> @@ -4,14 +4,7 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://README;beginline=3;endline=30;md5=36197c7ddf450a50a52cf6e743196b1d"
>   
> -PR = "r0"
> -SRCNAME = "ply"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "ffdc95858819347bf92d7c2acc074894"
>   SRC_URI[sha256sum] = "af435f11b7bdd69da5ffbc3fecb8d70a7073ec952e101764c88720cdefb2546b"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-positional_1.1.1.bb b/meta-openstack/recipes-devtools/python/python-positional_1.1.1.bb
> index c2dc44c..aee73f6 100644
> --- a/meta-openstack/recipes-devtools/python/python-positional_1.1.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-positional_1.1.1.bb
> @@ -4,16 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=5335066555b14d832335aa4660d6c376"
>   
> -SRCNAME = "positional"
> -SRC_URI = "https://pypi.io/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
> -"
> -
>   SRC_URI[md5sum] = "c82903c32c1aec1ac0f0f6e166ef4e2e"
>   SRC_URI[sha256sum] = "ef845fa46ee5a11564750aaa09dd7db059aaf39c44c901b37181e5ffa67034b0"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   CLEANBROKEN = "1"
>   
> diff --git a/meta-openstack/recipes-devtools/python/python-psycopg2_2.6.2.bb b/meta-openstack/recipes-devtools/python/python-psycopg2_2.6.2.bb
> index 2cdb138..37a4bdd 100644
> --- a/meta-openstack/recipes-devtools/python/python-psycopg2_2.6.2.bb
> +++ b/meta-openstack/recipes-devtools/python/python-psycopg2_2.6.2.bb
> @@ -5,19 +5,14 @@ LICENSE = "GPLv3+"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=2c9872d13fa571e7ba6de95055da1fe2"
>   DEPENDS = "postgresql"
>   
> -PR = "r0"
> -SRCNAME = "psycopg2"
> -
> -SRC_URI = "https://pypi.python.org/packages/7b/a8/dc2d50a6f37c157459cd18bab381c8e6134b9381b50fbe969997b2ae7dbc/${SRCNAME}-${PV}.tar.gz \
> +SRC_URI += " \
>              file://remove-pg-config.patch \
>             "
>   
>   SRC_URI[md5sum] = "4a392949ba31a378a18ed3e775a4693f"
>   SRC_URI[sha256sum] = "70490e12ed9c5c818ecd85d185d363335cc8a8cbf7212e3c185431c79ff8c05c"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit distutils
> +inherit distutils pypi
>   
>   DEPENDS += " \
>       postgresql \
> diff --git a/meta-openstack/recipes-devtools/python/python-pycrypto_2.6.1.bb b/meta-openstack/recipes-devtools/python/python-pycrypto_2.6.1.bb
> index b823224..fc91074 100644
> --- a/meta-openstack/recipes-devtools/python/python-pycrypto_2.6.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-pycrypto_2.6.1.bb
> @@ -4,24 +4,19 @@ SECTION = "devel/python"
>   LICENSE = "PSFv2"
>   LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=35f354d199e8cb7667b059a23578e63d"
>   
> -SRCNAME = "pycrypto"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
> -           file://cross-compiling.patch"
> +SRC_URI += " \
> +    file://cross-compiling.patch \
> +"
>   
>   SRC_URI[md5sum] = "55a61a054aa66812daf5161a0d5d7eda"
>   SRC_URI[sha256sum] = "f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit distutils
> -
>   export STAGING_INCDIR
>   export STAGING_LIBDIR
>   export BUILD_SYS
>   export HOST_SYS
>   
> -inherit autotools autotools-brokensep distutils
> +inherit autotools autotools-brokensep distutils pypi
>   
>   DEPENDS += " gmp"
>   
> diff --git a/meta-openstack/recipes-devtools/python/python-pyflakes_0.7.3.bb b/meta-openstack/recipes-devtools/python/python-pyflakes_0.7.3.bb
> index af7a7f3..81bca36 100644
> --- a/meta-openstack/recipes-devtools/python/python-pyflakes_0.7.3.bb
> +++ b/meta-openstack/recipes-devtools/python/python-pyflakes_0.7.3.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://README.rst;md5=1815018ebbbfc8659a9df33681a0936e"
>   
> -PR = "r0"
> -SRCNAME = "pyflakes"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "ec94ac11cb110e6e72cca23c104b66b1"
>   SRC_URI[sha256sum] = "dbd2c940a1030a4f811afc1a04017a44011c0cb54f8f384b66aa624097d9b5e3"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += "python-prettytable \
>               python-cmd2 \
> diff --git a/meta-openstack/recipes-devtools/python/python-pymongo_3.4.0.bb b/meta-openstack/recipes-devtools/python/python-pymongo_3.4.0.bb
> index 7916613..34dc076 100644
> --- a/meta-openstack/recipes-devtools/python/python-pymongo_3.4.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-pymongo_3.4.0.bb
> @@ -3,14 +3,8 @@ HOMEPAGE = "https://pypi.python.org/pypi/pymongo/"
>   SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=2a944942e1496af1886903d274dedb13"
> -
> -SRCNAME = "pymongo"
> -
> -SRC_URI = "https://pypi.python.org/packages/82/26/f45f95841de5164c48e2e03aff7f0702e22cef2336238d212d8f93e91ea8/${SRCNAME}-${PV}.tar.gz"
>    
>   SRC_URI[md5sum] = "aa77f88e51e281c9f328cea701bb6f3e"
>   SRC_URI[sha256sum] = "d359349c6c9ff9f482805f89e66e476846317dc7b1eea979d7da9c0857ee2721"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-pysnmp_4.2.5.bb b/meta-openstack/recipes-devtools/python/python-pysnmp_4.2.5.bb
> index c02ec6c..dc2f5bf 100644
> --- a/meta-openstack/recipes-devtools/python/python-pysnmp_4.2.5.bb
> +++ b/meta-openstack/recipes-devtools/python/python-pysnmp_4.2.5.bb
> @@ -4,18 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "BSD"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=ae098273b2cf8b4af164ac20e32bddf7"
>   
> -PR = "r0"
> -SRCNAME = "pysnmp"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
> -"
> -
>   SRC_URI[md5sum] = "1f75d3e392a050e84348904fc1be3212"
>   SRC_URI[sha256sum] = "c46e65d99a604f690b3d5800e2f6e26e1ed9a3c7f7e17e7b4b4d897150f7077f"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += "python-pycrypto \
>                      python-pyasn1 \
> diff --git a/meta-openstack/recipes-devtools/python/python-pytz_2013.8.bb b/meta-openstack/recipes-devtools/python/python-pytz_2013.8.bb
> index cee4fc2..485c4ff 100644
> --- a/meta-openstack/recipes-devtools/python/python-pytz_2013.8.bb
> +++ b/meta-openstack/recipes-devtools/python/python-pytz_2013.8.bb
> @@ -4,15 +4,7 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=22b38951eb857cf285a4560a914b7cd6"
>   
> -PR = "r0"
> -SRCNAME = "pytz"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
> -"
> -
>   SRC_URI[md5sum] = "37750ca749ed3a52523b9682b0b7e381"
>   SRC_URI[sha256sum] = "58552e870aa2c0a1fa3b4ef923f00fbf3e55afaa87f8d31244d44f188de4793a"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-pyudev_0.16.1.bb b/meta-openstack/recipes-devtools/python/python-pyudev_0.16.1.bb
> index 384b1d8..39f725d 100644
> --- a/meta-openstack/recipes-devtools/python/python-pyudev_0.16.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-pyudev_0.16.1.bb
> @@ -4,14 +4,7 @@ SECTION = "devel/python"
>   LICENSE = "LGPL-2.1"
>   LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
>   
> -PR = "r0"
> -SRCNAME = "pyudev"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "4034de584b6d9efcbfc590a047c63285"
>   SRC_URI[sha256sum] = "765d1c14bd9bd031f64e2612225621984cb2bbb8cbc0c03538bcc4c735ff1c95"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-rcssmin_1.0.6.bb b/meta-openstack/recipes-devtools/python/python-rcssmin_1.0.6.bb
> index 6d412cc..e1b4a55 100644
> --- a/meta-openstack/recipes-devtools/python/python-rcssmin_1.0.6.bb
> +++ b/meta-openstack/recipes-devtools/python/python-rcssmin_1.0.6.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
>   
> -SRCNAME = "rcssmin"
> -
> -SRC_URI = "https://pypi.io/packages/source/r/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
> -"
> -
>   SRC_URI[md5sum] = "467d56503ce386c0b0e52f69ac143a9a"
>   SRC_URI[sha256sum] = "ca87b695d3d7864157773a61263e5abb96006e9ff0e021eff90cbe0e1ba18270"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += " \
>           "
> diff --git a/meta-openstack/recipes-devtools/python/python-rjsmin_1.0.12.bb b/meta-openstack/recipes-devtools/python/python-rjsmin_1.0.12.bb
> index 145eea0..508390a 100644
> --- a/meta-openstack/recipes-devtools/python/python-rjsmin_1.0.12.bb
> +++ b/meta-openstack/recipes-devtools/python/python-rjsmin_1.0.12.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
>   
> -SRCNAME = "rjsmin"
> -
> -SRC_URI = "https://pypi.io/packages/source/r/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
> -"
> -
>   SRC_URI[md5sum] = "9f67e133c88df5497d3da847603da9bf"
>   SRC_URI[sha256sum] = "dd9591aa73500b08b7db24367f8d32c6470021f39d5ab4e50c7c02e4401386f1"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += " \
>           "
> diff --git a/meta-openstack/recipes-devtools/python/python-setuptools-git_1.1.bb b/meta-openstack/recipes-devtools/python/python-setuptools-git_1.1.bb
> index 61408c3..bfbc1d6 100644
> --- a/meta-openstack/recipes-devtools/python/python-setuptools-git_1.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-setuptools-git_1.1.bb
> @@ -4,16 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "BSD"
>   LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3775480a712fc46a69647678acb234cb"
>   
> -SRCNAME = "setuptools-git"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "7b5967e9527c789c3113b07a1f196f6e"
>   SRC_URI[sha256sum] = "047d7595546635edebef226bc566579d422ccc48a8a91c7d32d8bd174f68f831"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   # conflicting file prevention
>   do_install_append() {
> diff --git a/meta-openstack/recipes-devtools/python/python-simplegeneric_0.8.1.bb b/meta-openstack/recipes-devtools/python/python-simplegeneric_0.8.1.bb
> index b2b8e1c..35c0555 100644
> --- a/meta-openstack/recipes-devtools/python/python-simplegeneric_0.8.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-simplegeneric_0.8.1.bb
> @@ -4,14 +4,9 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://README.txt;md5=2085f2c228ed80422edf70e52e86c34b"
>   
> -PR = "r0"
> -SRCNAME = "simplegeneric"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.zip"
> +PYPI_PACKAGE_EXT = "zip"
>   
>   SRC_URI[md5sum] = "f9c1fab00fd981be588fc32759f474e3"
>   SRC_URI[sha256sum] = "dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-singledispatch_3.4.0.3.bb b/meta-openstack/recipes-devtools/python/python-singledispatch_3.4.0.3.bb
> index 4ae7b56..1c92a99 100644
> --- a/meta-openstack/recipes-devtools/python/python-singledispatch_3.4.0.3.bb
> +++ b/meta-openstack/recipes-devtools/python/python-singledispatch_3.4.0.3.bb
> @@ -4,13 +4,7 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://README.rst;md5=ee3cd67264adc7eb07981f3644dc17dc"
>   
> -SRCNAME = "singledispatch"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "af2fc6a3d6cc5a02d0bf54d909785fcb"
>   SRC_URI[sha256sum] = "5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-subunit_1.1.0.bb b/meta-openstack/recipes-devtools/python/python-subunit_1.1.0.bb
> index b775dff..e7c6828 100644
> --- a/meta-openstack/recipes-devtools/python/python-subunit_1.1.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-subunit_1.1.0.bb
> @@ -4,13 +4,9 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://README;md5=e5b524e1b2c67c88fc64439ee4a850aa"
>   
> -SRCNAME = "python-subunit"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> +PYPI_PACKAGE = "python-subunit"
>   
>   SRC_URI[md5sum] = "d2c09c93346077ced675c9f718e6a0f1"
>   SRC_URI[sha256sum] = "d9a7606e9610828d68c1d2f0f5abbb421e34e518b8f4882c8b2e08176281bf88"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-suds-jurko_0.6.bb b/meta-openstack/recipes-devtools/python/python-suds-jurko_0.6.bb
> index eeab977..a4a436f 100644
> --- a/meta-openstack/recipes-devtools/python/python-suds-jurko_0.6.bb
> +++ b/meta-openstack/recipes-devtools/python/python-suds-jurko_0.6.bb
> @@ -4,16 +4,12 @@ SECTION = "devel/python"
>   LICENSE = "LGPLv3"
>   LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=847e96bce86d8774f491a92924343a29"
>   
> -SRCNAME = "suds-jurko"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.bz2"
> +PYPI_PACKAGE_EXT = "tar.bz2"
>   
>   SRC_URI[md5sum] = "1309e9bc2454aa3434041f0a24ae4e11"
>   SRC_URI[sha256sum] = "29edb72fd21e3044093d86f33c66cf847c5aaab26d64cb90e69e528ef014e57f"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DEPENDS += " \
>           python-pip \
> diff --git a/meta-openstack/recipes-devtools/python/python-tempita_0.5.3dev.bb b/meta-openstack/recipes-devtools/python/python-tempita_0.5.3dev.bb
> index 6059ff0..31d5ddc 100644
> --- a/meta-openstack/recipes-devtools/python/python-tempita_0.5.3dev.bb
> +++ b/meta-openstack/recipes-devtools/python/python-tempita_0.5.3dev.bb
> @@ -4,13 +4,9 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://setup.py;beginline=33;endline=33;md5=2d33c00f47720c7e35e1fdb4b9fab027"
>   
> -SRCNAME = "Tempita"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/T/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> +PYPI_PACKAGE = "Tempita"
>   
>   SRC_URI[md5sum] = "365c3b4f36435e2178902d5619301140"
>   SRC_URI[sha256sum] = "38392bb708a10128419f75fa9120a6d2c8d137013b353968e5008a77a5c7a2ca"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-termcolor_1.1.0.bb b/meta-openstack/recipes-devtools/python/python-termcolor_1.1.0.bb
> index d365d61..20b8e2c 100644
> --- a/meta-openstack/recipes-devtools/python/python-termcolor_1.1.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-termcolor_1.1.0.bb
> @@ -7,18 +7,10 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://COPYING.txt;md5=809e8749b63567978acfbd81d9f6a27d"
>   
> -PR = "r0"
> -SRCNAME = "termcolor"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/t/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
> -          "
> -
>   SRC_URI[md5sum] = "043e89644f8909d462fbbfa511c768df"
>   SRC_URI[sha256sum] = "1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit distutils
> +inherit distutils pypi
>   
>   DEPENDS += " \
>           python-pip \
> diff --git a/meta-openstack/recipes-devtools/python/python-testrepository_0.0.20.bb b/meta-openstack/recipes-devtools/python/python-testrepository_0.0.20.bb
> index edb6fe8..79be868 100644
> --- a/meta-openstack/recipes-devtools/python/python-testrepository_0.0.20.bb
> +++ b/meta-openstack/recipes-devtools/python/python-testrepository_0.0.20.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://COPYING;md5=f19071a777e237c55ec3ab83284b31b8"
>   
> -SRCNAME = "testrepository"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/t/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "f648b0aceeca4fcd5f8a62eeedea289b"
>   SRC_URI[sha256sum] = "752449bc98c20253ec4611c40564aea93d435a5bf3ff672208e01cc10e5858eb"
>   
> -
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += "python-subunit \
>                      python-extras \
> diff --git a/meta-openstack/recipes-devtools/python/python-testresources_0.2.7.bb b/meta-openstack/recipes-devtools/python/python-testresources_0.2.7.bb
> index c90062e..fe8dbb1 100644
> --- a/meta-openstack/recipes-devtools/python/python-testresources_0.2.7.bb
> +++ b/meta-openstack/recipes-devtools/python/python-testresources_0.2.7.bb
> @@ -4,14 +4,7 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://README;md5=038679cd2cf27bb2acc70257bfee0f41"
>   
> -PR = "r0"
> -SRCNAME = "testresources"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/t/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "db2e774be2a6f5754cbbf4c537f823d0"
>   SRC_URI[sha256sum] = "ad0a117383dd463827b199eaa92829b4d6a3147fbd97459820df53bae81d7231"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-testscenarios_0.5.0.bb b/meta-openstack/recipes-devtools/python/python-testscenarios_0.5.0.bb
> index a777b31..18971d6 100644
> --- a/meta-openstack/recipes-devtools/python/python-testscenarios_0.5.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-testscenarios_0.5.0.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "BSD"
>   LIC_FILES_CHKSUM = "file://BSD;md5=0805e4f024d089a52dca0671a65b8b66"
>   
> -PR = "r0"
> -
> -SRCNAME = "testscenarios"
> -SRC_URI = "https://pypi.python.org/packages/source/t/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "859073d9e7b049aee2e6704c51f6001a"
>   SRC_URI[sha256sum] = "c257cb6b90ea7e6f8fef3158121d430543412c9a87df30b5dde6ec8b9b57a2b6"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DEPENDS += "\
>       python-pbr \
> diff --git a/meta-openstack/recipes-devtools/python/python-testtools_2.2.0.bb b/meta-openstack/recipes-devtools/python/python-testtools_2.2.0.bb
> index 7c6baed..af93ea8 100644
> --- a/meta-openstack/recipes-devtools/python/python-testtools_2.2.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-testtools_2.2.0.bb
> @@ -4,17 +4,10 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=e2c9d3e8ba7141c83bfef190e0b9379a"
>   
> -PR = "r0"
> -SRCNAME = "testtools"
> -
> -SRC_URI = "https://pypi.python.org/packages/0d/72/3212c1723d49f5b58fca736dabdd2e74f38435076d943f4a642117f04d65/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "adef817b07ba24fd6d807fd41a4f1ef4"
>   SRC_URI[sha256sum] = "80f606607a6e4ce4d0e24e5b786562aa42c581906f3c070607a4265f3da65810"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   DEPENDS += " \
>       python-pbr \
>       "
> diff --git a/meta-openstack/recipes-devtools/python/python-thrift_0.9.2.bb b/meta-openstack/recipes-devtools/python/python-thrift_0.9.2.bb
> index ec2ea0c..e8fea35 100644
> --- a/meta-openstack/recipes-devtools/python/python-thrift_0.9.2.bb
> +++ b/meta-openstack/recipes-devtools/python/python-thrift_0.9.2.bb
> @@ -4,13 +4,7 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://PKG-INFO;md5=df17a59cc9e1327ec49c2285e13ac477"
>   
> -SRCNAME = "thrift"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/t/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "91f1c224c46a257bb428431943387dfd"
>   SRC_URI[sha256sum] = "08f665e4b033c9d2d0b6174d869273104362c80e77ee4c01054a74141e378afa"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-waitress_1.0.1.bb b/meta-openstack/recipes-devtools/python/python-waitress_1.0.1.bb
> index 42c9b9f..49c637b 100644
> --- a/meta-openstack/recipes-devtools/python/python-waitress_1.0.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-waitress_1.0.1.bb
> @@ -4,13 +4,7 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=78ccb3640dc841e1baecb3e27a6966b2"
>   
> -SRCNAME = "waitress"
> -
> -SRC_URI = "https://pypi.python.org/packages/78/7d/84d11b96c3f60164dec3bef4a859a03aeae0231aa93f57fbe0d05fa4ff36/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "dda92358a7569669086155923a46e57c"
>   SRC_URI[sha256sum] = "2daacaece189ede6a23440afe03bda58089a6207f1d80a1e9497f979dfb741fc"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-warlock_1.3.0.bb b/meta-openstack/recipes-devtools/python/python-warlock_1.3.0.bb
> index 6a884df..a62cbd8 100644
> --- a/meta-openstack/recipes-devtools/python/python-warlock_1.3.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-warlock_1.3.0.bb
> @@ -6,16 +6,10 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
>   
>   DEPENDS += "python-jsonschema python-jsonpatch"
>   
> -SRCNAME = "warlock"
> -
> -SRC_URI = "https://pypi.python.org/packages/2d/40/9f01a5e1574dab946598793351d59c86f58209d182d229aaa545abb98894/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "61cc809a3af2c76288f4dd26a003932d"
>   SRC_URI[sha256sum] = "d7403f728fce67ee2f22f3d7fa09c9de0bc95c3e7bcf6005b9c1962b77976a06"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   RDEPENDS_${PN} += " python-jsonschema python-jsonpatch"
>   
> diff --git a/meta-openstack/recipes-devtools/python/python-webtest_2.0.21.bb b/meta-openstack/recipes-devtools/python/python-webtest_2.0.21.bb
> index 2735306..c0f6c94 100644
> --- a/meta-openstack/recipes-devtools/python/python-webtest_2.0.21.bb
> +++ b/meta-openstack/recipes-devtools/python/python-webtest_2.0.21.bb
> @@ -4,15 +4,11 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://README.rst;md5=7ddcdd3b8e69edc8c5ae7e6bb64f0bc5"
>   
> -SRCNAME = "WebTest"
> +PYPI_PACKAGE = "WebTest"
>   
>   RDEPENDS_${PN} += "python-beautifulsoup4"
>   
> -SRC_URI = "https://pypi.python.org/packages/source/W/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> -
>   SRC_URI[md5sum] = "98e8b59da3cc6c150cebca8c92b66041"
>   SRC_URI[sha256sum] = "3dc92ecd7604e21fc7c97578e4c43aff2a67cebdd4884a2aa804d85e85b34b55"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
> diff --git a/meta-openstack/recipes-devtools/python/python-wsme_0.9.1.bb b/meta-openstack/recipes-devtools/python/python-wsme_0.9.1.bb
> index e74efd9..0016e63 100644
> --- a/meta-openstack/recipes-devtools/python/python-wsme_0.9.1.bb
> +++ b/meta-openstack/recipes-devtools/python/python-wsme_0.9.1.bb
> @@ -4,16 +4,12 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://LICENSE;md5=5a9126e7f56a0cf3247050de7f10d0f4"
>   
> -SRCNAME = "WSME"
> -
> -SRC_URI = "https://pypi.python.org/packages/8d/c5/0d0ba34f228aa1b5512cbfa833aba24755523ed2eca3ece043702ea19911/${SRCNAME}-${PV}.tar.gz"
> +PYPI_PACKAGE = "WSME"
>   
>   SRC_URI[md5sum] = "23b0269af3f4c1db8cfa35054703f0db"
>   SRC_URI[sha256sum] = "afdd3ba14f815837239d6dead652de460bd61a869e39430b459be77d1a928197"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DEPENDS += " \
>           python-pip \
> diff --git a/meta-openstack/recipes-devtools/python/python-xattr_0.6.4.bb b/meta-openstack/recipes-devtools/python/python-xattr_0.6.4.bb
> index d892761..65063e5 100644
> --- a/meta-openstack/recipes-devtools/python/python-xattr_0.6.4.bb
> +++ b/meta-openstack/recipes-devtools/python/python-xattr_0.6.4.bb
> @@ -4,15 +4,7 @@ SECTION = "devel/python"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7ebb582f22ddff5dcb0bc33d04f7cbb8"
>   
> -PR = "r0"
> -SRCNAME = "xattr"
> -
> -SRC_URI = "https://pypi.python.org/packages/source/x/xattr/xattr-0.6.4.tar.gz \
> -		  "
> -
>   SRC_URI[md5sum] = "1bef31afb7038800f8d5cfa2f4562b37"
>   SRC_URI[sha256sum] = "f9dcebc99555634b697fa3dad8ea3047deb389c6f1928d347a0c49277a5c0e9e"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> \ No newline at end of file
> +inherit setuptools pypi
> \ No newline at end of file
> diff --git a/meta-openstack/recipes-devtools/python/python-xstatic-bootstrap-datepicker_1.3.1.0.bb b/meta-openstack/recipes-devtools/python/python-xstatic-bootstrap-datepicker_1.3.1.0.bb
> index ce2268c..ff491a2 100644
> --- a/meta-openstack/recipes-devtools/python/python-xstatic-bootstrap-datepicker_1.3.1.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-xstatic-bootstrap-datepicker_1.3.1.0.bb
> @@ -4,16 +4,12 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://PKG-INFO;md5=97d9c60d3a8c5fccccb317f944688479"
>   
> -SRCNAME = "XStatic-Bootstrap-Datepicker"
> -SRC_URI = "https://pypi.python.org/packages/source/X/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> +PYPI_PACKAGE = "XStatic-Bootstrap-Datepicker"
>   
>   SRC_URI[md5sum] = "c2f5c58a7b41162923eca5a36b29b8b2"
>   SRC_URI[sha256sum] = "9edc9b77501001fcee9fbf4bf0a722c263efd928ef928b40081a8269fdd9a944"
>   
> -
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DEPENDS += " \
>           python-pip \
> diff --git a/meta-openstack/recipes-devtools/python/python-xstatic-mdi_1.4.57.0.bb b/meta-openstack/recipes-devtools/python/python-xstatic-mdi_1.4.57.0.bb
> index ceb4c9d..296e394 100644
> --- a/meta-openstack/recipes-devtools/python/python-xstatic-mdi_1.4.57.0.bb
> +++ b/meta-openstack/recipes-devtools/python/python-xstatic-mdi_1.4.57.0.bb
> @@ -4,15 +4,12 @@ SECTION = "devel/python"
>   LICENSE = "Apache-2.0"
>   LIC_FILES_CHKSUM = "file://PKG-INFO;md5=898ae9ca7b59edc4521f10be07c6b622"
>   
> -SRCNAME = "XStatic-mdi"
> -SRC_URI = "https://pypi.io/packages/source/X/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
> +PYPI_PACKAGE = "XStatic-mdi"
>   
>   SRC_URI[md5sum] = "f3d3d58603178e5898ee1ea4737826ee"
>   SRC_URI[sha256sum] = "19b4d522f8fa62fee2893b39147fcf45ebaba8b95d63f3708ebdf34e130a8a53"
>   
> -S = "${WORKDIR}/${SRCNAME}-${PV}"
> -
> -inherit setuptools
> +inherit setuptools pypi
>   
>   DEPENDS += " \
>           python-pip \
> 



More information about the meta-virtualization mailing list