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 1310441
Summary: | sqlite.i686 dnf dependency error: update missing from Fedora 23 x86_64 "updates" repo | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Steve Bryant <stephenbryant> |
Component: | sqlite | Assignee: | Nils Philippsen <nphilipp> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 23 | CC: | amedeo.salvati, anoopcs, antonin.vecera, bodhi.zazen, danielsun3164, fschwarz, greartes, jbwillia, jstanek, kai, kyrimis, michal.jnn, nphilipp, puntogil, rdieter, sudhir, wilmer5 |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | sqlite-3.11.0-2.fc23 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2016-02-26 19:21:47 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
Steve Bryant
2016-02-21 15:59:30 UTC
In "Description of problem", should end with: "However sqlite-libs-3.11.0-1.fc23.i686 is there ..." (I.e. latest version of sqlite-libs.i686 package is in "updates" repo) I've looked at the spec file of sqlite and found this: There are no Obsoletes/Conflicts which take care of removing the old sqlite.i686 version when updating. Adding "Obsoletes/Conflicts: sqlite < $version_where_the_split_happened" to both the main package and the -libs subpackage should do the trick: sqlite(old) is obsoleted by sqlite(new) and sqlite-libs(new), and the packages that need sqlite-libs.i686 should cause it to be pulled into the transaction. Additionally, the -devel requires -libs without specifying the architecture. This lets people install the 32bit -devel package without the matching 32 bit -libs package. Do you want me to fix and build this? (In reply to Steve Bryant from comment #0) > ============================================================================= > Skipping packages with conflicts: > (add '--best --allowerasing' to command line to force their upgrade): > sqlite x86_64 3.11.0-1.fc23 updates 484 k > sqlite-libs i686 3.11.0-1.fc23 updates 463 k > sqlite-libs x86_64 3.11.0-1.fc23 updates 449 k > > Transaction Summary > ============================================================================= > Skip 3 Packages > > Nothing to do. > Complete! See also bug 1310525. Even with downloaded relevant packages if one tries: dnf --allowerasing --best install ./sqlite*.rpm then this bumps into Error: Transaction check error: file /usr/lib/libsqlite3.so.0.8.6 from install of sqlite-libs-3.11.0-1.fc23.i686 conflicts with file from package sqlite-3.10.2-1.fc23.i686 With yum there was an access to yum-shell which allowed to construct a transaction which would erase an obsoleted package while installing replacements at the same time. Unfortunately what dnf provides here is inadequate. AFAICS the only thing one can do at this moment is: rpm -e --nodeps sqlite-3.10.2-1.fc23.i686 dnf --best install ./sqlite*.rpm with previously downloaded replacement packages. This works and a resulting installation has dependencies satisfied. If there is a way to fix this for dnf without messing up i686 installations in the proces I have no idea. Does not seem to be obvious to me. "Easiest" workaround for me was to download the "i686" RPM from the i686 repository and include it on the "dnf upgrade" command: # dnf upgrade ./sqlite-3.11.0-1.fc23.i686.rpm sqlite Last metadata expiration check performed 0:03:15 ago on Tue Feb 23 09:52:43 2016. Dependencies resolved. =============================================================================== Package Arch Version Repository Size =============================================================================== Installing: sqlite-libs i686 3.11.0-1.fc23 updates 463 k sqlite-libs x86_64 3.11.0-1.fc23 updates 449 k Upgrading: sqlite i686 3.11.0-1.fc23 @commandline 495 k sqlite x86_64 3.11.0-1.fc23 updates 484 k Transaction Summary =============================================================================== Install 2 Packages Upgrade 2 Packages Total size: 1.8 M Total download size: 484 k Is this ok [y/N]: y Downloading Packages: [ . . . ] Installed: sqlite-libs.i686 3.11.0-1.fc23 sqlite-libs.x86_64 3.11.0-1.fc23 Upgraded: sqlite.i686 3.11.0-1.fc23 sqlite.x86_64 3.11.0-1.fc23 Complete! After upgrading with the manually-downloaded RPM as above, I was able to remove this package without requiring other packages to be erased, so it looks like the suggestion to "Obsoletes" approach may be the way: # dnf erase sqlite.i686 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Removing: sqlite i686 3.11.0-1.fc23 @@commandline 957 k Transaction Summary ================================================================================ Remove 1 Package Installed size: 957 k Is this ok [y/N]: y Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Erasing : sqlite-3.11.0-1.fc23.i686 1/1 Verifying : sqlite-3.11.0-1.fc23.i686 1/1 Removed: sqlite.i686 3.11.0-1.fc23 Complete! I've implemented the changes outlined in comment #2 and kicked off builds for f22, f23, Rawhide. *** Bug 1310913 has been marked as a duplicate of this bug. *** *** Bug 1310525 has been marked as a duplicate of this bug. *** this doesnt appear to be multilib only issue http://paste.fedoraproject.org/327818/14562390/ spatialite-tools-4.2.0-20.fc22 sqlite-3.11.0-2.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2016-b37af739e7 spatialite-tools-4.2.0-20.fc22 sqlite-3.11.0-2.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2016-b37af739e7 sqlite-3.11.0-2.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-850f410498 nphillip: Thanks for the builds, I was off during the push. *** Bug 1311296 has been marked as a duplicate of this bug. *** *** Bug 1311639 has been marked as a duplicate of this bug. *** spatialite-tools-4.2.0-20.fc22, sqlite-3.11.0-2.fc22 has been pushed to the Fedora 22 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-2016-b37af739e7 *** Bug 1312014 has been marked as a duplicate of this bug. *** sqlite-3.11.0-2.fc23 has been pushed to the Fedora 23 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-2016-850f410498 sqlite-3.11.0-2.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report. Something is strange with the new update. "dnf clean all ; dnf update" skipped updating sqlite.i686 to 3.11.0-2, because of broken dependencies. A second "dnf update", however, said that there was nothing to do. Is this an artifact of the sqlite libraries moving to the sqlite-libs package? If so, should there still be an sqlite-31.11.0-2.i686 package in the x86_64 updates? Comment #20 I saw that too, and I think it's a dnf quirk/bug. Indeed earlier in the transation you'll see sqlite-libs.x86_64 replacing sqlite.i686 sqlite.x86_64 so strictly speaking, sqlite.i686 isn't being skipped *** Bug 1311637 has been marked as a duplicate of this bug. *** sqlite-3.11.0-2.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2016-b37af739e7 |