[arch-dev-public] Plan for python upgrade

Douglas Soares de Andrade douglas at archlinux.org
Sat Oct 4 07:54:24 EDT 2008


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.



More information about the arch-dev-public mailing list