]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-detect-init: do not require argparse on py2.7 5130/head
authorKefu Chai <kchai@redhat.com>
Thu, 2 Jul 2015 16:44:10 +0000 (00:44 +0800)
committerKefu Chai <kchai@redhat.com>
Fri, 3 Jul 2015 03:41:40 +0000 (11:41 +0800)
argparse is included in python2.7 and up, and pkg_resources is not
able to find it by .egg-info. so we should not list it as "requires"
if python's version is greater or equal to 2.7.

Fixes: #12167
Signed-off-by: Kefu Chai <kchai@redhat.com>
src/ceph-detect-init/setup.py

index 8554d096d3783999fd0251814f4f77baf901110b..dea9637d60ad3a2570351c42e0b45036ff1654d5 100644 (file)
@@ -19,6 +19,7 @@
 # along with this program.  If not, see `<http://www.gnu.org/licenses/>`.
 #
 import os
+import sys
 from setuptools import setup
 from setuptools import find_packages
 
@@ -27,6 +28,15 @@ def read(fname):
     f = open(path)
     return f.read()
 
+
+def filter_included_modules(*m):
+    modules = sum(m, [])
+    if sys.version_info[0] == 2 and sys.version_info[1] <= 6:
+        return modules
+    included_modules = set(['argparse', 'importlib', 'sysconfig'])
+    return list(set(modules) - included_modules)
+
+
 install_requires = read('requirements.txt').split()
 tests_require = read('test-requirements.txt').split()
 
@@ -43,11 +53,9 @@ setup(
     keywords='ceph',
     url="https://git.ceph.com/?p=ceph.git;a=summary",
 
-    install_requires=[
-        'setuptools',
-        ] + install_requires,
-
-    tests_require=tests_require,
+    install_requires=filter_included_modules(['setuptools'],
+                                             install_requires),
+    tests_require=filter_included_modules(tests_require),
 
     classifiers=[
         'Environment :: Console',