Python 2.7 will reach end-of-life in January 2020, over 9 years after it was released. This falls within the Fedora 31 lifetime. Packages that depend on Python 2 are being switched to Python 3 or removed from Fedora: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages Python 2 will be retired in Fedora 32: https://fedoraproject.org/wiki/Changes/RetirePython2 To help planning, we'd like to know the plans for terminator's future. Specifically: - What is the reason for the Python2 dependency? (Is it software written in Python, or does it just provide Python bindings, or use Python in the build system or test runner?) - What are the upstream/community plans/timelines regarding Python 3? - What is the guidance for porting to Python 3? (Assuming that there is someone who generally knows how to port to Python 3, but doesn't know anything about the particular package, what are the next steps to take?) This bug is filed semi-automatically, and might not have all the context specific to terminator. If you need anything from us, or something is unclear, please mention it here. Thank you.
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle. Changing version to '31'.
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle. Changing version to 31.
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages If you need any information or help, or if you need some more time, please let us know.
- What is the reason for the Python2 dependency? (Is it software written in Python, or does it just provide Python bindings, or use Python in the build system or test runner?) It is written in Python - What are the upstream/community plans/timelines regarding Python 3? I'm not up-to-date with upstream plans, but I see no evidence of upstream moving forward with porting to python3. I'd be glad if there were, but I don't see any evidence in the upstream source code repo or bug tracker that a python3 effort is in place. - What is the guidance for porting to Python 3? (Assuming that there is someone who generally knows how to port to Python 3, but doesn't know anything about the particular package, what are the next steps to take?) Unfortunately, I'm not familiar with the python to python3 conversion, but terminator is thousands of LOC, all written in python2. Anyone who wanted to take on porting would be starting from scratch. Terminator is an extremely popular terminal emulator, possibly the most popular 3rd party terminal emulator (ie not packaged with a DE or WM) in existence, if it were to be abandoned as non-working I think that a lot of people would be very upset. Unfortunately, I don't have the time to take this on by myself, though I would be happy to spearhead an effort to port it to python3, I'm v familiar with python2 but not familiar at all with python3.
Does the upstream have a bug tracker, or some other kind of place for discussions? (I didn't check the listed URL; it seems to require non-free Javascript.) It would be great to see if upstream would accept patches, or even help coding/testing. On the Fedora side, this might be a candidate for a Python 2 exception, to give us more time. Could you review terminator's dependencies, to see which ones are really necessary? Let the maintainers know that these are needed, and agree co-maintainership if they don't want the python2 parts any more. (There should be bugs like this one open for all python2 components; those are good places to talk.) The dependencies are tracked at: https://fedora.portingdb.xyz/pkg/terminator/ Looks like testing libraries (python2-pytest, python-mock) bring in most of them. pycairo is needed by Gimp and Inkscape; python-psutil by Calibre and Chromium. Both have a chance of staying a bit longer.
Hmm. I thought I put a new comment in after some investigation. As it stands, there is an upstream bug in Launchpad https://bugs.launchpad.net/terminator/+bug/1662544 and there is even a branch[1] where a few of us have gotten things working[2] under python3. The conversion was fairly easy, and actually improves the code somewhat, IMO. However... The bug referenced above was opened in 2017, and there has been no feedback from the upstream maintainers that I've seen. It is marked as "Wishlist" and there is no indication that the changes will be merged into a release anytime soon. One of the ideas I had was to update the Fedora packages with a massive "python3.patch" based on the contents of the python3 branch file and update that, but for obvious reasons that is not an ideal solution [1] https://code.launchpad.net/~hellodeargrandma/terminator/python3 [2] "Working" is a somewhat uncertain statement. It works for me, and doesn't throw any unexpected errors, but I would call it a beta, at best because there's only a few of us using it at this moment.
Hooray! It looks like things are moving on Launchpad. Does Launchpad allow doing a release from that branch? > It works for me, and doesn't throw any unexpected errors, but I would call it a beta, at best because there's only a few of us using it at this moment. Putting it in Rawhide might give it more users. If there are no known bugs, I don't see a problem with packaging it there. To set the time: we're planning to remove Python 2 packages mid-November. That should be enough time, but if not, we'll need a FESCo exception for terminator (and its dependencies) to stay on Python 2. Let us know if that seems likely.
Any news here? Do you think you can get the "beta" into Rawhide in the next two weeks? Or do you need more time?
Well, the maintainer came back a couple of weeks ago and agreed to move forward with the python3 branches in the short term, but I think he's busy and hasn't gotten around to putting out a release. Could we get a FESCo exception for this release, and I'm sure that this will be fixed by the next time around.
Figured out how to apply for a FESCo exception and opened https://pagure.io/fesco/issue/2273
The work-in-progress python3 port has already received quite some testing in Debian and Ubuntu. See https://bugs.launchpad.net/terminator/+bug/1662544 comment 51 for details. Probably you should just go ahead with the python3 port, rather than applying for exception.
I agree with Egmont.
Checked in terminator-1.91-12.fc32 with no python2 dependencies.
Thanks go to a bunch of people who are working on keeping the terminator code up-to-date even though there hasn't been an official release in a couple of years. Egmont Koblinger Roman Kovtyukh Emilio Pozuelo Monfort, who is also the debian maintainer.