15209: Makes python components packages ask for current PySDK version.
[arvados.git] / services / fuse / setup.py
index 0e0ed4b0924c364e1e9f3957ae6521783156013a..d95fc1d8114912b0b787ebd7bb4e7bc87aecffb0 100644 (file)
@@ -1,19 +1,25 @@
 #!/usr/bin/env python
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
 
+from __future__ import absolute_import
 import os
 import sys
-import setuptools.command.egg_info as egg_info_cmd
+import re
 
 from setuptools import setup, find_packages
 
 SETUP_DIR = os.path.dirname(__file__) or '.'
 README = os.path.join(SETUP_DIR, 'README.rst')
 
-try:
-    import gittaggers
-    tagger = gittaggers.EggInfoFromGit
-except ImportError:
-    tagger = egg_info_cmd.egg_info
+import arvados_version
+version = arvados_version.get_version(SETUP_DIR, "arvados_fuse")
+if os.environ.get('ARVADOS_BUILDING_VERSION', False):
+    pysdk_dep = "=={}".format(version)
+else:
+    # On dev releases, arvados-python-client may have a different timestamp
+    pysdk_dep = "<={}".format(version)
 
 short_tests_only = False
 if '--short-tests-only' in sys.argv:
@@ -21,7 +27,7 @@ if '--short-tests-only' in sys.argv:
     sys.argv.remove('--short-tests-only')
 
 setup(name='arvados_fuse',
-      version='0.1',
+      version=version,
       description='Arvados FUSE driver',
       long_description=open(README).read(),
       author='Arvados',
@@ -37,14 +43,18 @@ setup(name='arvados_fuse',
           ('share/doc/arvados_fuse', ['agpl-3.0.txt', 'README.rst']),
       ],
       install_requires=[
-        'arvados-python-client >= 0.1.20151118035730',
-        'llfuse >= 1.0',
+        'arvados-python-client=={}'.format(pysdk_dep),
+        # llfuse 1.3.4 fails to install via pip
+        'llfuse >=1.2, <1.3.4',
         'python-daemon',
-        'ciso8601',
-        'setuptools'
+        'ciso8601 >= 2.0.0',
+        'setuptools',
+        "prometheus_client"
         ],
+      extras_require={
+          ':python_version<"3"': ['pytz'],
+      },
       test_suite='tests',
       tests_require=['pbr<1.7.0', 'mock>=1.0', 'PyYAML'],
-      zip_safe=False,
-      cmdclass={'egg_info': tagger},
+      zip_safe=False
       )