Eric Belanger escreveu:
On Sat, 4 Oct 2008, Allan McRae wrote:
Allan McRae wrote:
Hi everybody,
Python-2.6 is out and Python-3.0 is scheduled for release in a couple
of weeks. People have been asking how I am going to handle the
update so I thought I'd post a summary here.
<snip>
According to the number of emails in my inbox (which has reached well
into double figures), my plan for the python 2.6 and 3.0 upgrade is
rather controversial. So, I thought that I would add some more
justification here and point out that if people want to comment on the
strategy they can do so by replying to public mailing lists because it
is getting repetitive I will no longer be replying individually to
people.
Here are the possible upgrade strategies.
Plan 1:
python = python3.0
python2 = python2.6
Plan 2:
python = python2.6
python3 = python3.0
These are the advantages/disadvantages of these plans as far as I can
see. Many programs point at "/usr/bin/python" or "/usr/bin/env
python". For Plan 1, the /usr/bin/python binary is python3.0 so that
involves rebuilding packages and changing them to point at "python2".
For some, this is as simple as rebuilding. Others require a simple
sed statement. Also, with Plan 1, anything with a python
depends/optdepends will need rebuilt. So, Plan 1 involves *a lot*
more rebuilding that Plan 2 (around 125 packages vs 47 packages in
[extra]).
Plan 2 will also require adjusting programs built against python3 to
point at /usr/bin/python3 in their scripts and changing the dependency
to python3 so this is a now versus later issue. Also, with Plan 2, at
some later stage we will want the /usr/bin/python binary to be
python-3.x and probably to keep a legacy python-2.x package. That
tells me, that Plan 2 requires moving to Plan 1 at a later time.
So in summary:
Plan 1 - Big rebuild now. People complain "Allan broke it"...
Plan 2 - Medium rebuild now, drawn out transition, followed by
medium/big rebuild later. People complain "Allan broke it" long term...
I am going to go for Plan 1 unless someone convinces me the Plan 2 is
a better plan _long_ term. I prefer short term pain for long term
benefit rather than long term pain for short term benefit.
Cheers,
Allan
IMO, Plan 1 is the way to go as this is how we managed the qt3/qt upgrade.
Does anyone has an idea on how many packages in the repo currently works
with or need python3.0? If that number is zero or very small, we could
update python to 2.6 and wait until that number increases before
proceeding with Plan 1. That will reduce the number of rebuilds because
we will be replacing rebuilds by package update that eventually would
need to be done anyway.
As Allan know, im with you Eric. I guess it will be safe to users too.
--
Douglas Soares de Andrade
-- Python, Django, Zope e Plone
== Archlinux Trusted User and Developer - dsa
** Quote: Old programmers never die; they exit to a higher shell.