Re: Python 3 as a Default - Status

2015-01-23 Thread Bohuslav Kabrda
- Original Message -
> 
> 
> On Thu, Jan 22, 2015, at 12:00 PM, Bohuslav Kabrda wrote:
> 
> > How exactly is Fedora Atomic generated? It seems that
> > fedpra-cloud-atomic.ks has no %packages section...
> > I can find out how we're doing with Atomic assuming I know how it's
> > constructed :)
> 
> It uses rpm-ostree; the input manifest is here:
> https://git.fedorahosted.org/cgit/fedora-atomic.git/tree/fedora-atomic-docker-host.json

Thanks. Based on that, this looks pretty much as good as fedora-cloud-base. The 
list of packages that aren't yet ported based on this manifest:

audit: audit-libs-python (being worked on)
authconfig: authconfig (I sent patch upstream yesterday)
cloud-init: cloud-init (thanks to OpenStack people, it seems that this will get 
moving very soon)
gettext: gettext (code compatible, just needs to be switched)
libxml2: libxml2-python (libxml2-python3 package is being worked on right now, 
upstream code is py3 ready)
nfs-utils: nfs-utils (code compatbile, just needs to be switched)
python (is going away)
python-backports (is going away)
python-backports-ssl_match_hostname (is going away)
sos (code compatible, just needs to be switched)


Slavek
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Python 3 as a Default - Status

2015-01-22 Thread Colin Walters


On Thu, Jan 22, 2015, at 12:00 PM, Bohuslav Kabrda wrote:

> How exactly is Fedora Atomic generated? It seems that fedpra-cloud-atomic.ks 
> has no %packages section...
> I can find out how we're doing with Atomic assuming I know how it's 
> constructed :)

It uses rpm-ostree; the input manifest is here:
https://git.fedorahosted.org/cgit/fedora-atomic.git/tree/fedora-atomic-docker-host.json
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Python 3 as a Default - Status

2015-01-22 Thread Bohuslav Kabrda
- Original Message -
> On Thu, Jan 22, 2015 at 11:31:12AM -0500, Bohuslav Kabrda wrote:
> > Yeah, as I've noted in the sum-up mail, it's clear that we won't be
> > able to switch server (and possibly workstation) completely, although
> > I'm quite sure we will be able to switch the minimal cloud image to
> > python3 only (again, that's based on the assumption that the cloud
> > images are generated from fedora-cloud-base.ks, I'm CCing Matthew to
> > make this matter clear :)).
> 
> Yes. :) However, I think it would _also_ be valuable to have only
> python3 in Fedora Atomic, and that's currently a much larger surface.

How exactly is Fedora Atomic generated? It seems that fedpra-cloud-atomic.ks 
has no %packages section...
I can find out how we're doing with Atomic assuming I know how it's constructed 
:)

Slavek

> --
> Matthew Miller
> 
> Fedora Project Leader

-- 
Regards,
Slavek Kabrda
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Python 3 as a Default - Status

2015-01-22 Thread Matthew Miller
On Thu, Jan 22, 2015 at 11:31:12AM -0500, Bohuslav Kabrda wrote:
> Yeah, as I've noted in the sum-up mail, it's clear that we won't be
> able to switch server (and possibly workstation) completely, although
> I'm quite sure we will be able to switch the minimal cloud image to
> python3 only (again, that's based on the assumption that the cloud
> images are generated from fedora-cloud-base.ks, I'm CCing Matthew to
> make this matter clear :)).

Yes. :) However, I think it would _also_ be valuable to have only
python3 in Fedora Atomic, and that's currently a much larger surface.

-- 
Matthew Miller

Fedora Project Leader
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Python 3 as a Default - Status

2015-01-22 Thread Bohuslav Kabrda
- Original Message -
> On Tue, Jan 20, 2015, at 08:22 AM, Bohuslav Kabrda wrote:
> > Hi all,
> > since the "Python 3 as a Default" change [1] has been accepted a while ago
> > and is scheduled for F22, I'd like to share with you the status.
> > 
> > The proposed change [1] mentions several goals that should be reached to
> > pronounce python3 the "default":
> 
> There was a sub-thread on this here:
> https://www.redhat.com/archives/anaconda-devel-list/2014-December/msg00030.html
> 
> But basically because of Ansible, the only realistic outcome I can see from
> this proposal at least for Server and Cloud is "Add Python 3 by default",
> not "Switch to Python 3".

