[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.pgp>
More information about the tahoe-dev
mailing list