Red Hat Bugzilla – Bug 1014209
Replace Python 2 with Python 3 in default installation
Last modified: 2016-07-29 05:13:09 EDT
This is a tracking bug that should cover dropping Python 2 from default installation of Fedora 22 (ideally).
There is a table on the wiki that should cover all packages that need to be updated to Python 3.
Currently, this means 3 stacks:
* Other things on Live CD
Miro, please include the component name in the description of all bugs attached to this. Right now, if you look at the dependency tree, there are a great many bugs that are just listed as "Support Python 3", which means that you have to click into each one to see which ones are still outstanding. Please make life easier on anyone trying to keep an eye on this and make sure that the summary is more descriptive.
Good point, will do. Sorry, this is the first time I've created so many same bug reports.
Please also see:
There's a number of things we should do before just filing a bunch of bugs... IMHO.
I think this mass filing was too early. There needs to be an approved Fedora Change before you file these bugs.
In particular, this text is problematic:
Check if upstream already support Python 3, if yes, use it and add te support to the package.
# Needs fesco approval to override the package maintainer. If the intention is not to override the package maintainer, then the wording should be changed.
If upstream doesn't support Python 3 yet, encourage it to do so by sending patches and offering your help.
# This is good
When upstream is dead or unwilling to support Python 3, you'll need to patch this package on Fedora level. Try to avoid this as much as you can, but use it, if it's the last option.
# This is against the packaging guidelines:
# "Do not build python3 modules without upstream support"
With some rewording to instead say that you're asking packages that can to provide python3 support and packages that can't to be explicit about that so that those can be dropped from the default install this would be much more acceptable. But now that you've filed the bugs, you'll have to go back and clarify every bug (if that is indeed your intent).
Assuming the above issues get worked out in some way or another, please don't forget to include cloud-init in this feature.
(In reply to Toshio Ernie Kuratomi from comment #4)
> # Needs fesco approval to override the package maintainer. If the intention
> is not to override the package maintainer, then the wording should be
I might not get this. Could you please explain, ho w asking for adding Python 3 support overrides package maintainer?
Asking does not. Making it mandatory does.
"When upstream is dead or unwilling to support Python 3, you'll need to patch this package on Fedora level. Try to avoid this as much as you can, but use it, if it's the last option."
Like I said in comment 4, it could just need rewording. The present text reads as making it mandatory that package maintainers change their packages to provide python3 subpackages.
I admit I made a mistake by filling those bugs without reading the doc. I din't know that such a doc exist. Things in it make point and if I read it before, I would done several thing differently.
However, I believe that if the maintainer is against that, he or she will argue anyway and we can discuss this matter with him/her individually, as for what I see know, most of the maintainers would either do it or say "do it yourself".
And for the against-guidelines upstream unsupported python3 subpackage - I believe we should discuss this further somewhere else - in current state it might be a blocker for this. However I was sometimes encouraged to create such a subpackage (in Package Review process) in the past too.
At today's FESCo meeting it was decided that you need to create a Fedora 22 Change that covers this. https://fedoraproject.org/wiki/Changes/Policy
FESCo wanted it by next week so that we'd be able to tell package maintainers whether this is actually a plan or not.
Putting on my FPC hat, I'm going to have to go to all those bugs and tell them not to follow the package-at-the-Fedora level advice. If you know what packages you've had reviewed where you deviated from upstream to do this we probably want to split those out into separate packages in F21 and later as well.
Also, in doing that I ran across bugs where it didn't appear that the dependency chain had been run down. For instance, I saw authconfig where it was noted that newt-python would be required and gdb where it was noted that all gdb plugins written in python would need to be updated as well.
(newt seems to have an open bug: https://bugzilla.redhat.com/show_bug.cgi?id=963839 -- You probably want to add that to the blocks py3anaconda tracker as that's where authconfig is.)
Also python-pycurl: https://bugzilla.redhat.com/show_bug.cgi?id=1014583
Both are the part of the dependency tree on Bugzilla.
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.
More information and reason for this action is here:
BTW, does this one have to depend on 1014577 (python-paste). I've looked into it and didn't find where DNF, Anaconda, Live CD depend on it.
Maybe it was added because of the freeipa, but you are right, I can't find any package on WS that depends on python-paste, still having python3 version of python-paste is nice to have as freeipa needs it.
Will Fedora 23 have the helper app that lets you choose version `py -2` or `py -3`?
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
Thank you for reporting this bug and we are sorry it could not be fixed.
Earth, to answer your question (belatedly):
A helper app is unlikely; use python2 or python3.