[tahoe-dev] 0.8.2b1 - new/wrong dependencies

David-Sarah Hopwood david-sarah at jacaranda.org
Sat Jan 29 03:31:37 UTC 2011


On 2011-01-29 02:04, Greg Troxel wrote:
> 
> I attempted to update the pkgsrc package to 0.8.1b1.
> 
> I found that it tried to download something called "mock" that I had
> never heard of, and had not seen announced as a new prereq.

New prerequisites are announced in the NEWS file:

 - Tahoe now depends upon the "mock" testing library, and the foolscap
   dependency was raised to 0.6.1 . It no longer requires pywin32 (which
   was used only on windows). Future developers should note that
   reactor.spawnProcess and derivatives may no longer be used inside
   Tahoe code.

Note that mock was previously required to run the test suite; the change
is that it is now required unconditionally.

> This dependency should be listed in the detailed installation
> instructions which should be included in the tarball.

The canonical place to look for Tahoe's direct run-time dependencies is
src/allmydata/_auto_deps.py . That *is* documented in the detailed
installation instructions, which are on the wiki at
<http://tahoe-lafs.org/trac/tahoe-lafs/wiki/AdvancedInstall>.

(The link to _auto_deps.py there was broken, I've just fixed it.)

This does not include indirect dependencies, which are currently
zbase32, pyutil and argparse. Unfortunately the method of finding
indirect dependencies documented in AdvancedInstall only gives you
the versions of those that are being used by a given build of Tahoe;
I've filed <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1343> for
that.

I'm agnostic about whether the detailed installation instructions
should be on the wiki or in the source tree, as long as they are not
duplicated in both places.

> (I was actually offline while trying to package the tarball, which
> should have been easy since I had all the prereqs for 0.8.1 installed.)
> 
> While packaging mock, I found that  pypi.python.org when accessed over
> IPv6 seemed to hang.  (My IPv6 connectivity is generally pretty good.)
> 
> 
> Then, I found that the package was trying to download foolscap 0.6.1.

It's a bug that this automatic download can't be switched off:
<http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1220> (and thanks for
reporting that bug). My position on that is still what I said in
comment:19 of that ticket:

  ... I favour making sure that a replacement for setuptools -- probably
  Brian's "unsuck" branch -- follows [open source packaging] norms by
  default, rather than continuing to hack at zetuptoolz. zooko's efforts
  with the latter are appreciated, but that approach has consumed an
  enormous amount of development effort, and is still causing obscure and
  often irreproducible bugs on our buildslaves and for our users.

Replacing our use of setuptools/zetuptoolz probably won't happen before
Tahoe v1.10, though.

> But, I have compatible twisted and foolscap installed, which should be
> ok (and of course packaging systems don't allow build-time downloads):
> 
> py26-foolscap-0.5.1 Foolscap contains an RPC protocol for Twisted
> py26-twisted-10.1.0 Framework for writing networked applications

This issue was discussed at length by the core developers, but
unfortunately it was not feasible to require an earlier version of
foolscap when the installed Twisted version is before 10.2. See
<http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1326#comment:7> for the
details.

-- 
David-Sarah Hopwood  ⚥  http://davidsarah.livejournal.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 292 bytes
Desc: OpenPGP digital signature
URL: <http://tahoe-lafs.org/pipermail/tahoe-dev/attachments/20110129/66168552/attachment.asc>


More information about the tahoe-dev mailing list