Bug 1231381
Summary: | python-urllib3: requirement of ssl_match_hostname is no longer needed since Python 2.7.9 | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Carl George <carl> | ||||
Component: | python-urllib3 | Assignee: | Ralph Bean <rbean> | ||||
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 22 | CC: | carl, rbean, sagarun | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | 1.10.4-5.20150503gita91975b.fc23 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2015-09-18 20:51:03 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: | 1229409 | ||||||
Attachments: |
|
Description
Carl George
2015-06-12 21:44:39 UTC
Created attachment 1058893 [details]
unbundle libraries from urllib3
Here is my attempt at an unbundling patch. It does require some changes to the spec file.
* apply the patch, of course
* add a line to delete urllib3/packages during %prep
* remove all the manipulation of the packages directory and files during %install and %check (deleting individual files, symlinks, copying, etc.)
I have a working spec file that updates it to 1.11 as well. The only other change I had to make was to always apply Patch100, because otherwise I get the error:
No handlers could be found for logger "nose.plugins.cover"
Can I get feedback on this proposed change? I would like to see this change made in time for F23. For convenience, here is the completed spec file and new patches. It builds successfully in mock. https://carlgeorge.fedorapeople.org/python-urllib3/python-urllib3.spec https://carlgeorge.fedorapeople.org/python-urllib3/python-urllib3-unbundle-import-fixes.patch https://carlgeorge.fedorapeople.org/python-urllib3/python-urllib3-skip-test_no_ssl.patch (In reply to Carl George from comment #2) > Can I get feedback on this proposed change? I would like to see this change > made in time for F23. For convenience, here is the completed spec file and > new patches. It builds successfully in mock. Carl, thank you for working on this. I'm so sorry I let this languish for so long without responding. It's been a busy summer. (In reply to Carl George from comment #0) > Fedora currently deletes the entire packages directory (including the shim) > [3] and sets up symlinks to the system backports.ssl_match_hostname module > [4]. I think a better solution would be to fix the imports throughout the > rest of the code to just simply point to the system standard library ssl > module. That's the way we originally did it with both python-requests and python-urllib3, but upstream was quite unfriendly to the idea of us applying patches and changing their imports. Although I can't see how it would be the case with python-six, some people are using other code that is manipulating the bundled packages at runtime (monkey-patching), and when we swapped out the imports, their monkey-patches stopped working. We finally came to an agreement with upstream that symlinking would be best for them.. and it in turn ends up being nice for the package maintainer as well. Everytime they do a new release, we don't have to rebase our patches of their import statements -- the symlinks just do the work. https://twitter.com/sigmavirus24/status/529816751651819520 I'm friendly to making the ssl swap on F22 and greater, but if we could do it with symlinks alone, that would be preferred. Perhaps we can replace the urllib3/packages/ssl_match_hostname.py module with a symlink to the stdlib ssl module. While a little dishonest (it's more than just the match_hostname module), it seems like everything else should still work. I'll ping upstream on this to see if they have an opinion. Notified upstream: https://github.com/shazow/urllib3/issues/702 python-urllib3-1.10.4-5.20150503gita91975b.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-15377 python-urllib3-1.10.4-5.20150503gita91975b.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2015-15378 python-urllib3-1.10.4-5.20150503gita91975b.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update python-urllib3'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-15378 python-urllib3-1.10.4-5.20150503gita91975b.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update python-urllib3'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-15377 python-urllib3-1.10.4-5.20150503gita91975b.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report. python-urllib3-1.10.4-5.20150503gita91975b.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report. |