[arch-dev-public] Plan for python upgrade

Allan McRae allan at archlinux.org
Thu Oct 2 00:26:09 EDT 2008

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.

There are packages that need rebuilt not matter how I handle the 
upgrade.  I know of 39 packages in [extra] which link to 
libpython2.5.so.  Also 8 packages add their path to the python system 
path and it is easier to rebuild them than hack some backwards 

My current plan is that the python package will be python3.0 and add a 
python2 package for python2.6.  This bring in a couple of issues. 
Everything that (make)depends on python will need changed to python2 (48 
packages).  More difficult is that package with "/usr/bin/python" or 
"/usr/bin/env python" in their scripts need this fixed (addition 30 
rebuilds and effects many of the above rebuilds).  Some of these 
packages are nice and just require a rebuild and their scripts point in 
the right place.  Others require a bit of sed magic. 

This plan requires a total of 125(!) rebuilds but most of the are fairly 
simple to transition to python2.  Of the 33 packages on my system, the 
only package I have had trouble rebuilding so far is subversion as 
autoreconf calls something that calls python but I have not looked into 
it too hard or even checked if it as actually a problem...

The backup plan is to keep the python as the python-2 series and add a 
python3 package.  This means less rebuilds at the moment but this will 
make transitioning packages to python3 harder (requiring the sed magic 
for scripts to point at python3 instead of python).  Also, I personally 
think this is the less clean approach long term.  But, if people feel 
strongly that this is the best route to go, I may be convinced (it is a 
lot less work at my end).

Both the gnome and boost rebuilds need to be moved from [testing] before 
I start this due to overlapping packages with the python rebuilds.


More information about the arch-dev-public mailing list