Bug 1117432
| Summary: | split qrcode funnctionality out to a optional package | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Peter Robinson <pbrobinson> |
| Component: | python-qrcode | Assignee: | Nathaniel McCallum <npmccallum> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | abokovoy, awilliam, michel, mkosek, npmccallum, pviktori, pvoborni, rcritten, sgallagh, ssorce, tomspur |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | freeipa-4.0.3-1.fc21 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-09-27 09:56:56 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: | |||
|
Description
Peter Robinson
2014-07-08 16:58:49 UTC
Upstream ticket: https://fedorahosted.org/freeipa/ticket/4430 It might be worthwhile splitting the freeipa-python package into client/server/common if the qrcode bits aren't needed for freeipa-client to make the dependencies more granular The QR code is generated on the client side, so splitting out server packages won't work. python-pillow has dependency on the image libraries; and newly it pulls in libX11 as well. Maybe there should be a python-qrcode-headless... (In reply to Petr Viktorin from comment #3) > The QR code is generated on the client side, so splitting out server > packages won't work. How is that expected to work on a server platform without any form of means of displaying images such as via ssh, text console or serial console? It prints out the QR code to the console. http://i.imgur.com/OEpdyT8.png (In reply to Petr Viktorin from comment #5) > It prints out the QR code to the console. OK, cool, it would be useful to have this as optional. A lot of user (I work in RH GPS) won't use this functionality and won't want the unnecessary associated dependencies. I agree with Petr's assessment that this is actually a bug for python-qrcode being more modular. The image generators that python-qrcode ships are actually never used by FreeIPA. These are what drag in the dependencies. python-qrcode provides three backends by default: * pil * pure (pymaging) * svg The PIL backend is the default (see https://github.com/lincolnloop/python-qrcode/blob/master/qrcode/main.py#L251). Both pil and pure require external dependencies. The svg backend, however, only requires external dependencies on python < 2.7. I propose we begin a discussion with upstream about changing the default backend to svg. This would allow us to split out the pil and pure modules as plugins (python-qrcode-pil, python-qrcode-pure). This would reduce dependencies on the core python-qrcode package. Alternatively, we could make a python-qrcode-core package. Proposed as a Freeze Exception for 21-alpha by Fedora user sgallagh using the blocker tracking app because: This unfortunate dependency causes a large number of python dependencies as well as X dependencies to be pulled into the Server DVD and default installation. A fix is ready for python-qrcode and freeipa-server to reduce these dependencies significantly, thus saving space both on the install media and the installed system. This is proposed as a Freeze Exception because it is difficult on an end-user to remove excess packages after the installation. Discussed at 2014-09-10 freeze exception review meeting: http://meetbot.fedoraproject.org/fedora-blocker-review/2014-09-10/f21-blocker-review.2014-09-10-16.07.log.txt . Accepted as a freeze exception issue, as we want to avoid the large bloat in the Server image and default install. python-qrcode-5.0.1-1.fc21, freeipa-4.0.3-1.fc21, 389-ds-base-1.3.3.3-1.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/FEDORA-2014-10811/389-ds-base-1.3.3.3-1.fc21,python-qrcode-5.0.1-1.fc21,freeipa-4.0.3-1.fc21 I'm withdrawing the Freeze Exception request here. This was made under the expectation that we'd be performing a trivial rebuild of the FreeIPA packages to include this single dependency change. However, instead of that, FreeIPA made numerous changes (including a rebase to 4.0.3 that included changes to a number of other packages including 389 and Dogtag). As a result, this change is now too risky to go into Alpha at this late stage. It should continue to go through the Bodhi process and should be tested and submitted for stable in time for Fedora 21 Beta. I personally would not recommend running image based on FreeIPA 4.0.2 if this being discussed - there were several major issues related to upgrade and use of 389 1.3.3.x. There are so far no known major issues in 4.0.3 and it's depedencies (AFAIK). Maybe except potentially flawed python-qrcode packaging tracked here: https://fedorahosted.org/freeipa/ticket/4539 mkosek: as things stand, Alpha will have 389 1.3.2.x and IPA 4.0.2, which I think is a working combination. So long as the IPA and 389 updates to 1.3.3 and 4.0.3 go out together - which they are, at present - I don't think there should be a problem. Package freeipa-4.0.3-1.fc21, 389-ds-base-1.3.3.3-1.fc21, python-qrcode-5.0.1-2.fc21: * should fix your issue, * was pushed to the Fedora 21 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing freeipa-4.0.3-1.fc21 389-ds-base-1.3.3.3-1.fc21 python-qrcode-5.0.1-2.fc21' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-10811/389-ds-base-1.3.3.3-1.fc21,python-qrcode-5.0.1-2.fc21,freeipa-4.0.3-1.fc21 then log in and leave karma (feedback). freeipa-4.0.3-1.fc21, 389-ds-base-1.3.3.3-1.fc21, python-qrcode-5.0.1-2.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report. |