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

Stéphane Gaudreault stephane at archlinux.org
Thu Sep 13 07:53:44 EDT 2012


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. 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