Breaking python2.4 compatibility for bzr-2.4

Eric Siegerman lists08-bzr at davor.org
Thu Apr 21 03:43:02 UTC 2011


On Wed, 2011-04-20 at 16:41 +0200, John Arbash Meinel wrote:
> I've personally reached my threshold,
> and would like to break compatibility with python 2.4 for our next
> release (bzr 2.4).

I don't have an informed opinion on the technical pros and cons,
but I thought it might be useful to provide some data on the
state of various distributions.  Distrowatch.com makes that
fairly easy, by providing package-version data, per distro, in a
nice tabular format.

I looked at distrowatch's list of "major distributions", plus a
few others that seemed of interest (major vendors, even if not
popular distros; some other BSDs; and Solaris, which proves to be
a special case, as I'll explain below.)

For each distribution, the following table shows the most recent
release with python < 2.6, which version that is, month of
release, and the number of (2.6-containing) releases that have
been made since the one shown.  (I intended to show end-of-life
dates too, but couldn't find those for enough distros to make it
worthwhile.)

The table is grouped by minor python version, ignoring the
micro-release; within groups, it's sorted by Released (descending)
and #RS (ascending).

    Distro           Release           Python[1]   Released[2]  #RS[3]
    --------------   ---------------   ---------   -----------  ------
    CentOS [4]       5.6               2.4.3       2011-04      0
    Oracle           R5-U6             2.4.3       2011-01      1
    RHEL             5.6               2.4.3       2011-01      1
    Novell/SUSE      10-SP3            2.4.2       2009-10      1
    Gentoo [4]       2008.0            2.4.4       2008-07      2

Notes:
  [1] Some distros ship with more than one Python version.  This
      is the one reported by distrowatch.com, i.e. the release's
      "default" version.

  [2] This only considers formal releases, *not*
      stable-but-still-active branches, such as Debian "testing",
      FreeBSD-STABLE, and the like.

  [3] Number of *R*eleases *S*ince the one shown.  By definition,
      these all default to Python 2.6 (or later?  I can't
      recall, to be honest).

  [4] These are distrowatch.com's top-10 Linux distributions.
      plus their "honourable mention" of FreeBSD.
      

Comments:

CentOS's latest release is still on Python 2.4.  But CentOS 5.6
is merely RHEL 5.6 with RedHat's branding removed (so that it can
be released open-source); thus, what John says about RHEL's
ancientness arguably applies here too, even though the CentOS
release itself is very recent.  They're working on CentOS 6
(corresponding to RHEL 6), but no release date has been
announced, that I could find.

As John observes, no other distro of note is still stuck at 2.4.


As for 2.5:
    Distro           Release           Python[1]   Released[2]  #RS[3]
    --------------   ---------------   ---------   -----------  ------
    PCLinuxOS [4]    2010.07           2.5.2       2010-07      1
    FreeBSD [4]      7.2               2.5.2       2009-05      4
    NetBSD           5.0               2.5.2       2009-04      1
    Debian [4]       5.0 (Lenny)       2.5.2       2009-02      2
    Slackware [4]    12.2              2.5.2       2008-12      2
    Linux Mint [4]   6 (Felicia)       2.5.2       2008-12      4
    PC-BSD           7.0.2             2.5.2       2008-12      4
    Fedora [4]       10 (Cambridge)    2.5.2       2008-11      4
    OpenBSD          4.4               2.5.2       2008-11      4
    Mandriva [4]     2009              2.5.2       2008-10      4
    Ubuntu [4]       8.10 (Intrepid)   2.5.2       2008-10      4
    OpenSUSE [4]     11.0              2.5.2       2008-06      4

*Nobody's* latest release contains 2.5.

The only ones whose final 2.5-containing release dates from later
than 2008 are:
  - PCLinuxOS: I'm not familiar with it, but included it because
    it's on distrowatch's list.  Is it significant?  I'm guessing
    not for servers; it seems targeted pretty squarely at the
    desktop market.

  - FreeBSD, about which Matt Fuller said, "For me personally,
    and with-hat: FreeBSD maintainer, gopher it".

  - NetBSD, which IIRC uses FreeBSD's "ports" collection; if so,
    what Matt says re. FreeBSD should apply here too.

  - Debian: its glacial release schedule is one reason Ubuntu
    exists, isn't it?  'Nuff said.


Finally, there's:
    Distro           Release           Python[1]   Released[2]  #RS[3]
    --------------   ---------------   ---------   -----------  ------
    Solaris          10                2.2.3       2005-01      1

which, since it ships with Python 2.2, is already beyond Bazaar's
support horizon.  Solaris 11 came out late last year.  I've been
unable to find out which Python it contains, but it would be
pretty astounding for it to have only 2.5 or earlier.


Conclusion:

I won't vote on dropping support for 2.4.  But should that happen,
there seems no compelling reason, distro-compatibility-wise, to
stop at 2.5; Bazaar might as well jump to 2.6, and so not have to
go through this again in six months -- plus removing a roadblock,
of what seems to be uncertain but scary size, on the way to
Python 3.


  - Eric





More information about the bazaar mailing list