[arch-dev-public] Plan for python upgrade
allan at archlinux.org
Sat Oct 4 01:13:07 EDT 2008
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.
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.
python = python3.0
python2 = python2.6
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.
More information about the arch-dev-public