Le 2012-09-13 08:04, Allan McRae a écrit :
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.
I mean that I don't really care if we use python-foo python2-foo or python3-foo python2-foo even if I have a preference for the latter (also used in many other distro). However, it would be nice if we could have consistent maning across all the packages at the end of the python 3.3.0 rebuild.