Bug 642796
Summary: | curl update breaks yum | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Michal Jaegermann <michal> | ||||
Component: | curl | Assignee: | Kamil Dudka <kdudka> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | low | ||||||
Version: | rawhide | CC: | kdudka, mclasen, paul | ||||
Target Milestone: | --- | Keywords: | Reopened | ||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | curl-7.21.0-6.fc14 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | |||||||
: | 741935 (view as bug list) | Environment: | |||||
Last Closed: | 2010-11-28 20:41:54 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: | 741935 | ||||||
Attachments: |
|
Description
Michal Jaegermann
2010-10-13 20:29:11 UTC
Thanks for reporting it here. What's your version of libssh2? (In reply to comment #1) > What's your version of libssh2? libssh2-1.2.4-1.fc14. This is rawhide with 20101013 updates. Oops! I see that I copied a wrong log line. A working version of libcurl is libcurl-7.21.1-6.fc15 You need to update libssh2 first. If it does not solve the problem, please reopen this bug. Otherwise, there is nothing to fix in (lib)curl packages. (In reply to comment #3) > You need to update libssh2 first. If it does not solve the problem, please > reopen this bug. Otherwise, there is nothing to fix in (lib)curl packages. How about adding proper dependencies on the libssh2 version that you depend on ? (In reply to comment #3) > You need to update libssh2 first. So how about ensuring that this "first" really happens? Otherwise you have a situation like now when curl packages are already updated and one need to fish in koji to repair the damage. I am just following the packaging guidelines [1]: "Packages must not contain explicit Requires on libraries except when absolutely necessary." Do you consider it "absolutely necessary" in this case? From my point of view, it's just a regular rawhide breakage, which is expected to happen. It does not affect the build system, neither fresh installations of rawhide Fedora. [1] http://fedoraproject.org/wiki/Packaging/Guidelines#Explicit_Requires (In reply to comment #6) > I am just following the packaging guidelines [1]: "Packages must not contain > explicit Requires on libraries except when absolutely necessary." Do they have to be explicit in this case? It seems to me that there were some ABI changes, or otherwise you would not complain about "undefined symbol" which apparently is provided elsewhere, but soname was not touched. I am possibly missing something. > From my point of view, it's just a regular rawhide breakage, A rawhide is rawhide. Agreed. Only if something of that sort would happen during release updates (not unthinkable with a little help from bodhi even if you had all updates in 'testing') then you would end up with a crowd of quite unhappy users most quite baffled with how to recover. ABI changes means a symbol was added only in this case. That's not enough reason to bump SONAME. The configure script of curl detects the new function is available during build of curl and starts to use it. 1) We can require libssh2 >= 1.2.6 that introduced the symbol (or 1.2.7 as 1.2.6 has never been built for Fedora). Then we can no more build the rawhide curl package against stable Fedora releases. 2) We can bump the libssh2 SONAME in Fedora packages and let rpmbuild to do its job and introduce the dependency automatically. That may sooner or later clash with the upstream SO versioning. 3) We can leave the package as is, since rawhide users are skilled enough to get over the problem. 4) We can introduce some rpm magic that adds the explicit requires only when really necessary (only when libssh2_scp_send64 is used by libcurl). I am not sure if this is ever possible. Paul, what's your position on the issue? Created attachment 453445 [details] Enforce versioned libssh2 dependency for libcurl This is not the first time this problem has occurred (see also Bug #525002), so I prefer a more generic solution to prevent it happening again. I propose adding a versioned dependency in libcurl for the version of libssh2 that it was built against. This ensures that any symbols available at build-time will also be available at run-time. It also allows the Rawhide SRPM to be usefully rebuilt on older releases, as the resulting package will have a dependency reflecting the version of libssh2 available in the release it was built for. In fact, this could be further improved by using libssh2%{?_isa} rather than plain libssh2 so we ensure we get the right-arch version of libssh2. Comment on attachment 453445 [details]
Enforce versioned libssh2 dependency for libcurl
Looks good to me. You're welcome to push.
Should be fixed in curl-7.21.2-2.fc15 curl-7.21.0-6.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/curl-7.21.0-6.fc14 curl-7.21.0-6.fc14 has been pushed to the Fedora 14 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update curl'. You can provide feedback for this update here: https://admin.fedoraproject.org/updates/curl-7.21.0-6.fc14 curl-7.21.0-6.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report. |