zfec: autogenerate version numbers from darcs history
authorZooko O'Whielacronx zooko@zooko.com <zooko@zooko.com>
Mon, 4 Jun 2007 11:46:52 +0000 (17:16 +0530)
committerZooko O'Whielacronx zooko@zooko.com <zooko@zooko.com>
Mon, 4 Jun 2007 11:46:52 +0000 (17:16 +0530)
darcs-hash:ad97ae58fdd48086d85300ee61d15c81ff2ededf

zfec/setup.py
zfec/zfec/__init__.py
zfec/zfec/cmdline_zfec.py
zfec/zfec/test/test_util.py

index a8c08d8390c9264fbc46d1c52bc2ab6186369438..7c39d090a00335b06f239bb149a5f0fbc277a1f4 100755 (executable)
@@ -71,8 +71,25 @@ trove_classifiers=[
     "Topic :: System :: Archiving", 
     ]
 
+import re
+VERSIONFILE = "zfec/_version.py"
+verstr = "unknown"
+VSRE = re.compile("^verstr = ['\"]([^'\"]*)['\"]", re.M)
+try:
+    verstrline = open(VERSIONFILE, "rt").read()
+except EnvironmentError:
+    pass # Okay, there is no version file.
+else:
+    mo = VSRE.search(verstrline)
+    if mo:
+        verstr = mo.group(1)
+    else:
+        print "unable to find version in %s" % (VERSIONFILE,)
+        raise RuntimeError("if %s.py exists, it must be well-formed" % (VERSIONFILE,))
+
 setup(name='zfec',
-      version='1.0.0',
+      install_requires=['pyutil>=1.0.0',],
+      version=verstr,
       description='a fast erasure code with command-line, C, and Python interfaces',
       long_description='Fast, portable, programmable erasure coding a.k.a. "forward error correction": the generation of redundant blocks of information such that if some blocks are lost then the original data can be recovered from the remaining blocks.',
       author='Zooko O\'Whielacronx',
index 279c2269e7db83050516f0a046f67fb4365c292d..a445dcc4076c83d4b23e051c2680086f5335995c 100644 (file)
@@ -6,15 +6,13 @@ maintainer web site: U{http://allmydata.com/source/zfec}
 zfec web site: U{http://allmydata.com/source/zfec}
 """
 
-from util.version import Version
-
-# For an explanation of what the parts of the version string mean,
-# please see pyutil.version.
-__version__ = Version("1.0.0b3-0-STABLE")
-
-# Please put a URL or other note here which shows where to get the branch of
-# development from which this version grew.
-__sources__ = ["http://allmydata.org/source/zfec",]
+__version__ = "unknown"
+try:
+    from _version import __version__
+except ImportError:
+    # we're running in a tree that hasn't run make-version.py, so we don't
+    # know what our version is. This should not happen very often.
+    pass
 
 from _fec import Encoder, Decoder, Error
 import filefec, cmdline_zfec, cmdline_zunfec
index b0fa1a3d488ae63b615f4742d03e6d30c56a2f48..24d98def83a7cb1253357459cefb0cca218ec6d9 100755 (executable)
@@ -61,7 +61,7 @@ def main():
 # Author: Zooko Wilcox-O'Hearn
 # 
 # This file is part of zfec.
-# 
+
 # This program is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by the Free
 # Software Foundation; either version 2 of the License, or (at your option)
index 18ad3c7df81941e712c010609ffc979156ba2dce..a8b183cb003f4354418ab1f93637cea9dd500e70 100644 (file)
@@ -1,5 +1,5 @@
 
-from twisted.trial import unittest
+import unittest
 
 from zfec.util import mathutil