Breaking python2.4 compatibility for bzr-2.4
John Arbash Meinel
john at arbash-meinel.com
Wed Apr 20 14:41:36 UTC 2011
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
This has been discussed a bit in the past, and Martin and I have chatted
about it a bit recently on IRC. I've personally reached my threshold,
and would like to break compatibility with python 2.4 for our next
release (bzr 2.4).
The big motivations for this are:
1) RHEL was the only platform that didn't have python >2.4. It now has
RHEL 6 which has python 2.6. And while RHEL5 is going to be
supported for something like 100 more years, RHEL5 was originally
released in 2007 which probably predates bzr-1.0 (2007-12-14).
If someone is running anything like an up-to-date bzr on RHEL5 they
are running custom packages. And there are tons of workarounds for
them if they must keep RHEL5 and a newer bzr (run the stable 2.3
series, install a python version that isn't 5 years old, etc.)
2) try/finally in generators. This helps a lot to make cleanup in a
generator much clearer.
3) try/except/finally, also nice to have. Not critical, but definitely
nice to have.
4) with: statements. Along the same lines of "make your cleanup
clearer".
5) If we go all the way to python2.6 compatibility we can start looking
at doing things to support Python 3.
(This is my recommendation, since RHEL6 has python2.6, and I don't
think anything else is strictly blocked for python2.5)
6) PQM is now running the test suite directly with python2.6. We plan
on having Babune run python2.4 compatibility tests, but that is
going to be a longer turn-around time from finding out you did
something not-2.4 (5) compatible and fixing it.
The main argument that I've seen for keeping 2.4 is that if we introduce
a new repository format, then we force people that want to use that
format on their clients to upgrade their server (which could be running
an old crufty RHEL5 with maybe some new bzr packages to get 2a format
compatibility.)
I say, lets cross that bridge when we get there. We can look at
providing the repo format as a backport to a stable series, or as a
plugin for older series. Or we can honestly say "If you want to run new
software, install a newer OS", since there *is* a RHEL which is newer
and supported (non beta) and has the newer python available.
I do have a patch right now which breaks 2.4 compatibility (because of
(2)), but I've certainly wanted some of the other stuff for a while.
I'm willing to have this discussion again before landing my patch, though.
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk2u8KAACgkQJdeBCYSNAAPOiwCfXiGCcPyaM/4noj1lIyTL/zJT
mJwAoKAY8TjMhXlNxlEt5T/mdyQ0XF/n
=hIMg
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list