[tahoe-dev] what should our policy be about expressions requirements on the versions of our dependencies?

Zooko O'Whielacronx zooko at zooko.com
Wed Jul 27 21:14:39 PDT 2011


Folks:

I just opened ticket #1452 and thought posting about it to the mailing
list might help elicit information or offers of help.

There are conflicting ideas about how tight to make the requirements
Tahoe-LAFS should place on dependencies (in
http://tahoe-lafs.org/trac/tahoe-lafs/browser/src/allmydata/_auto_deps.py
). One way to do it would to be require versions of dependencies which
we know work with Tahoe-LAFS (i.e. they don't have any critical bugs
that are triggered by the way Tahoe-LAFS uses them nor fatal
incompatibilities with Tahoe-LAFS or other code that Tahoe-LAFS uses).
This would be the tightest policy. The other extreme—the loosest
policy—is to allow any version unless we know for sure that particular
version has a critical bug or incompatibility.

I personally find it a bit dubious if we specify that Tahoe-LAFS
requires a version of Package X greater than or equal to Version N, if
we don't have any buildbots that have Version N installed. To me that
sounds like we are claiming that Tahoe-LAFS will work with Version N
of Package X, but making that claim without reproducible evidence that
it is true. On the other hand we can just rely on the absence of any
bug reports from the field which can be traced to a bug or
incompatibility in some version of one of our dependencies.

One possible future improvement would be to automate the testing of
Tahoe-LAFS combined with different versions of dependencies. The
exocet tool looks like it might facilitate that sort of work:  Exocet:
A Second Look --
http://washort.twistedmatrix.com/2011/03/exocet-second-look.html

In the meantime, let's write down a policy on our Wiki and close this ticket.

Another option would be to choose a set of operating
systems/distributions that we think we should support and specify the
versions of the dependencies which are provided in those. Currently we
have the following operating systems/distributions in the Supported
Builders category of our buildbot herd: Windows 7 x86_64, Debian 5
"Lenny" ("obsolete stable") x86_64, Ubuntu 10.04 "Lucid" x86_64,
Ubuntu 10.10 "Maverick" x86_64, Debian 5 "Lenny" ("obsolete stable")
x86, FreeBSD 8.2 x86_64, OpenBSD 4.8 x86_64, NetBSD 5 x86, CentOS 5
(RedHat 5.6) x86, Windows XP 5.1 SP 3 x86.

Regards,

Zooko


More information about the tahoe-dev mailing list