On Thu, Jul 18, 2013 at 11:24:22AM -0400, Bohuslav Kabrda wrote:
> Hi all,
> as a new Fedora Python maintainer, I have set myself a goal of moving Fedora 
> to Python 3 as a default. This is going to be a multirelease effort that is 
> going to affect lots of Fedora parts. Since we will need to switch default 
> package manager from Yum to DNF (which is supposed to work with Python 3), we 
> will need to wait for that. I've been told that DNF should be default in F22, 
> so that's my target, too. That should also give everyone else plenty of time 
> to work on other essential packages to make this happen.
> 
> Here is my analysis/proposal:
> Before switching, we need to make sure that everything "important" (*) is 
> Python 3 compatible. There are three steps I see in this transition:
> 1) Getting rid of Python 2 in mock minimal buildroot.
> 2) Porting Anaconda to Python 3.
> 3) Making all livecd packages depend on Python 3 by default (and eventually 
> getting rid of Python 2 from livecd) - this will also require switching from 
> Yum to DNF as a default, that is supposed to support Python 3.
> ( 4) Making as much of the remaining packages Python 3 compatible )

If we do any work on python3 conversions, it must be done in the context
of respective upstream projects, and not a Fedora custom addon. It will
also quite likely require non-negligable dev resources to make a big dent
in it. It is unlikely to be as simple as just telling upstream to run 2to3,
because a great many upstreams are going to want to provide ongoing support
for both Python2 and Python3 to satisfy non cutting edge distros.

> From packaging point of view, this will probably require:
> 1) Renaming python package to python2

Renaming this is fine, particularly if we also add a Provides: python

> 2) Renaming python3 package to python

This is a bad idea IMHO. Python3 is not upgrade compatible with functionality
previously provided in the current python package. So such a rename is going
to needlessly cause pain & suffering.

> 3) Switching the %{?with_python3} conditionals in specfiles to 
> %{?with_python2}
> (we will probably create a script to automate this, at least partially)

I don't think we need do any automated conversion of that sort. It is perfectly
reasonable for packages to in fact have both %{with_python3} and %{with_python2}
conditionals present. By all means add  %{with_python2} to allow builds without
the legacy python2 stuff, but no need to blanket remove %{with_python3} - leave
it upto the maintainer to decide if they wish to have conditionals for this, or
unconditionally build both.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Reply via email to