[tahoe-lafs-trac-stream] [tahoe-lafs] #1658: drop support for Python < 2.6
tahoe-lafs
trac at tahoe-lafs.org
Fri Mar 16 17:44:50 UTC 2012
#1658: drop support for Python < 2.6
---------------------------+----------------------------------------------
Reporter: zooko | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone: 1.10.0
Component: packaging | Version: 1.9.0
Resolution: | Keywords: packaging backward-compatibility
Launchpad Bug: |
---------------------------+----------------------------------------------
Old description:
> Let's drop support for versions of Python < 2.6. According to
> distrowatch's tables about the versions of packages that come with
> distros, this would exclude Tahoe-LAFS 1.10 from being usable with the
> included Python on the following versions of major distros:
>
> ||= distro =||= excluded version =||= excluded version release date =||=
> oldest supported version of the operating system =||= oldest supported
> release date =||= Python in oldest supported =||= notes =||= next version
> =||= Python in next version =||
> ||=[http://distrowatch.com/table.php?distribution=fedora Fedora] =||=10
> =||=2008-11-25 =||=15 =||=2011-05-24 =||=2.7 =||= =||=rawhide will
> be 17 =||=2.7.2 =||
> || [http://distrowatch.com/table.php?distribution=ubuntu Ubuntu] ||
> 8.10 || 2008-10-30 || 10.04 LTS || 2010-04-29 || 2.6 || || will be
> 12.04 precise ||2.7.2 ||
> ||=[http://distrowatch.com/table.php?distribution=debian Debian]
> =||=5.0 =||=2009-02-15 =||=6.0 =||=2011-02-06 =||=2.6 =||=
> =||=unstable sid will be 7.0 =||=2.7.2 =||
> || [http://distrowatch.com/table.php?distribution=freebsd FreeBSD] ||
> 7.2 || 2009-05-04 || 7.1 || 2009-01-05 || 2.5 || but upgrading
> is supposed to be pretty safe within the same major series (7.x) and 7.3
> (2010-03-23) has Python 2.6 ||10 CURRENT ||2.7.2 ||
> ||=[http://distrowatch.com/table.php?distribution=redhat RedHat]
> =||=5.7 =||=2011-07-21 =||=5.7 =||=2011-07-21 =||=2.4 =||= I'm told
> that people tend to install their own newer version of Python when they
> want to use newer Python programs on older RHEL =||=(current, not next)
> 6.2 =||=2.6.6 =||
>
> Among other benefits, dropping support for Pythons older than 2.6 would
> allow us to remove the
> [source:git/src/allmydata/_auto_deps.py?annotate=blame&rev=76e7f0ad4b0d109a9a92e451ac9b3c9e8a827eb0#L15
> dependency on simplejson] and the (complex imperatively decided)
> [source:git/src/allmydata/_auto_deps.py?annotate=blame&rev=76e7f0ad4b0d109a9a92e451ac9b3c9e8a827eb0#L92
> dependency on pysqlite].
New description:
Let's drop support for versions of Python < 2.6. According to
distrowatch's tables about the versions of packages that come with
distros, this would exclude Tahoe-LAFS 1.10 from being usable with the
included Python on the following versions of major distros:
||= distro =||= excluded version =||= excluded version release date =||=
oldest supported[*] version =||= oldest supported[*] release date =||=
Python in oldest supported[*] =||= notes =||= next version =||= Python in
next version =||
||=[http://distrowatch.com/table.php?distribution=fedora Fedora] =||=10
=||=2008-11-25 =||=15 =||=2011-05-24 =||=2.7 =||= =||=rawhide will
be 17 =||=2.7.2 =||
|| [http://distrowatch.com/table.php?distribution=ubuntu Ubuntu] ||
8.10 || 2008-10-30 || 10.04 LTS || 2010-04-29 || 2.6 || || will be
12.04 precise ||2.7.2 ||
||=[http://distrowatch.com/table.php?distribution=debian Debian] =||=5.0
=||=2009-02-15 =||=6.0 =||=2011-02-06 =||=2.6 =||= =||=unstable sid
will be 7.0 =||=2.7.2 =||
|| [http://distrowatch.com/table.php?distribution=freebsd FreeBSD] || 7.2
|| 2009-05-04 || 7.1 || 2009-01-05 || 2.5 || but upgrading is
supposed to be pretty safe within the same major series (7.x) and 7.3
(2010-03-23) has Python 2.6 ||10 CURRENT ||2.7.2 ||
||=[http://distrowatch.com/table.php?distribution=redhat RedHat] =||=5.7
=||=2011-07-21 =||=5.7 =||=2011-07-21 =||=2.4 =||= I'm told that
people tend to install their own newer version of Python when they want to
use newer Python programs on older RHEL =||=(current, not next) 6.2
=||=2.6.6 =||
Among other benefits, dropping support for Pythons older than 2.6 would
allow us to remove the
[source:git/src/allmydata/_auto_deps.py?annotate=blame&rev=76e7f0ad4b0d109a9a92e451ac9b3c9e8a827eb0#L15
dependency on simplejson] and the (complex imperatively decided)
[source:git/src/allmydata/_auto_deps.py?annotate=blame&rev=76e7f0ad4b0d109a9a92e451ac9b3c9e8a827eb0#L92
dependency on pysqlite].
[*] that is, the oldest OS version supported by the OS distributors and
still receiving security patches.
--
Comment (by davidsarah):
sqlite bindings are in Python 2.5, and so is `hashlib.sha256`. When we've
had buildslave failures for unsupported syntax, they've usually been for
2.4.x and not 2.5. So is the `simplejson` dependency the only reason to
drop support for 2.5?
If so, note that the `json` module in the stdlib is ''not'' identical to
`simplejson`. According to [http://stackoverflow.com/questions/712791
/json-and-simplejson-module-differences-in-python], the stdlib version is
less frequently updated and slower (although I would be more concerned
about security-relevant bugfixes than speed).
I agree we should definitely drop support for 2.4.x.
zooko wrote:
> "oldest supported version of the operating system" is supposed to be the
oldest release of the operating system that is supported *by the operating
system distributors*, i.e. the oldest release of the operating system that
still gets security patches.
Oh, ok, that wasn't at all obvious.
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1658#comment:10>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list