Bug 1737985 - gwebsockets depends on Python 2
Summary: gwebsockets depends on Python 2
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gwebsockets
Version: 31
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Peter Robinson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1773367 (view as bug list)
Depends On:
Blocks: PY2REMOVAL F31_PY2REMOVAL SugarOnPy3
TreeView+ depends on / blocked
 
Reported: 2019-08-06 12:18 UTC by Lumír Balhar
Modified: 2019-11-18 09:44 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-11-18 09:44:02 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
patch to port to python 3 (and support >= python 2.7) (2.50 KB, patch)
2019-08-18 18:05 UTC, Bas Hulsken
no flags Details | Diff
modified spec file to build python2 and python3 versions of gwebsocket (3.25 KB, text/plain)
2019-08-18 18:07 UTC, Bas Hulsken
no flags Details

Description Lumír Balhar 2019-08-06 12:18:48 UTC
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.

Thank you.

Comment 1 Ben Cotton 2019-08-13 17:49:16 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to 31.

Comment 2 Lumír Balhar 2019-08-14 08:36:37 UTC
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.

Comment 3 Bas Hulsken 2019-08-18 18:05:33 UTC
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

Comment 4 Bas Hulsken 2019-08-18 18:07:28 UTC
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...

Comment 5 Peter Robinson 2019-08-19 13:07:53 UTC
(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.

Comment 6 Bas Hulsken 2019-08-20 19:38:25 UTC
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. 

best regards,
Bas

Comment 7 Peter Robinson 2019-08-20 21:52:17 UTC
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

Comment 8 Peter Robinson 2019-08-20 21:53:51 UTC
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?

Comment 9 Lumír Balhar 2019-08-21 05:53:36 UTC
Keep it open, please. The final state we wanna achieve is Python3-only but it has to wait for sugar.

Comment 10 Bas Hulsken 2019-08-21 07:03:57 UTC
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 :)

Comment 11 Peter Robinson 2019-08-21 07:20:52 UTC
(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 :)

Comment 12 Alex Perez 2019-09-18 18:19:14 UTC
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.

https://github.com/sugarlabs/gwebsockets/archive/v0.6.tar.gz

Comment 13 Peter Robinson 2019-11-18 09:30:35 UTC
*** Bug 1773367 has been marked as a duplicate of this bug. ***


Note You need to log in before you can comment on or make changes to this bug.