Commit Graph

36 Commits

Author SHA1 Message Date
Zooko O'Whielacronx
f4f69f4a95 setup: refactor versions-and-paths and use pkg_resources to find them
Using pkg_resources is probably better if it works -- zope.interface doesn't have a __version__ attribute that we can query, but pkg_resources knows zope.interface's version number, for one thing.
This code falls back to the old way -- looking at the __version__ attributes and __file__ attributes -- if the pkg_resources way doesn't answer.
Note that this patch also changes the capitalization of "Nevow", "Twisted", and "pyOpenSSL", and the spelling of "allmydata-tahoe".  These changes are not frivolous: they are reflecting the fact that we are naming Python packages (technically called Python "distributions") instead of Python modules (technically and confusingly called Python "packages") here.  The package ("distribution") is named "allmydata-tahoe".  The module ("package") is named "allmydata".
2009-01-19 15:04:35 -07:00
Zooko O'Whielacronx
ea77d27cc5 setup: merge relaxation of the version of setuptools that we require at runtime with an indentation change 2009-01-09 13:09:49 -07:00
Zooko O'Whielacronx
2d90087420 setup: we require pywin32 if building on Windows (plus some formatting and comment fixes) 2008-12-05 17:19:11 -07:00
Zooko O'Whielacronx
9fba028892 setup: try depending on setuptools >= 0.6c6 instead of >= 0.6c7 at run-time, to be able to use the setuptools that came with Ubuntu Gutsy 2008-12-08 11:47:25 -07:00
Zooko O'Whielacronx
8e22556e66 setup: loosen requirement on simplejson to >= 1.4
That's the version of simplejson that comes with ubuntu feisty, and the one that we've required for most of our history.  Currently the Ubuntu dapper buildslave fails (see issue #534), and setting the simplejson requirement to be >= 2.0 would fix that failure, but I don't understand why.
2008-12-08 08:35:37 -07:00
Zooko O'Whielacronx
9d729109d2 setup: require simplejson >= 1.7.1
That's the version that comes with gutsy, and we don't really understand why increasing the required version number helped with issue #553.
2008-12-07 22:34:12 -07:00
Zooko O'Whielacronx
5ebd731982 setup: move the requirement on simplejson from setup.py to _auto_deps.py, and loosen it from >= 2.0.5 to > 1.8.1
We'll see if this fixes the tests on all of our current buildslaves, and if it does then I'll be happy to leave it at "> 1.8.1" for now, even though I don't know exactly what versions of simplejson changed exactly what behavior that interacts with exactly what environment.  See http://allmydata.org/trac/tahoe/ticket/534 for uncertainties.
2008-11-25 14:37:51 -07:00
Zooko O'Whielacronx
83b5f5ad52 setup: require setuptools >= 0.6c7 to run 2008-11-20 22:36:11 -07:00
Zooko O'Whielacronx
68f38f241b setup: we require setuptools > 0.6a9 in order to parse requirements that have a dot in them such as "zope.interface"
In the near future we might start actually relying on setuptools's pkg_resources's "require()" function to make modules importable, so we can't just skip zope.interface.
2008-11-20 09:15:03 -07:00
Zooko O'Whielacronx
7912f9ff27 setup: reorder dependencies to be sort of increasing order of how much they depend on other stuff
Not that the order makes any different to how it gets installed, as far as I can tell.
2008-10-25 06:47:39 -07:00
Brian Warner
c6999d219e use foolscap's new app_versions API, require foolscap-0.3.1 2008-09-20 11:38:53 -07:00
Zooko O'Whielacronx
bb71a8ee3b setup: doc string describing what the require_auto_deps() function is for 2008-08-15 10:22:34 -07:00
Brian Warner
c2f6eac53b bump foolscap dependency to 0.3.0, for the new incident-gathering interfaces 2008-08-05 16:58:28 -07:00
Zooko O'Whielacronx
01e5ca68e2 setup: require secure_connections from foolscap
This causes a problem on debian sid, since the pyOpenSSL v0.6 .deb doesn't come
with .egg-info, so setuptools will not know that it is already installed and
will try to install pyOpenSSL, and if it installs pyOpenSSL v0.7, then this
will trigger the bug in Twisted v8.1.0 when used with pyOpenSSL v0.7.

http://twistedmatrix.com/trac/ticket/3218

Now the comments in twisted #3218 suggest that it happens only with the select
reactor, so maybe using --reactor=poll will avoid it.
2008-07-29 19:10:41 -07:00
Brian Warner
d58591ceba start using Foolscap's 'incident-logging' feature, which requires foolscap-0.2.9 2008-07-02 17:40:29 -07:00
Zooko O'Whielacronx
e3337461af setup: trivial change: the name of the "Nevow" distribution is capitalized 2008-06-10 16:15:37 -07:00
Brian Warner
1efcf2ee3c _auto_deps.py: per #456, don't require the 'secure_connections' feature from Foolscap, to avoid (failing) builds of pyopenssl 2008-06-09 16:55:04 -07:00
Zooko O'Whielacronx
970edc5c65 setup and docs: various improvements to setup and docs
Remove docs/install-details.html and README.win32 for now (see #282).
Remove checks for pywin32 and pyopenssl in Makefile -- that is (or will be) automated by setuptools.
Remove twisted from setup_requires.  This causes the problem in which Nevow doesn't declare its dependency on Twisted (#440) to yield a clear ImportError mentioning Twisted and to fail repeatedly, rather than yielding a weird ImportError and working on the second identical attempt.
Fix Makefile to set PATH so that trial and twistd can be found by "make test" after Twisted was installed into support/ during "make"
2008-06-05 13:55:05 -07:00
Zooko O'Whielacronx
b41dcbd329 setup: trivial formatting change in _auto_deps.py 2008-05-06 12:30:56 -07:00
Zooko O'Whielacronx
99d5d2335d setup: require pycryptopp >= v0.5 2008-05-06 11:17:47 -07:00
Zooko O'Whielacronx
9613997ddb setup: remove the try: except: around the import of pkg_resources -- we now require setuptools at run time and at build time 2008-04-18 13:24:59 -07:00
Zooko O'Whielacronx
dbde3d5632 setup: don't try __import__(name) in _auto_deps.py
This happens to work, because all of our "distribution" (i.e. distributable packaged Python code) names to coincide with all of their "package" (i.e. a directory with a __init__.py in it, which is "import"-able) names, except, I think for Twisted on Brian's debian sid system.

But there's no reason why it should always work, and the only reason for that __import__() was to give us an explicit error message indicating missing requirements in the case that pkg_resources isn't importable or that the requirements don't have correct .egg-info metadata.  So, by removing this stanza we may allow certain places to get a more ad-hoc failure message, i.e. an ImportError from somewhere, instead of an ImportError from _auto_deps.py, but that's okay.

Note that dependencies which do not have their .egg-info metadata with them are increasingly rare, since Python 2.5 distutils creates the .egg-info file by default, and Linux distributions have stopped their former practice of actively deleting the .egg-info files.
2008-04-18 12:17:22 -07:00
Brian Warner
0c39ab90fa back our runtime setuptools dependency down to 0.6a9 . We need a newer version to build, but can handle an older version to simply run a pre-built package 2008-04-10 16:31:59 -07:00
Zooko O'Whielacronx
85602d190d setup: we now require setuptools at run-time 2008-04-10 15:46:10 -07:00
Zooko O'Whielacronx
6090a561aa setup: require twisted >= 2.4.0 2008-04-08 18:12:00 -07:00
robk-tahoe
5333d976e8 auto_deps: require foolscap >= 2.5
the key_generator depends upon tub.setLocationAutomatically() which is only
available in foolscap > 0.2.5
2008-04-03 16:06:46 -07:00
Brian Warner
7c7375a5ad bump foolscap dependency to 0.2.4, since we now use log.err 2008-02-05 15:27:14 -07:00
Brian Warner
7e4ca29e33 _auto_deps.py: update comment 2008-01-29 13:53:21 -07:00
Brian Warner
346f1f5c8b _auto_deps: tolerate DistributionNotFound (but not VersionConflict), to accomodate distributions (i.e. gutsy) which provide our dependencies but don't include .egg-info files 2008-01-29 13:52:37 -07:00
Brian Warner
f76a81fda2 _auto_deps.py: relax our simplejson dependency to 1.4, since I think it works and because that's what feisty offers 2008-01-23 13:03:09 -07:00
Zooko O'Whielacronx
b6ff029673 setup: weaken the requirement on zope.interface from >= 3.1.0 to "any"
We've never heard of a version of zope.interface that *wasn't* compatible, and there is a bug in Ubuntu's packaging of zope.interface which causes it to report its version number as 0.0.0:

https://bugs.launchpad.net/zope.interface/+bug/185418
2008-01-23 11:26:04 -07:00
Zooko O'Whielacronx
69ae5b0b75 setup: loosen our requirement on pycryptopp from >= 0.2.9 to >= 0.2.8
Again, tahoecs2 has pycryptopp v0.2.8, and reviewing the pycryptopp change history shows that there were no important bugfixes added since 0.2.8.
2008-01-23 11:00:35 -07:00
robk-tahoe
589c8d158a fix build breakage caused by auto_deps setuptools stuff
zooko recently added a runtime check, via setuptools, that specific versions of various
packages were reported as available through setuptools at runtime.

however exe and app builds run with collected egg contents, not linked against entire
eggs, i.e. the code is transcluded into a single library.zip

thus setuptools reports that those specific version cannot be reported as available,
though they are in fact available built into the library

this disables that runtime check if the app is running 'frozen'
2008-01-22 19:32:55 -07:00
Zooko O'Whielacronx
49dccbd466 setup: loosen requirement on simplejson from 1.7.3 to 1.7.1
Since apparently 1.7.1 is what we use on tahoecs2, and it works.
2008-01-23 09:54:20 -07:00
Zooko O'Whielacronx
7e41893db7 setup: loosen our version requirement on zfec to require >= 1.1 instead of >= 1.3
I see that we have .deb's only for v1.1.
2008-01-22 17:35:38 -07:00
Zooko O'Whielacronx
348eecd615 setup: require specific versions of dependencies, both at run-time (if pkg_resources is available) and at build-time, and make there be only once place where we specify those versions
Using pkg_resources.require() like this also apparently allows people to install multiple different versions of packages on their system and tahoe (if pkg_resources is available to it) will import the version of the package that it requires.  I haven't tested this feature.
2008-01-22 17:24:33 -07:00