Re: GNOME 2.20 Python version



On Ter, 2007-03-13 at 12:52 -0500, Shaun McCance wrote:
> On Tue, 2007-03-13 at 17:38 +0000, Gustavo J. A. M. Carneiro wrote:
> > On Ter, 2007-03-13 at 16:57 +0100, Lo�Minier wrote:
> > > On Tue, Mar 13, 2007, Elijah Newren wrote:
> > > > Unlike GNOME and Linux, Python does not use odd version numbers for
> > > > development versions.  Thus 2.5 is the latest production version of
> > > > Python, rather than the latest development version.
> > > 
> > >  I know 2.5 is a stable release; my point is that this needlessly raises
> > >  the bar to build GNOME: anyone is free to build GNOME with whatever
> > >  version of libc6, gcc, or python that one wants to catch some bugs (in
> > >  GNOME or in these projects), but imposing the python version to be so
> > >  high by default seems a gratuitous change.  3 out of 5 Ubuntu releases
> > >  do not have Python 2.5 by default, no Debian release has it and the
> > >  next one wont have it.
> > 
> >   I am not proposing that GNOME modules using Python should require a
> > minimum Python version of 2.5.  I am only proposing that "jhbuild
> > bootstrap" install the python 2.5 tarball instead of python 2.4.  The
> > effect of this change is:
> > 
> >   1. We start putting more emphasis on testing GNOME-over-python2.5
> > rather than GNOME-over-python2.4 (the latter has already been
> > extensively tested over the years, while the former hasn't);
> > 
> >   2. We require that GNOME modules using Python make an effort to work
> > on Python 2.5, in addition to Python 2.4.
> > 
> >   I think primarily it's a matter of which version of python we prefer
> > to test.  I say we test GNOME with python 2.5 because it's the new
> > stable version of python and python 2.4 is not maintained any more.
> 
> If a program works correctly with Python 2.4, is there
> actually a danger of it not working correctly with 2.5?
> That sounds broken.

  Yes, there is a lot of danger of it not working with 2.5 in particular
in 64 bit systems.  Python does not guarantee strict API/ABI
compatibility; that issue has been discussed extensively in the past in
this very mailing list.  Python changes API and ABI of extension modules
and even the language itself, albeit very slowly so as to not cause too
many headaches.

  In this case, however, Python in 2.5 decided to change the extensions
API to use "long int" rather than "int" in a lot of places.  In LP64
systems that represents a major ABI change.  This change, however, only
gives few compilation warnings for some cases, or in other cases not
even a compilation warning is given (like the s# convertion specifier in
PyArg_ParseTuple) and the programmers have to pay attention to the code.
Sometimes, only in runtime can errors be caught.

> 
> I worry that this move would result in programmers using
> 2.5-only features.  Our intrepid testers wouldn't notice,
> because they're building from jhbuild.  But we'd create
> an effective 2.5 dependency that our distributors would
> have to deal with.

  1. Distributions that are bleeding edge enough to include GNOME 2.20
but still using Python 2.4 are just... crazy :|

  2. For the N-th time, I am not advocating dropping support for Python
2.4.  I am saying that it is important that we test Python 2.5, more so
than testing Python 2.4.

-- 
Gustavo J. A. M. Carneiro
<gjc inescporto pt> <gustavo users sourceforge net>
The universe is always one step beyond logic




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]