Yeah, as I've noted in the sum-up mail, it's clear that we won't be able to 
switch server (and possibly workstation) completely, although I'm quite sure we 
will be able to switch the minimal cloud image to python3 only (again, that's 
based on the assumption that the cloud images are generated from 
fedora-cloud-base.ks, I'm CCing Matthew to make this matter clear :)).

Slavek

-- 
Regards,
Slavek Kabrda
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Python 3 as a Default - Status

2015-01-21 Thread Colin Walters
On Tue, Jan 20, 2015, at 08:22 AM, Bohuslav Kabrda wrote:
> Hi all,
> since the "Python 3 as a Default" change [1] has been accepted a while ago 
> and is scheduled for F22, I'd like to share with you the status.
> 
> The proposed change [1] mentions several goals that should be reached to 
> pronounce python3 the "default":

There was a sub-thread on this here:
https://www.redhat.com/archives/anaconda-devel-list/2014-December/msg00030.html

But basically because of Ansible, the only realistic outcome I can see from 
this proposal at least for Server and Cloud is "Add Python 3 by default", not 
"Switch to Python 3".
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Python 3 as a Default - Status

2015-01-21 Thread Bohuslav Kabrda
- Original Message -
> On 21. 1. 2015 at 01:44:32, Haïkel wrote:
> > Thanks for the heads-up.
> > 
> > As for the cloud image, if we switch to yum, python-urlgrabber won't
> > be needed anymore.
> 
> Umm, yes, it will be - yum uses python-urlgrabber internally. Also worth
> mentioning that yum itself is not Python 3 compatible.

I think that the original message should've said "switch to dnf". Was it not?

> Thanks
> Jan

-- 
Regards,
Slavek Kabrda
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Python 3 as a Default - Status

2015-01-21 Thread Bohuslav Kabrda
- Original Message -
> On Tue, Jan 20, 2015 at 08:22:25AM -0500, Bohuslav Kabrda wrote:
> > Hi all,
> > since the "Python 3 as a Default" change [1] has been accepted a while ago
> > and is scheduled for F22, I'd like to share with you the status.
> > 
> > The proposed change [1] mentions several goals that should be reached to
> > pronounce python3 the "default":
> > 1) DNF is the default package manager instead of Yum, which only works with
> > Python 2
> > 2) Python 3 is the only Python implementation in the minimal buildroot
> > 3) Python 3 is the only Python implementation on the LiveCD
> > 4) Anaconda and all of its dependencies run on Python 3
> > 5) cloud-init and all of its dependencies run on Python 3
> 
> > 5) cloud-init is a problem. Basically, Python 3 cloud-init is the only
> > thing
> > blocking the cloud images (*). Other packages are ready or being worked on.
> > The problem here is that cloud-init upstream is really unresponsive about
> > Python 3 porting (patch is submitted in their bug tracker [3]) - if someone
> > knows these people, please help us by pinging them.
> 
> > [3] https://code.launchpad.net/~harlowja/cloud-init/py2-3/+merge/225240
> 
> I forwarded this request to Red Hat's openstack team to see if anyone
> there has contacts with the cloud-init maintainers. I've heard back
> that Ubuntu is in the same boat, also wanting a python3 compatible
> cloud-init in the near future. The author of the patch you mention
> is actually a cloud-init maintainer so could merge stuff himself,
> but he really needs others to review his patches before doing that.
> None the less, it sounds like there might be a bit of interest and
> movement upstream to try to get this porting work finished.

Thanks a lot, I really appreciate that you did that!

> 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
> Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

-- 
Regards,
Slavek Kabrda
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Python 3 as a Default - Status

2015-01-21 Thread Daniel P. Berrange
On Tue, Jan 20, 2015 at 08:22:25AM -0500, Bohuslav Kabrda wrote:
> Hi all,
> since the "Python 3 as a Default" change [1] has been accepted a while ago 
> and is scheduled for F22, I'd like to share with you the status.
> 
> The proposed change [1] mentions several goals that should be reached to 
> pronounce python3 the "default":
> 1) DNF is the default package manager instead of Yum, which only works with 
> Python 2
> 2) Python 3 is the only Python implementation in the minimal buildroot
> 3) Python 3 is the only Python implementation on the LiveCD
> 4) Anaconda and all of its dependencies run on Python 3
> 5) cloud-init and all of its dependencies run on Python 3

> 5) cloud-init is a problem. Basically, Python 3 cloud-init is the only thing
> blocking the cloud images (*). Other packages are ready or being worked on.
> The problem here is that cloud-init upstream is really unresponsive about
> Python 3 porting (patch is submitted in their bug tracker [3]) - if someone
> knows these people, please help us by pinging them.

> [3] https://code.launchpad.net/~harlowja/cloud-init/py2-3/+merge/225240

I forwarded this request to Red Hat's openstack team to see if anyone
there has contacts with the cloud-init maintainers. I've heard back
that Ubuntu is in the same boat, also wanting a python3 compatible
cloud-init in the near future. The author of the patch you mention
is actually a cloud-init maintainer so could merge stuff himself,
but he really needs others to review his patches before doing that.
None the less, it sounds like there might be a bit of interest and
movement upstream to try to get this porting work finished.

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
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Python 3 as a Default - Status

2015-01-21 Thread Jan Zelený
On 21. 1. 2015 at 01:44:32, Haïkel wrote:
> Thanks for the heads-up.
> 
> As for the cloud image, if we switch to yum, python-urlgrabber won't
> be needed anymore.

