Bug 1750224
Summary: | cjdns depends on Python 2 | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Lumír Balhar <lbalhar> |
Component: | cjdns | Assignee: | Stuart D Gathman <stuart> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | stuart |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | cjdns-20.4-1.fc31 cjdns-20.4-1.fc29 cjdns-20.4-1.fc30 cjdns-20.4-2.el8 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2019-11-05 04:41:20 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1698500 |
Description
Lumír Balhar
2019-09-09 05:53:08 UTC
Cjdns uses python during build. It also offers a python binding for the cjdroute API. Both uses should be able to be patched to work with python3. The python API binding is optional, and can be dropped if there is any porting problem. So I will start with porting the python build tool. Python is used for build only to build libuv. I already have a SPEC option to use system libuv. Cjdns compiles with, and mostly works with the system libuv - but fails at shutdown due to some resources not being released. Maybe there is a libuv flag for "hey, we're shutting down now. Can you be lax about resource allocation?" Building with system libuv would eliminate a bundled library and one of the python2 uses in one go. Could you please cooperate this with maintainers of libuv? Cjdns upstream is updating the bundled libuv to 1.30.1. That should get the shutdown ironed out - hopefully in time for f32. FEDORA-2019-fd95bc2c51 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-fd95bc2c51 FEDORA-2019-c7cc482828 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-c7cc482828 cjdns-20.4-1.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-271a4018a9 cjdns-20.4-1.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-fd95bc2c51 cjdns-20.4-1.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-c7cc482828 cjdns-20.4-1.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report. cjdns-20.4-1.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report. cjdns-20.4-1.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report. The main goal of this bug was to remove the dependency on Python 2. In comment#3 you said that Python 2 is here only for building libuv but it seems that cjdns package also provides python2-cjdns subpackage with some tools written in Python 2 and cjdns-graph also depends on Python 2 and on python2-cjdns. I've tried to find some information from upstrem whether they will support Python 3 but I've found nothing. Do you know about planned support for Python 3? I am planning to port the relatively small aux libraries to python3. If I fail to do so in time, they can be removed. I think changing python2-cjdns to python3-cjdns should be fairly simple. cjdns-graph has a lot of python dependencies that may or may not have been ported to py3 - but it is also the least important subpackage for Fedora (it produces reports and visualizations of the mesh connections for debugging and admiration). Is it acceptable to release a build for beta and rawhide after removing all python2 - even if not everything works yet with python3? It is acceptable but I'd keep it in rawhide only. You can remove Python 2 scripts from this package in rawhide now and put them back when they will be compatible with Python 3. In this way, we can identify any issues sooner than later which might make us aware of the importance of those scripts even nothing directly depends on those subpackages. Rawhide has been switched to python3 scripts and python API for cjdns-20.2-2.f32. It *should* also support a python2 version of the API, with python3 scripts. That doesn't seem compatible for anyone Requiring python2-cjdns to get the scripts. It doesn't seem worth it to do the "alternatives thing". Any suggestions on both version coexisting better in f31 are welcome. I am not sure I understand your question. In rawhide, there should be only Python 3 library and scripts. It is possible to have both Python 2 and Python 3 versions in Fedora 31 in separated subpackages and it's up to you whether you want to do it or not. You can also take the upgrade from F31 to F32 as an upgrade from Python 2 to Python 3 and provide the packages in this way. I think that this bug can be closed. FEDORA-EPEL-2019-99ed3f99fc has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-99ed3f99fc cjdns-20.4-2.el8 has been pushed to the Fedora EPEL 8 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-99ed3f99fc cjdns-20.4-2.el8 has been pushed to the Fedora EPEL 8 stable repository. If problems still persist, please make note of it in this bug report. |