Merge branch '8784-dir-listings'
[arvados.git] / services / nodemanager / setup.py
index 6387f5fd10ba89db0699aaa908d3c6e726ba7e13..59d95e3d22f1231030359141298d79f2a547ad8b 100644 (file)
@@ -1,50 +1,54 @@
 #!/usr/bin/env python
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
 
 import os
-import subprocess
-import time
+import sys
+import setuptools.command.egg_info as egg_info_cmd
 
 from setuptools import setup, find_packages
-from setuptools.command.egg_info import egg_info
 
 SETUP_DIR = os.path.dirname(__file__) or "."
+README = os.path.join(SETUP_DIR, 'README.rst')
 
-class TagBuildWithCommit(egg_info):
-    """Tag the build with the sha1 and date of the last git commit.
-
-    If a build tag has already been set (e.g., "egg_info -b", building
-    from source package), leave it alone.
-    """
-    def tags(self):
-        if self.tag_build is None:
-            git_tags = subprocess.check_output(
-                ['git', 'log', '--first-parent', '--max-count=1',
-                 '--format=format:%ct %h', SETUP_DIR]).split()
-            assert len(git_tags) == 2
-            git_tags[0] = time.strftime(
-                '%Y%m%d%H%M%S', time.gmtime(int(git_tags[0])))
-            self.tag_build = '.{}+{}'.format(*git_tags)
-        return egg_info.tags(self)
-
+try:
+    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(os.path.join(SETUP_DIR, 'README.rst')).read(),
+      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>=0.1.20150206225333.64c7093',
-        'pykka',
-        'python-daemon',
-        ],
       scripts=['bin/arvados-node-manager'],
+      data_files=[
+          ('share/doc/arvados-node-manager', ['agpl-3.0.txt', 'README.rst']),
+      ],
+      install_requires=[
+          'apache-libcloud>=0.20',
+          'arvados-python-client>=0.1.20150206225333',
+          'future',
+          'pykka',
+          'python-daemon',
+          'setuptools'
+      ],
+      dependency_links=[
+          "https://github.com/curoverse/libcloud/archive/apache-libcloud-0.20.2.dev3.zip"
+      ],
       test_suite='tests',
-      tests_require=['mock>=1.0'],
+      tests_require=[
+          'requests',
+          'pbr<1.7.0',
+          'mock>=1.0',
+          'apache-libcloud==0.20.2.dev3',
+      ],
       zip_safe=False,
-      cmdclass={'egg_info': TagBuildWithCommit},
+      cmdclass={'egg_info': tagger},
       )