Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1737641
Summary: | chirp fails to install due to missing Python 2 dependencies | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> |
Component: | chirp | Assignee: | Richard Shaw <hobbes1069> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | low | Docs Contact: | |
Priority: | unspecified | ||
Version: | 31 | CC: | anto.trande, hobbes1069, mjc, pviktori, rebus |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | chirp-20191206-1.fc31 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2019-12-19 01:23:09 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: | 1700324, 1750909, 1690439 |
Description
Miro Hrončok
2019-08-05 23:17:03 UTC
I just sent an email on the chirp discussion list. We'll see what they say. Any answer from the mailing list? In preparation for the Python 2 EOL, we are removing all non-installable Python 2 packages: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Removing_non-installable_packages_from_the_distro This bug is still in the NEW state and the package does not install. Please indicate you are working on a fix by setting the state to ASSIGNED. When this bug is four weeks in the NEW state, the package may be orphaned. Note that you don't have to actually fix this right now, setting the bug to ASSIGNED will just mark this as being worked on, so I'll know it is being taken care of. If this happens too quickly, feel free to reach to me any time for help (with specific problems). 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'. Changing to ASSIGNED to buy some time but I haven't heard anything from upstream. https://chirp.danplanet.com/issues/495 May I recommend to resurrect python2dist(future) for Fedora 31? See https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Removing_non-installable_packages_from_the_distro "Packages still failing to install due to a missing Python 2 dependency will be retired at Beta Freeze, assuming they have a Bugzilla bug open for at least 2 weeks. The package maintainer may postpone this retirement to the Final Freeze by promising to fix it until then." Let me know if this package shall not be retired yet. The beta freeze is at 2019-08-29, the final freeze is at 2019-10-08. Richard wanted to buy some time, so I'm not retiring this package yet. Richard, please either fix this by the Final Freeze or request a freeze exception. The Final Freeze is at 2019-10-08. This package still fails to install: Error: Problem: conflicting requests - nothing provides python2dist(future) needed by chirp-20190812-1.fc31.noarch I intent to retire the package from f31 and master at 2019-10-07, let me know if I should not. Still no response from upstream. I'll just have to unretire it when they get their act together. Ok. Doing it. Let me know if the return happens after 8+ weeks, I'll gladly help you get it reviewed. Hello Miro / Richard, I believe it was too draconic to remove retire this functional package - please any chance to ressurrect this package? Having python2-future is not essential for running chirp. Python-futureIt is used just by one driver out of hundreds and it fails gracefully. I believe there are more ways how to deal with this: - move to weak dependencies (so people if they really want that particular driver can install with pip) - remove the /usr/lib/python2.7/site-packages/chirp/drivers/tk8180.py driver from the package for now Here is the affected code - it tries to load and fails gracefully:\ try: from builtins import bytes has_future = True except ImportError: has_future = False LOG.warning('python-future package is not ' 'available; %s requires it' % __name__) I'm not particularly happy about it as it's a package I use, but some dependencies were retired that did not apply for a python 2 exception so there wasn't much I could do. I would recommend that you (politely) explain your displeasure on the chirp mailing list. There has been some effort to convert to python 3 but there has not been much activity for a few months last I checked. Michal, this is no longer my choice. If you want to do that, you would need two things: 1. ask for a FESCo exception that also explains what dependencies you need and approximately for how long 2. unretire the package via a releng ticket (after 1. happens) Dependency info from Fedora 29: $ repoquery --releasever=29 --repo={fedora,updates{,-testing}} --requires chirp /usr/bin/python2 pygtk2 python(abi) = 2.7 python2-libxml2 python2-pyserial python2-suds python2dist(future) python2dist(pyserial) python2dist(suds-jurko) Before you proceed with the exception request, I ask that you filter this list and let me know what is only recommended. Than I ask you to talk to the package maintainers of the dependencies and ask them whether they are willing to maintain their Python 2 packages for chirp or give them to you. As a side note, it was recently unfortunately said by legal that Fedora packages cannot recommend stuff that is not packaged in Fedora (for that given release). In practice, one cannot recommend python2dist(future) in Fedora 32, if no package in Fedora 32 provides it. Hello Miro, thanks for info - it was usefull. I was not so much speaking about F32 - the future of python2 packages is clear and more than future is missing there. Let's hope that chirp will move to python3 before next release of Fedora. I was more talking about the current stable F31 ... dependencies there are already released and only thing missing there is python2dist(future). Removing /usr/lib/python2.7/site-packages/chirp/drivers/tk8180.py from the chirp package would suffice the python2 dependencies in F31 for now. Michal From my point of view, feel free to unretire chirp on Fedora 31, given you can make it installable. I honestly haven't dug into it that far. Are you saying that only one radio driver requires python-future? I had considered (and even attempted locally) of trying to beat chirp into Python 3 compatibility but it wasn't straightforward and I don't want to be responsible for bricking someones $1000 radio. (In reply to Richard Shaw from comment #17) > I honestly haven't dug into it that far. Are you saying that only one radio > driver requires python-future? Yes, that is what I said. According the "grep -R" the only module, which uses the "import future" or "from future import" is the tk8180.py dirver. Removing it will stop possibility to manage the tk8180 radio (one of cca 300 possible radios) > I had considered (and even attempted locally) of trying to beat chirp into > Python 3 compatibility but it wasn't straightforward and I don't want to be > responsible for bricking someones $1000 radio. I totally understand ... this will be tricky to test without the radios and even with them. It is paradox that using python-future aims to make this transition from pyton2 to python3 smother so it will be much easier to switch tk8180.py because it is already using modern python3 streams and byte-arrays, but we do not have that package now in Fedora. What a shame. Michal Ok, I verified that python-future is the only dependency we're missing. Miro, how do we unretire on f31 only? when you open the releng ticket, explicitly ask for f31 only. (In reply to Michal Ambroz from comment #18) > It is paradox that using python-future aims to make this transition from > pyton2 to python3 smother so it will be much easier to switch tk8180.py > because it is already using modern python3 streams and byte-arrays, but we > do not have that package now in Fedora. What a shame. Well, I have recommended to resurrect that package in Fedora 31: (Miro Hrončok in comment #6) > May I recommend to resurrect python2dist(future) for Fedora 31? However, nobody did that. The Python team have not asked for python2dist(future) to be removed at that point. It was done by the maintainer. Have you attempted to communicate with them? Your attitude about this, saying "What a shame" without looking into the thing is very demotivating. I always try to help you resolve your case, yet you seem to not miss any opportunity to demoralize. Submitted https://pagure.io/releng/issue/9085 Just to update everyone, almost there. I have updated the f31 branch and could commit changes but still can't do builds in koji just yet. FEDORA-2019-214df2629b has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-214df2629b chirp-20191206-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-214df2629b (In reply to Miro Hrončok from comment #21) > Your attitude about this, saying "What a shame" without looking into the thing is very > demotivating. > I always try to help you resolve your case, yet you seem to > not miss any opportunity to demoralize. Hello Miro, yes I should have used "pity" word rather than "shame". I am sorry if you took this comment personally as complain about your work and I publicly apologize to you if you understood it like that. You helped a lot with my python packages and I see you are helping with others like this one as well - thank you for that. As python2-future aim is to make the transition from python2 to python3 smooth, I believe that it would be beneficial for Fedora to keep this python2 library as long as we support the python2 runtime. @@sagitter@@ please can you bring some light to topic why the python2-future was dropped from F31+? For the tool/library making transition from python2 to python3 smother, wouldn't it make more sense to ask FESCO for exemption for that package to make the transition simpler? Having both python3-future and python2-future libraries installed gives python developers/users benefit of being able to simply run/switch/test the same code-base with both python2 _AND_ python3 runtime and ultimately allows transition to python3. Best regards Michal Ambroz > Having both python3-future and python2-future libraries installed gives python developers/users benefit of being able to simply run/switch/test the same code-base with both python2 _AND_ python3 runtime Which packages would this benefit? If it's a package in Fedora, there should be an exception for that package (and python2-future should be included, if needed). If it's for something not in Fedora, users should be able to install python2-future from pip (or wherever else they get their dependencies from). What am I missing? > ultimately allows transition to python3. How much more time are you talking about? If it's some finite amount of time, and there's actual progress toward the transition, let's talk. > @@sagitter@@ please can you bring some light to topic why the python2-future was dropped from F31+? Keeping a python2 package on F32 requires a FESCO exception. F31 was the right moment for a definitive transition. Do you still need python2-future on F31? > For the tool/library making transition from python2 to python3 smother, wouldn't it make more sense to ask FESCO for exemption for that package to make the transition simpler? FESCO exception is not for a simpler transition (transition is already happened) but for special/unavoidable dependencies. chirp-20191206-1.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report. |