On Mon, Sep 10, 2012 at 07:53:37PM +0200, Jan Matejek wrote:
fellow openSUSErs,
with the advent of Python 3 and still almost unnoticeable decline of Python 2, i have come to a realization that the way we separate them into "python" and "python3" is less than ideal. The granularity of this can be often too coarse (you can't run two apps requiring two different python2 versions, unless they are specifically packaged and bring their own python runtime package), and too fine at the same time (there are already packages that don't actually care whether they run in python 2 or 3)
In the spirit of fixing what ain't broken, I humbly propose a grand plan: let's turn "python" into "python2.7", "python3" into "python3.3", and tinker with Provides until it all works just fine. Then, as a last step, symlink /usr/bin/python into /etc/alternatives and let the users pick whichever runtime they like better.
This would probably go better if broken into several phases. My current idea is this:
Phase 1: - rename "python" to "python2.7", providing "python = 2.7" - rename "python3" to "python3.3", providing "python3 = 3.3" - install the update-alternatives symlink
Impact: - Unsure of what would happen on package upgrade. Would we need Obsoletes/Provides combo for this? Perhaps we'd have to create the metapackages outlined in the following phases at this point already.
I personally like the gcc approach more - they have one gcc package, which just maintain symlinks to the correct gccx.y version To illustrate it more python2 Provides: python = %{version}-%{release} # so zypper in python will select this package Obsoletes: python = some-version Requires: python27 /usr/bin/python -> /usr/bin/python27 python3 Requires: python33 /usr/bin/python -> /usr/bin/python33 I am not sure if it's sane to have /usr/lib/python/site-packages -> /usr/lib/python3.3/site-packages or if the python-central is intended to do the same. BTW: there are new features pyc repository directories and abi version tagged so files - are those already included in your proposal? http://docs.python.org/py3k/whatsnew/3.2.html#pep-3147-pyc-repository-direct... http://docs.python.org/py3k/whatsnew/3.2.html#pep-3149-abi-version-tagged-so... Regards Michal Vyskocil [snip]