Red Hat Bugzilla – Bug 984907
authconfig Python 3 compatibility
Last modified: 2015-06-01 08:21:29 EDT
is there any plan/estimate of making authconfig compatible with Python 3? I'm currently trying to figure out what it'd take to move Fedora to Python 3 and since authconfig is one of Anaconda's deps, it'd need to be converted as one of the first.
There is currently no plan yet. However I don't expect the conversion to be too hard we just need to find the resources. I have no idea whether the dependencies are Python 3 compatible though.
newt-python pygtk2-libglade are the dependencies
Looking at your dependencies:
- newt-python does not work on Python 3, bug #963839 requests that
- pygtk2 was never meant to work on Python 3, you'd need to use pygobject instead. There is some info on porting at .
Hmm, that makes it a larger project then though - probably together with moving the ui to GTK-3.
I am afraid that I won't find time to work on this in the near future.
This bug appears to have been reported against 'rawhide' during the Fedora 20 development cycle.
Changing version to '20'.
More information and reason for this action is here:
Hi, we would like to use Python 3 on the default installation instead of Python 2 on Fedora 22.
From that perspective, your package is considered as IMPORTANT - that means, is has to be updated to Python 3, for our intention come true.
The goal here is, that this package uses Python 3 as default in Fedora 22.
Please, help use update to Python 3 flawlessly.
Check if upstream already support Python 3, if yes, use it and add te support to the package.
If upstream doesn't support Python 3 yet, encourage it to do so by sending patches and offering your help.
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.
Chances are, that you ARE the upstream. In that case, everything is easier, just do it yourself.
Once Python 3 is supported, check your package, if it works with it. Don't switch to Python 3 yet as a default (that's still against the guidelines). I recommend to prepare your spec and conditionalize the thing with something like %global default_python 2/3.
There is a table on wiki, that should list your package. Chances are, that you can see an upstream link that covers the problem. Anyway, please update the table with information you know.
I offer my help with this task, so if you have no idea, how to work on this, or it is just not your priority, don't hesitate to ask for help.
(As you've already realized, this is a bulk text, so if something is not quite exact about your package, sorry for that, just ask)
Note: do not follow this advice as it is against the Packaging Guidelines: "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."
If you are in this situation, you'll essentially be forking upstream in order to produce a python3 port. In that situation, the proper thing to do is to create a new package with the python3 port. It would be even better to create the proper upstream infrastructure as well (new upstream scm and issue tracker) but that isn't 100% required by the guidelines.
Python 3 support in authconfig must be done upstream which is not a problem as we own it. The problem is with coding work needed to change the authconfig sources to support it - I am currently out of time for such project.
I've discussed with the SSSD team that the need for having authconfig in the distribution should be minimized and in general it should be replaced with only simple PAM configuration library and some kind of new tools built upon SSSD and realmd.
(In reply to Tomas Mraz from comment #8)
> I've discussed with the SSSD team that the need for having authconfig in the
> distribution should be minimized and in general it should be replaced with
> only simple PAM configuration library and some kind of new tools built upon
> SSSD and realmd.
Hi, I'd like to ask what the state of this issue is. Will authconfig be replaced for F22? If not, I can find some spare cycles to help with authconfig porting (although I can't promise to do everything). Thanks!
It was not fully decided yet so if you want to look at the authconfig code, please do.
I am not sure whether removal of authconfig can happen for F22 as implementation of the replacement code has not started yet.
Created attachment 982808 [details]
Python 3 compatibility patch for authconfig
Hi, I'm attaching a patch that makes authconfig compatible and buildable with Python 3. Note that it only deals with the "library" part, the Gtk app was not ported.
We only need the library part on livecd, so it should be possible to create a subpackage python3-authconfig, that would provide the python3 bindings the same way that current "authconfig" package provides bindings for python 2.
Note, that I'm not absolutely sure that I did everything right - there's no test suite. I did some smoke tests and everything seemed fine, but there may still be some bugs...
Thanks for going through this!
Hi, can you please do this before the deadline for Changes for F22? Otherwise we'd probably have to postpone even https://fedoraproject.org/wiki/Changes/Python_3_Migration_Improvements. Thanks.
Unfortunately I probably will not be able to do that. I certainly cannot promise it.
So there is an attempt in both rawhide and F22 to achieve this very partial migration. authconfig depends on python3, authconfig-gtk depends on python2. Whether it works correctly though I am not sure.
Thanks a lot. I'll try to do some more testing so that we can fix any possible issues during F22 alpha.
So we'll need to revert this after all for F22 . Thanks for doing this and please leave this change only in F23.
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:
Authconfig is built with python3 in rawhide.