Proposal: Python 3 in Fedora 13

Ben Boeckel MathStuf at gmail.com
Thu Oct 1 23:12:31 UTC 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

David Malcolm wrote:
> "Naming convention" proposal:
> How does this sound:
>   - an rpm with a "python-" prefix means a python 2 rpm, of 
the
> "default" python 2 minor version (for Fedora this will be the 
most
> recent stable upstream minor release, for EPEL it will be the 
minor
> release of 2 that came with the distro, so 2.4 for EPEL5)
> 
>   - an rpm with a "python3-" prefix means a python 3 rpm, of 
the
> "default" python 3 minor version (for Fedora this will be the 
most
> recent stable upstream release)
> 
>  (we could extend this to have specific minor-releases (e.g. 
use
> "python24-" for a python 2.4 stack, in case some brave soul 
wants to get
> zope/plone running.  But may be better to try to fix the 
zope/2.6
> incompatibility at that point (caveat: haven't looked at the 
details of
> the issue).  I don't intend to work on such versions))
> 
> What about packages without a "python-" prefix?  Proposal:  If 
upstream
> has a naming convention for python2 vs python3, use it.  
Otherwise, add
> a "python3-" prefix to make things clear.  I'm not sure about 
the
> details here.  Examples?
>  
> There have been various discussions upstream about what to 
call the
> python 3 binary.  My favorite quote on the subject is from 
Guido,
> http://mail.python.org/pipermail/python-3000/2008-
March/012421.html :
>> During the next 3 years or so, installing Py3k as the default 
"python"
>> will be a deed of utter irresponsibility and is likely to 
break your
>> system in subtle ways (both OSX and Linux these days use 
Python for
>> certain system tasks). If you *really* want to shoot yourself 
in the
>> foot this way, go ahead and explicitly use "make altinstall
>> bininstall" or link it yourself.
> 
> I propose that for Fedora we have "/usr/bin/python3" for the
> system/default version of python 3 and "/usr/bin/python" for 
the
> system/default version of python 2.  Both would be symlinks to 
a binary
> with the minor-release embedded in the name 
("/usr/bin/python3.1" and
> "/usr/bin/python/2.6").
> 
> As I understand things, this should make us broadly in 
agreement with
> upstream; see e.g.:
> http://mail.python.org/pipermail/python-dev/2009-
April/088862.html
> http://mail.python.org/pipermail/python-dev/2009-
April/088884.html

Could we do something similar to what qt and kdelibs packages 
have done? While qt3 was default, the 'qt' package points to qt3 
and qt4 is an entirely separate package. When qt4 became 
default, qt3 was the one with the explicit version on it (and 
qt4 still exists, but the default 'qt' is qt4 now). This would 
mean that python2 packages grow 'Provides: python2-foo = 
%{version}-%{release}'. When python3 is the default, then have 
python point to python3 (and we can drop the Provides/Obsoletes 
for python3- prefixed packages later if wanted).

My thought process is that I would not like, after python3 is 
the default, to still have to put the explicit 3 on there 
because python is still python2. Just thinking ahead here.

- --Ben
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iQIcBAEBCAAGBQJKxTdfAAoJEKaxavVX4C1Xdf0QANdjkM1iZhZfnxSLErl8qsrr
Eqhg51xTZdolE/8/Z08DTxE3EF5yj5BsfGPgTfiyTgzqiFgMYpAxU6NYKRZI0WmL
C3eC8oHMINRJGotklzHZiTnyUbZd2MZQuPWhMljOchOGOTktT9oaXZND/co1Aixo
xNVqXLYQAYWAlF0A0fjVJ12x2eq4jcG8d2rDaOmiXMj4UTI1ZfVFyofBHm++4hUB
dQ6JNrN11Tzd7fOnGZKvLUgvfEOXlP8K51dFKiaZI+iBxvU14GnU4e7p3ri4CEjT
CKk8AzSKkwLcKk8ipCwN3+BvLCMvq91RtBoh1amhevCg2FgULnbe2ZWv9qhZkpJg
EG4HVCbhXgeMvIbX6prGMtcDAe4X8QNesMX2C7OCqwwkFDea9qSNCb7ZLVscGCZQ
OeRKfgD7DN1XnH/6F2a6p5lxNQF6EQ0G7oWjloSwWtOCNLTU+pDI1waTPM74yh/Y
1sabs31wYUi+gbW3sFqfWoMnkAisKRLXeKzxsZvotz4R87+GEwoV1ZZJNL+NWvZz
V+IGhU+B6PTu8Jo6KfV2xJ6Y0kx8qKSlk9LdiZ9RKTyxgnZVaxj3YJceeUv1TSI/
U8xVwEjcMxDdink2NBlyGkd+its4+9ZlShHLMOKdYIAnibov72WlMLKXYNr8plpO
kQYYB0B/z9A1fXFxNqKu
=dgBR
-----END PGP SIGNATURE-----





More information about the fedora-devel-list mailing list