tahoe-lafs packaging issues

Greg Troxel gdt at lexort.com
Fri Mar 19 17:34:38 UTC 2021

Jean-Paul Calderone <jean-paul+tahoe-dev at leastauthority.com> writes:

> Thanks for reaching out and thanks for the excellent detail in this email.
> The strategies / tradeoffs / challenges you outlined all seem to make sense
> to me.

Thanks for regarding me as sane :-)

> I think everyone who uses Tahoe is increasingly feeling the pressure from
> the gradual wind-down of the Python 2.7 ecosystem.  The good news is that
> the Python 3 porting effort is quite far along - modules that constitute
> over 75% of the lines of Tahoe have been ported and many other modules are
> partially ported.  It's hard to estimate when this will be done but I am
> *hopeful* that we are looking at a Python 3-supporting release sometime
> this Spring.  The effort has committed resources behind it so there's no
> reason to think we won't be able to get over the finish line.

That's encouraging to hear.  I realize it's a ton of work but I don't
know how the process of adding tahoe-lafs back to packaging systems will
go once removed, in terms of who is motivated to do the work -- so
sooner is better :-)

Also, having alpha releases and announcing them on the announce list
would be nice; the last two full releases weren't even announced.

> I'm curious about whether you think having magic-folder as an optional
> dependency would be beneficial for your packaging efforts or the users of
> those packages *after* the Python 3 port is complete, or if this is
> mostly/entirely about working around the increasingly constrained state of
> Python 2.7 libraries?

I'd say it's 90% about 2.7.  Looking from outside, tahoe-lafs has a very
large number of python library dependencies, and fewer is better.  In
particular, depending on something that is likely to be installed anyway
and most importantly overwhelmingly likely to be packaged and up to date
because other people care, does not hurt much.  As I was looking at
magic-wormhole, I found that hkdf and spake2 were not already in pkgsrc.
We currently have 3294 directories that package py-* so that's somewhat
a clue that not too many other things use them (could be just an unusual
coincidence of course).  But if that were the only issue I wouldn't have
written, and it's very likely easier to package those than to make
things optional.

I patched it out (2 deps files, 2 import lines), and I can run tahoe to
get the commands list.  I don't know how far I'd get before it blows up,
if I don't try to use wormhole features.

> Regarding txtorcon, it is an optional dependency that enables Tahoe to run
> over Tor.

If intalling and running tahoe on a system without txtorcon installed
works, then that's fine.  Right now pkgsrc has no 27-ok version of that,
and we're sort of reaching the point where adding 27-ok old versions is
less reasonable because they are further out of support, and because
very little that matters is still 27 only.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: not available
URL: <http://tahoe-lafs.org/pipermail/tahoe-dev/attachments/20210319/3abebd12/attachment.asc>

More information about the tahoe-dev mailing list