Umm, yes, it will be - yum uses python-urlgrabber internally. Also worth 
mentioning that yum itself is not Python 3 compatible.

Thanks
Jan
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Python 3 as a Default - Status

2015-01-20 Thread Haïkel
Thanks for the heads-up.

As for the cloud image, if we switch to yum, python-urlgrabber won't
be needed anymore.

H.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Python 3 as a Default - Status

2015-01-20 Thread Bohuslav Kabrda
Hi all,
since the "Python 3 as a Default" change [1] has been accepted a while ago and 
is scheduled for F22, I'd like to share with you the status.

The proposed change [1] mentions several goals that should be reached to 
pronounce python3 the "default":
1) DNF is the default package manager instead of Yum, which only works with 
Python 2
2) Python 3 is the only Python implementation in the minimal buildroot
3) Python 3 is the only Python implementation on the LiveCD
4) Anaconda and all of its dependencies run on Python 3
5) cloud-init and all of its dependencies run on Python 3

Before I go through the 5 goals, let me explain the approach that has been 
taken so far:
There are basically two types of packages (from Fedora's point of view) that 
depend on Python: "libraries" and "applications" (note that the distinction is 
intentionally not very clear, there are packages that are both)
"Libraries" are, simply put, Python extension modules, those that live in 
%{python2_sitelib} and %{python2_sitearch} in python2 builds. "Libraries" were 
receiving both upstream and downstream care from the people working on the 
change - upstream porting and downstream python3- subpackage additions, to also 
put files in %{python3_sitelib} and %{python3_sitearch}. We could afford to do 
the subpackage additions downstream during F21 lifecycle, since this doesn't 
change anything, it's just one more binary RPM that's spit out of the SRPM 
build process.
"Applications" are stuff that users run (an important characteristic is that 
users don't care under which Python the application runs) - like Anaconda. 
"Applications" have been receiving some upstream patches, but weren't rebuilt 
with Python 3 yet. The reason for not rebuilding yet is that we first wanted to 
make sure that we've ported all "applications" upstream to be able to switch 
them all to Python 3 in Fedora at once - we wanted to be sure we wouldn't 
introduce both Python runtimes to livemedia, cloudimages, etc. As of now, 
Python 2 is still the suggested Python runtime to build "applications" against. 
We will start filing bugs to rebuild against Python 3 once we're sure that the 
switch can safely happen (which I think is now according to the points below).

Let's go through the 5 goals:
1) DNF will be the default package manager for F22 [2], so everything is ok 
here.
2) One of our goals was to not make minimal buildroot larger. The only package 
from minimal buildroot requiring python (python-libs to be precise) is gdb, 
which is compatible with python3 in upstream (but it's considered to be an 
"application", so it hasn't been rebuilt yet). So minimal buildroot is fine.
3) As for LiveCD, we now have more of these - Workstation, Server and all the 
various flavours and spins. Let me go through Workstation and Server:
Workstation:
Fedora LiveCDs have, since at least Fedora 20, included both Python 2 and 
Python 3 runtimes (the primary reason for having Python 3 back then was AFAICS 
speech-dispatcher, which is Python 3 only in upstream). Although we may not be 
able to port all libraries and applications (but we may, there's still chance!) 
from workstation livecd to Python 3, the fact that it already ships both 
runtimes makes me think that we should build as much apps as possible with 
Python 3.
Server:
Because of giants like samba and freeipa, I think we won't be able to achieve 
python2-free server livecd for F22. But as it is with Workstation, I think we 
should proceed and build as much with Python 3 as possible.
4) Anaconda is work in progress. I'm communicating with Anaconda devs quite 
regularly and everything looks promising.
5) cloud-init is a problem. Basically, Python 3 cloud-init is the only thing 
blocking the cloud images (*). Other packages are ready or being worked on. The 
problem here is that cloud-init upstream is really unresponsive about Python 3 
porting (patch is submitted in their bug tracker [3]) - if someone knows these 
people, please help us by pinging them.

Attached to this mail, you'll find 3 files (fedora-cloud-base.txt, 
fedora-install-server.txt, fedora-live-workstation.txt). Each one of them is a 
result of automated script that tells with quite a good certainty what Python 
dependent packages are on a livecd/image generated by a kickstart with the same 
name.
The files have two sections: "Good" and "Bad". "Good" packages are either 
"libraries" that have python3- subpackage or "applications" that have already 
been built with Python 3. "Bad" packages are either "libraries" not having 
python3- subpackage or "applications" built with Python 2. Note that lots of 
applications are now "bad" even though their code is Python 3 compatible, they 
just haven't been built with Python 3 yet. Also, "Bad" contains packages that 
will not be ported at all and will disappear from livecd, e.g. pyliblzma or yum.
We're tracking all packages needed for Workstation and Cloud images at [4] - 
feel free to grab anything unassigned there or h