Hello, Investigating some output issues in DNF last week I ended up researching the theoretical possibility of moving to Python 3 there. I wrote down the main points on the DNF wiki[1]. Even though that Python 2.7 is sufficient in every way, on a long enough time scale everybody will migrate to Python 3 and so will our entire packaging stack. That doesn't mean we should do it this year or the next year but maybe we should start preparing some kind of a plan for the transition. So to get the ball rolling:
What I understand from what I've seen so far [2] it is not always possible to have a particular piece of code run under both Python 2.7 and Python 3, e.g. for a program that runs under both one usually ends up with parts like: if const.PYTHON_3: ... else: ... Also, it is not possible to switch component A (DNF) depending on component B (urlgrabber, rpm, hawkey, ...) to Python 3 until the depended upon component has made the switch too. It is also preferable to have any component C (Anaconda) that depends on A be ready for the switch and not stay broken once A switches. What I therefore think should work the best is: 1) Everyone makes his component as compatible with python 3 as possible without explicit version-dependent forking. 2) Make the component compatible with both Pythons just before all Bs and Cs are ready. (Note I would prefer staying as little time there as possible.) 3) Once there are are no significant users under Python 2.x remove the 2.x branches ("the switch"). Note there are alternatives described in [2], mentioning for instance having separate branches for 2.7 and 3.x. At this point I am considering (having someone) taking DNF through at least the first step and then become smarter seeing where that leads. And as always I am a strong believer this is not going to be as painful as it looks right now. Ales [1] https://github.com/akozumpl/dnf/wiki/Python-3 [2] mainly http://python3porting.com/ _______________________________________________ Yum-devel mailing list Yum-devel@lists.baseurl.org http://lists.baseurl.org/mailman/listinfo/yum-devel