[tahoe-dev] new foolscap version requirement

Brian Warner warner at lothar.com
Thu Jan 6 01:36:03 UTC 2011

On 1/5/11 5:15 PM, David-Sarah Hopwood wrote:
> Unfortunately, there is no way that I know of to declare a conditional
> dependency on 'foolscap[secure_connections] >= 0.6.0' if the version
> of Twisted we are using is 10.2.

Yup. I'm just venting :).

> 'setup.py build' should download a foolscap 0.6.0 egg and use it,
> assuming that a network connection to tahoe-lafs.org or
> foolscap.lothar.com is available. Why didn't this work for you?

Probably because I'm working from a git-bridged tree, and all sorts of
setuptoolsy things break routinely for me. When I tried it just now, I
got this:

> 20:warner at host-3-212% python setup.py build
> running darcsver
> setup.py darcsver: using extant version file ['src/allmydata/_version.py']
> running develop
> Not found: tahoe-deps
> running egg_info
> writing requirements to src/allmydata_tahoe.egg-info/requires.txt
> writing src/allmydata_tahoe.egg-info/PKG-INFO
> writing top-level names to src/allmydata_tahoe.egg-info/top_level.txt
> writing dependency_links to src/allmydata_tahoe.egg-info/dependency_links.txt
> writing entry points to src/allmydata_tahoe.egg-info/entry_points.txt
> Failure to get the list of managed files from darcs -- if you are building a package with 'setup.py sdist', 'setup.py bdist_egg', or other package-building commands, then the resulting package might be missing some files.  If you are not building a package then you can ignore this warning.
> reading manifest file 'src/allmydata_tahoe.egg-info/SOURCES.txt'
> writing manifest file 'src/allmydata_tahoe.egg-info/SOURCES.txt'
> running build_ext
> error: /Users/warner2/stuff/tahoe/tahoe-git-hanford/setuptools-0.6c16dev2.egg/setuptools/site-patch.py: No such file or directory

It may be that I have something stale in my tree, or I deleted something
out of frustration. I note that I see both setuptools-0.6c16dev2.egg and
setuptools-0.6c16dev3.egg directories at the top level of my tree.

(ah, deleting the dev2 .egg directory allows 'setup.py build' to
proceed, and it cheerfully downloaded something labeled "foolscap" from
my friendly local MitM and ran it, and now ./bin/tahoe works again.
Yay! :-)

> (This might not be what people who prefer their OS package manager to
> handle dependencies would like, but it isn't an incompatible change,
> when it works.)

Yeah. It's a bit of a drag that the 'setup.py build' step is necessary
at random intervals, but the overall feedback path isn't too bad: "if
you see a VersionConflict exception, run 'setup.py build' and try


More information about the tahoe-dev mailing list