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 a2jmidid'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 a2jmidid. If you need anything from us, or something is unclear, please mention it here. Thank you.
This package uses the WAF build system, a very old version (year 2008); it's not compatible with python3. Upstream is not updating this package from about 2014, so it will be very difficult to port it to python3. But this package is still in use IMHO, I sometimes use it too. I will try to patch the build system to get it working with python3, but it's a hard job, I don't have much time to spend on that and I don't know if I will be able to do that.
WAF with Python 3 support is available in Fedora so IMHO you don't have to patch the build system itself, you just need to switch to the newer version with Python 3 support.
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.
The current plan is to remove packages with dependency on Python 2 from Fedora 32 in the middle of November 2019. If you want to keep your package in Fedora after that date and you cannot port it to Python 3 yet, you need to request a FESCo exception for the package and all its Python 2 dependencies (even transitive) [1]. If you don't want to maintain it anymore, please orphan the package. If you want to maintain the package but not the Python 2 part, either coordinate with packages that depend on this one, or let us know. If you're considering filing the exception request, let us know. We can help (for example, we can help find all the dependencies). [1] https://fedoraproject.org/wiki/Changes/RetirePython2#FESCo_exceptions
(In reply to Lumír Balhar from comment #2) > WAF with Python 3 support is available in Fedora so IMHO you don't have to > patch the build system itself, you just need to switch to the newer version > with Python 3 support. It's not that trivial. a2jmidid doesn't build with the waf-3 that comes with Fedora. It is an old, yet an important package. Do you know of any guidelines to port old waf scripts to waf-3? We might be able to write a Makefile from scratch if all else fails.
I'm patching a2jmidid to let build with python3, I think it's almost done. You can see it at https://github.com/tartina/a2jmidid/tree/ftbfs I also merged Fedora's patches. I tried to contact upstream with no success, so I think I'm going to bump version on github and ship that version in Fedora. What do you think about that?
Great work! Thank you for taking care of this. Not sure about the policy for bumping the version for nonresponsive upstream. There might be a guideline disallowing it. Better to ask in Fedora-devel list or Fedora-packaging list.
Well, if you want to maintain the project or fix Python 3 compatibility at least, in my opinion, it's okay to create a new upstream on Github and use it as a source for Fedora package. We did basically the same for python-ethtool package when the upstream disappeared from the Internet together with fedorahosted.org site. Take a look at what we have in readme: https://github.com/fedora-python/python-ethtool/
I think I'm going to create a new upstream on Github. According to [1] it might be acceptable to patch and maintain the software. [1] https://fedoraproject.org/wiki/Staying_close_to_upstream_projects#Some_Examples_Of_Exceptions
There is now a new upstream for this package, it's a common effort from also other distributions to maintain this package at least till it will be included in JACK2. Upstream is: https://github.com/linuxaudio/a2jmidid They have ported the build system to meson. Fedora's patches have been included too. I did a successful build in rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=37871612 and https://bodhi.fedoraproject.org/updates/FEDORA-2019-6f12ab4573 This package doesn't depend on python2 anymore.
Thank you.