From 2d260e08c1e1b4f115b226fdcaf02eb9e7dce77f Mon Sep 17 00:00:00 2001 From: Josep Puigdemont Date: Wed, 9 Dec 2015 13:40:19 +0100 Subject: Use a bbclass to remove argparse from requirements argparse is required by some of the CLI applications of openstack. The module is provided by python 2.7, however python-distribute (used in fido), is not able to find it: Python 2.7.9 (default, Oct 27 2015, 18:12:55) [GCC 4.9.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import pkg_resources >>> pkg_resources.get_distribution('argparse') Traceback (most recent call last): File "", line 1, in File "/usr/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 338, in get_distribution if isinstance(dist,Requirement): dist = get_provider(dist) File "/usr/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 217, in get_provider return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0] File "/usr/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 698, in require needed = self.resolve(parse_requirements(requirements)) File "/usr/lib/python2.7/site-packages/distribute-0.6.49-py2.7.egg/pkg_resources.py", line 596, in resolve raise DistributionNotFound(req) pkg_resources.DistributionNotFound: argparse >>> import argparse >>> This patch adds a class that when inherited will remove argparse from requirements.txt. Also with this patch, those python modules used by openstackclient inherit the class. Signed-off-by: Josep Puigdemont Signed-off-by: Bruce Ashfield --- meta-openstack/classes/rmargparse.bbclass | 3 +++ meta-openstack/recipes-devtools/python/python-cinderclient_git.bb | 2 +- meta-openstack/recipes-devtools/python/python-glanceclient_git.bb | 2 +- meta-openstack/recipes-devtools/python/python-keystoneclient_git.bb | 2 +- meta-openstack/recipes-devtools/python/python-neutronclient_git.bb | 2 +- meta-openstack/recipes-devtools/python/python-novaclient_git.bb | 2 +- 6 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 meta-openstack/classes/rmargparse.bbclass diff --git a/meta-openstack/classes/rmargparse.bbclass b/meta-openstack/classes/rmargparse.bbclass new file mode 100644 index 0000000..65d8459 --- /dev/null +++ b/meta-openstack/classes/rmargparse.bbclass @@ -0,0 +1,3 @@ +do_install_append() { + sed -i '/argparse/d' ${D}${libdir}/python2.7/site-packages/*/requires.txt +} diff --git a/meta-openstack/recipes-devtools/python/python-cinderclient_git.bb b/meta-openstack/recipes-devtools/python/python-cinderclient_git.bb index 31875fa..7e8e780 100644 --- a/meta-openstack/recipes-devtools/python/python-cinderclient_git.bb +++ b/meta-openstack/recipes-devtools/python/python-cinderclient_git.bb @@ -18,7 +18,7 @@ PV="1.1.1+git${SRCPV}" SRCREV="9e94d814c6ae07c3d5e8242754aebcce150265cc" S = "${WORKDIR}/git" -inherit setuptools monitor +inherit setuptools monitor rmargparse DEPENDS += " \ python-pip \ diff --git a/meta-openstack/recipes-devtools/python/python-glanceclient_git.bb b/meta-openstack/recipes-devtools/python/python-glanceclient_git.bb index d5da78f..ab32be8 100644 --- a/meta-openstack/recipes-devtools/python/python-glanceclient_git.bb +++ b/meta-openstack/recipes-devtools/python/python-glanceclient_git.bb @@ -21,7 +21,7 @@ SRC_URI = "\ S = "${WORKDIR}/git" -inherit setuptools monitor +inherit setuptools monitor rmargparse FILES_${PN} += "${datadir}/${SRCNAME}" diff --git a/meta-openstack/recipes-devtools/python/python-keystoneclient_git.bb b/meta-openstack/recipes-devtools/python/python-keystoneclient_git.bb index 59c65e9..f4810e5 100644 --- a/meta-openstack/recipes-devtools/python/python-keystoneclient_git.bb +++ b/meta-openstack/recipes-devtools/python/python-keystoneclient_git.bb @@ -17,7 +17,7 @@ PV = "1.6.0+git${SRCPV}" SRCREV = "f6ab133f25f00e041cd84aa8bbfb422594d1942f" S = "${WORKDIR}/git" -inherit setuptools monitor +inherit setuptools monitor rmargparse FILES_${PN}-doc += "${datadir}/keystoneclient" diff --git a/meta-openstack/recipes-devtools/python/python-neutronclient_git.bb b/meta-openstack/recipes-devtools/python/python-neutronclient_git.bb index e35be5d..16a2e92 100644 --- a/meta-openstack/recipes-devtools/python/python-neutronclient_git.bb +++ b/meta-openstack/recipes-devtools/python/python-neutronclient_git.bb @@ -29,7 +29,7 @@ PV = "2.4.0+git${SRCPV}" SRCREV = "aa1215a5ad063b299d32ef319eb63d5210249a9b" S = "${WORKDIR}/git" -inherit setuptools monitor +inherit setuptools monitor rmargparse PACKAGECONFIG ?= "bash-completion" PACKAGECONFIG[bash-completion] = ",,bash-completion,bash-completion ${BPN}-bash-completion" diff --git a/meta-openstack/recipes-devtools/python/python-novaclient_git.bb b/meta-openstack/recipes-devtools/python/python-novaclient_git.bb index 1454a7c..d8d7168 100644 --- a/meta-openstack/recipes-devtools/python/python-novaclient_git.bb +++ b/meta-openstack/recipes-devtools/python/python-novaclient_git.bb @@ -15,7 +15,7 @@ PV = "2.23.0+git${SRCPV}" SRCREV = "e0f5072907a00d48a183dd8fc91a6cf6038ca279" S = "${WORKDIR}/git" -inherit setuptools monitor +inherit setuptools monitor rmargparse DEPENDS = "python-setuptools-git" DEPENDS += " \ -- cgit v1.2.3-54-g00ecf