Relax version limit of python-daemon dependencies.
[arvados.git] / services / fuse / setup.py
index be9e4e64a547f5b169f8a5710800e561ba324f9f..7c845311be39ed9528e702432b82f322088f8412 100644 (file)
@@ -5,21 +5,27 @@ import subprocess
 import time
 
 from setuptools import setup, find_packages
+from setuptools.command.egg_info import egg_info
 
 SETUP_DIR = os.path.dirname(__file__)
 README = os.path.join(SETUP_DIR, 'README.rst')
 
-cmd_opts = {'egg_info': {}}
-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)
+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)
 
 
 setup(name='arvados_fuse',
@@ -36,12 +42,12 @@ setup(name='arvados_fuse',
         'bin/arv-mount'
         ],
       install_requires=[
-        'arvados-python-client>=0.1.1411069908.8ba7f94',  # 2014-09-18
+        'arvados-python-client>=0.1.20141203150737.277b3c7',
         'llfuse',
-        'python-daemon'
+        'python-daemon',
         ],
       test_suite='tests',
       tests_require=['PyYAML'],
       zip_safe=False,
-      options=cmd_opts,
+      cmdclass={'egg_info': TagBuildWithCommit},
       )