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 gwebsockets'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 gwebsockets.
If you need anything from us, or something is unclear, please mention it here.
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, please let us know.
Created attachment 1605531 [details]
patch to port to python 3 (and support >= python 2.7)
Patch to port to Python 3, tested with Sugar desktop environment
Created attachment 1605532 [details]
modified spec file to build python2 and python3 versions of gwebsocket
spec file to build RPMS with patch 1605531, creates both python2 and python3 packages, tested with the python 3 port of Sugar desktop (also a work in progress), and it seems to work so far...
(In reply to Bas Hulsken from comment #3)
> Created attachment 1605531 [details]
> patch to port to python 3 (and support >= python 2.7)
> Patch to port to Python 3, tested with Sugar desktop environment
Is this the same as the upstream port that has been in progress? Ultimately I would prefer to encourage upstream to to tag a new release and move to that.
my bad, I just overlooked that the sugar team is already maintaining a Python 3 port, see here: https://github.com/sugarlabs/gwebsockets
It's not the original maintainer but a fork as far as I know, but in any case, this one is maintained, so please ignore my patch, it seems largely the same as the one from sugarlabs in any case... it was a trivial port.
Thanks Bas, I took the upstream and built a new version with both python2 and python3 subpackages, updated naming. The spec you provided needed quite a bit of work so I didn't use that.
gwebsockets-0.5-1.fc31 and gwebsockets-0.5-1.fc32
Lumir: do I leave this open until we can remove the py2 subpackage once sugar has been migrated or do I close it now we have python3 support?
Keep it open, please. The final state we wanna achieve is Python3-only but it has to wait for sugar.
Thanks Peter! No worries about discarding my spec, it was a quick hack, and I am far from an expert in writing spec files. Good to see that this package is going to be maintained.. my kids are avid sugar users :)
(In reply to Bas Hulsken from comment #10)
> Thanks Peter! No worries about discarding my spec, it was a quick hack, and
> I am far from an expert in writing spec files. Good to see that this package
> is going to be maintained.. my kids are avid sugar users :)
If you wish to assist, I don't really have enough time any more, we're building a small group to help maintain it :)
Gwebsockets has been released, with proper support for both Python 3 and 2, configurable at compile time. This is required to fix the problem with Sugar 0.114 not starting in the F31 betas.
*** Bug 1773367 has been marked as a duplicate of this bug. ***