#249: get dependent libs from tahoe-deps and ../tahoe-deps
authorBrian Warner <warner@lothar.com>
Wed, 17 Sep 2008 01:36:27 +0000 (18:36 -0700)
committerBrian Warner <warner@lothar.com>
Wed, 17 Sep 2008 01:36:27 +0000 (18:36 -0700)
setup.cfg
setup.py

index 5fe338366e83275eb35a506e508444adc6c42b01..4c7ef133e74e12c7560841adaeb8282de3e2d1d8 100644 (file)
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,2 +1,20 @@
 [easy_install]
 zip_ok=False
+
+# Tahoe depends upon several libraries (foolscap, twisted, pycryptopp, and
+# others). Left to its own devices, setuptools will look on PyPI for these
+# and will download them at build time. The 'find_links=' entry in setup.cfg
+# causes setuptools to look for these dependent tarballs in tahoe-deps/ and
+# ../tahoe-deps/ before it resorts to downloading them from PyPI.
+
+# http://allmydata.org/source/tahoe/tarballs/tahoe-deps.tar.gz contains a
+# bundle of these dependencies. So it you want to avoid the build-time
+# download (say, if you're on an airplane, or a desert island), just grab a
+# copy and unpack it in your tahoe darcs tree.
+
+# Alternatively, if you're building from a release/nightly tarball instead of
+# a darcs tree, the 'sumo' tarball variant will include all of these
+# dependencies in the tahoe-deps/ directory.
+
+find_links=misc/dependencies tahoe-deps ../tahoe-deps
+           http://allmydata.org/trac/tahoe/wiki/Dependencies
index 181e4eda1667cb9ea58d284b7113498f24dc08d0..7352d0c5d578173ba061f8b5a3c41545c435b33c 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -189,19 +189,12 @@ This filesystem is encrypted and spread over multiple peers in such a way that
 it remains available even when some of the peers are unavailable,
 malfunctioning, or malicious."""
 
-# For Desert Island builds, assume that the user has extracted the dependency
-# tarball into a directory named 'misc/dependencies'.
-dependency_links=[os.path.join(os.getcwd(), 'misc', 'dependencies')]
-
-# 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")
 
 # Default setup_requires are pyutil for the Windows installer builder(see
 # misc/sub-ver.py) and Twisted for the tests.
 #setup_requires = ['pyutil >= 1.3.16', 'Twisted >= 2.4.0']
 setup_requires = []
+
 # darcsver is needed only if you want "./setup.py darcsver" to write a new
 # version stamp in src/allmydata/_version.py, with a version number derived from
 # darcs history.
@@ -406,8 +399,9 @@ class MySdist(sdist.sdist):
             if data not in dist_files:
                 dist_files.append(data)
 
-# get a list of the libraries that we depend upon, for use in the call to
-# setup() at the end of this file
+# Tahoe's dependencies are managed by the find_links= entry in setup.cfg and
+# the _auto_deps.install_requires list, which is used in the call to setup()
+# at the end of this file
 from _auto_deps import install_requires
 
 setup(name='allmydata-tahoe',
@@ -433,7 +427,6 @@ setup(name='allmydata-tahoe',
       install_requires=install_requires,
       include_package_data=True,
       setup_requires=setup_requires,
-      dependency_links=dependency_links,
       entry_points = { 'console_scripts': [ 'tahoe = allmydata.scripts.runner:run' ] },
       zip_safe=False, # We prefer unzipped for easier access.
       )