[arch-dev-public] [RFC] Python 3.3.0 and PEP 394

Allan McRae allan at archlinux.org
Thu Sep 13 08:04:53 EDT 2012


On 13/09/12 21:53, Stéphane Gaudreault wrote:
> Le 2012-09-13 00:18, Allan McRae a écrit :
>> On 13/09/12 10:00, Stéphane Gaudreault wrote:
>>> Python 3.3.0 should be released around September 22. I would like to
>>> take this opportunity to implement some of the recommendations of the
>>> PEP 394 [1]. This PEP was mostly done in reaction to what Arch did to
>>> the /usr/bin/python symlink (in summary, most python devs are against
>>> the move to python3 as a default at this time).
>>>
>>> In short:
>>> python2 should refer to some version of Python 2.x
>>> python3 should refer to some version of Python 3.x
>>> python should refer to the same target as python2 but may refer to
>>> python3 on some bleeding edge distributions
>>>
>>> This means that we should never have a reference to '#!/usr/bin/python'
>>> in any of our packages. All those reference should be changed to
>>> /usr/bin/python2 to refer to Python 2.x and /usr/bin/python3 for Python
>>> 3.x. The idea here is that a system without any python symlink should
>>> work without problem. Maybe namcap could be used to detect wrong
>>> shebang ?
>> This is necessary as far as I am concerned.
>>
>>> Another possibility, suggested by Allan, would be to go even further and
>>> use /usr/bin/python3.3 and /usr/bin/python2.7 for all shebangs. Then
>>> /usr/bin/python can point to any version and /usr/bin/python2 and
>>> /usr/bin/python3 can point to any pyhton2.x and python3.x respectively.
>>> These numbers in the shebangs will be changed when python bump is
>>> version number as we need to rebuild almost everything anyway.
>> I'm leaning towards that being to much effort.  Just using
>> python2/python3 should be enough.
>>
>>
>> One thing not mentioned in this email is that we really need to sort out
>> the package naming in the repos.  Two options:
>>
>> python-foo
>> python2-foo
>>
>> or
>>
>> python3-foo
>> python2-foo
>>
>>
>> I personally would go for the first option, under the assumption that
>> python4 will not exist for many years.
>>
>> Allan
>>
> 
> I did not mentioned the packages name because I am fine with the statu
> quo on this. 

What is the status quo?   Something called python-foo can be either
python2 or python3 at the moment.


> If there is a concensus that we want to change the naming,
> I would suggest
> 
>  - change the name of the python pkg -> python3
> 
> - Change the package names with the following structure:
> pkgbase = python-something
> pkgname = ('python2-something' 'python3-something')
> 
> - If a package only has python 2 or 3 version, it could follow a similar
> structure :
> pkgbase = python-something
> pkgname = ('python3-something') OR pkgname = ('python2-something')
> 
> Stéphane
> 
> 



More information about the arch-dev-public mailing list