Bug 193987
Summary: | Cups upgrade for x86_64 is broken | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Nicola <ivololeribar> |
Component: | cups | Assignee: | Tim Waugh <twaugh> |
Status: | CLOSED ERRATA | QA Contact: | |
Severity: | high | Docs Contact: | |
Priority: | medium | ||
Version: | 5 | CC: | paulway |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | 1.2.1-1.7 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2006-06-20 09:54:10 UTC | Type: | --- |
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: | 150223 |
Description
Nicola
2006-06-03 23:10:45 UTC
No, this is the correct place. They are executables, not libraries, and so do not need to be in lib64. In point of fact, I asked the upstream maintainer, Michael Sweet from cups.org, about this issue, and whether /usr/libexec would be a better place -- his response was that it would, if the various standards actually agreed on whether it should exist. Mike requested that our packages use the same locations as the unpatched cups software: /usr/lib/cups/*. All the executables were in the same /usr/lib64/cups place, including the former cups-1.1.23-30.2.x86_64. Now with the latest version someone decided to put cups instead in /usr/lib/cups thus breaking some functionality, as I've written. In /usr/lib/cups/filter there are several filters compiled for x86_64, its location is illogical at least. Breaking functionality is always a bad thing. The "corrected" package should always issue a warning after such a drastic change, and should copy the existing filters to the new location. What will happen to non experienced users when they discover their printer won't work anymore? Please try this test update: https://www.redhat.com/archives/fedora-test-list/2006-June/msg00081.html You should be able to fetch it using this command, as root: yum --enablerepo=updates-testing update 'cups*' There are two other problems with this change: Firstly, cups still (AFAICT) looks in /usr/lib64/cups/backend for the drivers, despite them being in /usr/lib/cups/backend. I can symlink the latter into the former and get printing working, but this is still broken as designed. Secondly, shouldn't 'executables' be in something like '/usr/share/cups/backend' rather than '/usr/lib' at all? Isn't this patch just a very hasty, badly-made decision overall? 1. No, it only looks in /usr/lib64/cups/backend if the sought backend is not present in the correct directory, /usr/lib/cups/backend. At least, that's the idea -- are you seeing different behaviour than I am? 2. Executables should certainly not be in /usr/share, which might be shared across different architectures! No, /usr/lib is perfectly fine for executables (libraries would be a different matter!). My first choice would be /usr/libexec (which is probably what you mean rather than /usr/share?), but in the interests of compatibility with other distributions -- and the availability of future 3rd party drivers to all distributions -- we will follow the upstream decision here. 1) It was in 1.2.1-1.2, but in 1.2.1-1.7 (which I upgraded to today) it's fixed AFAICS. 2) OK, /usr/bin/cups/backend then. I'm no distro lawyer, but /usr/lib is for libraries IMNSHO :-) 3) I need to submit a bug on bugzilla to stop it wrapping lines so stupidly! Regarding (2): really, /usr/lib is the best place to fit within the upstream constraints. The point really is to make sure we are compatible with other distributions for 3rd party drivers, and we do that by following the upstream behaviour. By all means talk to the upstream CUPS developers to get them to use /usr/libexec instead; as I mentioned earlier, I already tried this myself. Thanks for testing. |