Merge branch '7159-clean-index' refs #7159 refs #7168
[arvados.git] / services / nodemanager / setup.py
index fabb883d4275d053cdf06c95e888d917d875732b..e74fb8eedfd1f23b7e7d40185f6496d3d498e533 100644 (file)
@@ -1,41 +1,41 @@
 #!/usr/bin/env python
 
 import os
-import subprocess
-import time
+import sys
+import setuptools.command.egg_info as egg_info_cmd
 
 from setuptools import setup, find_packages
 
 SETUP_DIR = os.path.dirname(__file__) or "."
-cmd_opts = {'egg_info': {}}
+README = os.path.join(SETUP_DIR, 'README.rst')
+
 try:
-    git_tags = subprocess.check_output(
-        ['git', 'log', '--first-parent', '--max-count=1',
-         '--format=format:%ct %h', SETUP_DIR]).split()
-    assert len(git_tags) == 2
-except (AssertionError, OSError, subprocess.CalledProcessError):
-    pass
-else:
-    git_tags[0] = time.strftime('%Y%m%d%H%M%S', time.gmtime(int(git_tags[0])))
-    cmd_opts['egg_info']['tag_build'] = '.{}.{}'.format(*git_tags)
+    import gittaggers
+    tagger = gittaggers.EggInfoFromGit
+except ImportError:
+    tagger = egg_info_cmd.egg_info
 
 setup(name='arvados-node-manager',
       version='0.1',
       description='Arvados compute node manager',
+      long_description=open(README).read(),
       author='Arvados',
       author_email='info@arvados.org',
       url="https://arvados.org",
       license='GNU Affero General Public License, version 3.0',
       packages=find_packages(),
       install_requires=[
-        'apache-libcloud',
-        'arvados-python-client',
+        'apache-libcloud>=0.16',
+        'arvados-python-client>=0.1.20150206225333',
         'pykka',
         'python-daemon',
         ],
+      dependency_links = [
+          "https://github.com/curoverse/libcloud/archive/apache-libcloud-0.18.1.dev4.zip"
+      ],
       scripts=['bin/arvados-node-manager'],
       test_suite='tests',
-      tests_require=['mock>=1.0'],
+      tests_require=['pbr<1.7.0', 'mock>=1.0', "apache-libcloud==0.18.1.dev4"],
       zip_safe=False,
-      options=cmd_opts,
+      cmdclass={'egg_info': tagger},
       )