+import os
-import os.path, sys
+miscdeps=os.path.join('misc', 'dependencies')
+dependency_links=[os.path.join(miscdeps, t) for t in os.listdir(miscdeps) if t.endswith(".tar")]
-# This form is used when the unpacked source distribution is copied into our
-# tree:
-# "file:misc/dependencies/zfec-1.0.2/"
-# and this form is used when we provide a tarball
-# "file:misc/dependencies/zfec-1.0.2.tar.gz",
-# The file: URL can start with either 'misc' or './misc' to get a relative path.
+# By adding a web page to the dependency_links we are able to put new packages
+# up there and have them be automatically discovered by existing copies of the
+# tahoe source when that source was built.
+dependency_links.append("http://allmydata.org/trac/tahoe/wiki/Dependencies")
-dependency_tarballs=[ os.path.join("misc", "dependencies", fn)
- for fn in os.listdir(os.path.join("misc", "dependencies"))
- if fn.endswith(".tar.gz") ]
-
-dependency_links=["http://allmydata.org/trac/tahoe/wiki/Dependencies"] + dependency_tarballs
+install_requires=["zfec >= 1.0.3",
+ "foolscap >= 0.2.2",
+ "simplejson >= 1.4",
+ "pycryptopp >= 0.2.8",
+ ]
nevow_version = None
try:
except ImportError:
pass
-install_requires=["zfec >= 1.0.3",
- "foolscap >= 0.2.2",
- "simplejson >= 1.4",
- "pycryptopp >= 0.2.8",
- ]
-
-
# We also require zope.interface, but some older versions of setuptools such
# as setuptools v0.6a9 don't handle the "." in its name correctly, and anyway
# people have to manually install Twisted before using our automatic
# N.B.: this expects to run from the top of the source tree
-import sys
+import sys, os
+
+miscdeps=os.path.join('misc', 'dependencies')
+
from ez_setup import use_setuptools
-if 'cygwin' in sys.platform.lower():
- min_version='0.6c6'
+try:
+ from ez_setup import use_setuptools
+except ImportError:
+ pass
else:
- # foolscap uses a module-level os.urandom() during import, which
- # breaks inside older setuptools' sandboxing. 0.6c4 is the first
- # version which fixed this problem.
- min_version='0.6c4'
-use_setuptools(min_version=min_version,
- download_base="file:misc/dependencies/",
- download_delay=0)
+ if 'cygwin' in sys.platform.lower():
+ min_version='0.6c6'
+ else:
+ # foolscap uses a module-level os.urandom() during import, which
+ # breaks inside older setuptools' sandboxing. 0.6c4 is the first
+ # version which fixed this problem.
+ min_version='0.6c4'
+ download_base = "file:"+os.path.join('misc', 'dependencies')+os.path.sep
+ use_setuptools(min_version=min_version,
+ download_base=download_base,
+ download_delay=0, to_dir=miscdeps)
from setuptools import setup
version="1",
install_requires=install_requires,
dependency_links=dependency_links,
+ zip_safe=False
)
# http://allmydata.com/.
import sys, re, os
+
+miscdeps=os.path.join('misc', 'dependencies')
+
try:
from ez_setup import use_setuptools
except ImportError:
download_base = "file:"+os.path.join('misc', 'dependencies')+os.path.sep
use_setuptools(min_version=min_version,
download_base=download_base,
- download_delay=0)
+ download_delay=0, to_dir=miscdeps)
from setuptools import Extension, find_packages, setup
participating nodes, using an algorithm that can recover the data even if a
majority of the nodes are no longer available."""
-
setup(name='allmydata-tahoe',
version=verstr,
description='secure, distributed storage grid',
test_suite="allmydata.test",
install_requires=install_requires,
include_package_data=True,
- setup_requires=["setuptools_darcs >= 1.0.5",],
+ setup_requires=['setuptools_darcs >= 1.0.5', 'pyutil >= 1.3.8'], # pyutil is for darcsver
dependency_links=dependency_links,
entry_points = { 'console_scripts': [ 'tahoe = allmydata.scripts.runner:run' ] },
zip_safe=False, # We prefer unzipped for easier access.
- extras_require={'autoversioning':'pyutil >= 1.3.8'},
)