[tahoe-dev] new foolscap version requirement

David-Sarah Hopwood david-sarah at jacaranda.org
Thu Jan 6 23:45:51 UTC 2011


On 2011-01-06 14:54, Zooko O'Whielacronx wrote:
> On Thu, Jan 6, 2011 at 2:11 AM, David-Sarah Hopwood
> <david-sarah at jacaranda.org> wrote:
>>
>> This checks the Twisted version at the time of the build. If the user later
>> installs Twisted 10.2 but still has foolscap 0.5.1, the Tahoe installation
>> will break, and the user will have to rebuild it.
> 
> Good point, but how could it be otherwise? The only thing that could
> avoid this would be if executing tahoe at runtime triggered automatic
> installation of new versions of dependencies. I'm sure nobody here
> wants that. :-)

Er, setuptools support scripts will *use* newly installed versions of
dependencies automatically, whenever they satisfy the requirements.

Compare the effect of the code you posted with what is on current trunk:

 - on trunk, foolscap >= 0.6.0 is a requirement so upgrading to
   twisted 10.2 will not break anything.
 - with your code, upgrading to twisted 10.2 will break an existing
   Tahoe build/install.

> The best thing we could do in that case, I believe, is emit a specific
> error message saying that we require foolscap >= 0.6, perhaps with an
> associated comment saying that the reason we require foolscap >= 0.6
> is that we have Twisted >= 10.2.
> 
> Hm, oh look! That's exactly what tahoe will do:
> 
> http://tahoe-lafs.org/trac/tahoe-lafs/browser/trunk/src/allmydata/_auto_deps.py?annotate=blame&rev=4893#L99

That code doesn't always work (in particular, due to the side-by-side
installation problem in #1246 and #1258). Note that the code at
<http://tahoe-lafs.org/trac/tahoe-lafs/attachment/ticket/585/bb-freeze.darcs.3.patch#L225>
does work in those cases.

(The reason this is attached to the bb-freeze ticket, is that
importing pkg_resources, as needed by require_auto_deps(), was also
causing problems for bb-freeze. But I'd planned to make this change
anyway, since I've essentially lost confidence in pkg_resources.require
to return reliable information.)

-- 
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/20110106/c2c06c3f/attachment.asc>


More information about the tahoe-dev mailing list