On Thu, 2008-05-29 at 21:17 -0700, Toshio Kuratomi wrote:
The python programming language is going to be releasing a new
version
sometime around the time of the Fedora 10 release. Unlike past
releases, this one will have wide-spread backwards incompatibility in
the python language itself. We need to think about how we want to pull
the new language into the distribution and porting of existing
apps/modules. Here's a proposal to start us off but I hope geppetto
(the python maintainer) and ivazquez (who maintains python3.0 packages
in his spare time[1]_) will weigh in with their thoughts.
.. _[1]:
http://ivazquez.fedorapeople.org/packages/python3000/
== Proposal ==
* We should review and add the python3000 package to Fedora devel ASAP
so people can work out any bugs with the packaging before F10 release.
Agreed... but I'm obviously biased ;)
* python3000 will not be in the default install for F10. It should
not
conflict in any way with the python-2.x package we ship. We should not
port our system tools (system-config-*, anaconda, yum, etc) to
python3000 for F10.
Agreed. Instead, we should work on porting them to at least 2.6 (if not
3.0 outright) for F11.
* In F10 modules should not be shipped for python3000 unless upstream
is
taking patches for python3000/has a python3000 compatible release branch.
Agreed. We don't want the burden of maintenance.
* python3000 modules should have a separate namespace from python2.x
modules. The packaging committee will need to decide on that
(python3-foo, python3000-foo, python3k-foo are possibilities.
python3.0-foo should not be considered as 3.x versions should not have
the same backwards incompatibilities that 2.x->3.x has.)
Agreed. I started using "python3000-" myself, but I'm flexible.
== Rationale and Notes ==
* python3000 is backwards incompatible with python2.x. Unicode strings,
print becoming a function, exception changes, removal of old-style
classes, and many other changes will prevent nearly all python2.x
programs and modules from functioning in python3000 without source code
changes. In this way, it is practically a new language.
To be clear, it will be incompatible with Python 2.5 or earlier. Python
2.6[1] is a way station between 2.5 and 3.0, and can be used to help any
porting efforts.
[1]
http://docs.python.org/dev/whatsnew/2.6.html
--
Ignacio Vazquez-Abrams <ivazqueznet(a)gmail.com>
PLEASE don't CC me; I'm already subscribed