2008-01-23 00:35:38 +00:00
|
|
|
install_requires=["zfec >= 1.1.0",
|
2008-09-20 18:38:53 +00:00
|
|
|
"foolscap[secure_connections] >= 0.3.1",
|
2008-01-23 20:03:09 +00:00
|
|
|
"simplejson >= 1.4",
|
2008-05-06 18:17:47 +00:00
|
|
|
|
|
|
|
# pycryptopp < 0.5 had a bug which, using a Microsoft
|
|
|
|
# compiler, or using some versions of g++ while linking
|
|
|
|
# against certain older versions of Crypto++, would cause
|
|
|
|
# incorrect AES results.
|
|
|
|
"pycryptopp >= 0.5",
|
2008-06-10 23:15:37 +00:00
|
|
|
"Nevow >= 0.6.0",
|
2008-01-23 18:26:04 +00:00
|
|
|
"zope.interface",
|
2008-06-05 20:55:05 +00:00
|
|
|
"Twisted >= 2.4.0",
|
2008-05-06 19:30:56 +00:00
|
|
|
|
2008-04-10 23:31:59 +00:00
|
|
|
# we require 0.6c8 to build, but can handle older versions
|
|
|
|
# to run
|
|
|
|
"setuptools >= 0.6a9",
|
2008-01-23 00:24:33 +00:00
|
|
|
]
|
2008-01-23 02:32:55 +00:00
|
|
|
import sys
|
|
|
|
if hasattr(sys, 'frozen'):
|
|
|
|
install_requires=[]
|
2008-01-23 00:24:33 +00:00
|
|
|
|
|
|
|
def require_auto_deps():
|
2008-08-15 17:22:34 +00:00
|
|
|
"""
|
|
|
|
The purpose of this function is to raise a pkg_resources exception if any of the
|
|
|
|
requirements can't be imported. This is just to give earlier and more explicit error
|
|
|
|
messages, as opposed to waiting until the source code tries to import some module from one
|
|
|
|
of these packages and gets an ImportError. This function gets called from
|
|
|
|
src/allmydata/__init__.py .
|
|
|
|
"""
|
2008-04-18 20:24:59 +00:00
|
|
|
import pkg_resources
|
|
|
|
for requirement in install_requires:
|
|
|
|
try:
|
|
|
|
pkg_resources.require(requirement)
|
|
|
|
except pkg_resources.DistributionNotFound:
|
|
|
|
# there is no .egg-info present for this requirement, which
|
|
|
|
# either means that it isn't installed, or it is installed in a
|
|
|
|
# way that pkg_resources can't find it (but regular python
|
|
|
|
# might). There are several older Linux distributions which
|
|
|
|
# provide our dependencies just fine, but they don't ship
|
|
|
|
# .egg-info files. Note that if there *is* an .egg-info file,
|
|
|
|
# but it shows a too-old version, then we'll get a
|
|
|
|
# VersionConflict error instead of DistributionNotFound.
|
|
|
|
pass
|