Description of problem: # dnf update Last metadata expiration check: 1:48:31 ago on Sun 24 Sep 2017 08:33:42 AM +05. Dependencies resolved. Problem 1: cannot install both mariadb-common-3:10.2.8-4.fc28.x86_64 and mariadb-common-3:10.2.8-2.fc28.x86_64 - package mariadb-libs-3:10.2.8-2.fc28.x86_64 requires mariadb-common(x86-64) = 3:10.2.8-2.fc28, but none of the providers can be installed - cannot install the best update candidate for package mariadb-common-3:10.2.8-2.fc28.x86_64 - problem with installed package mariadb-libs-3:10.2.8-2.fc28.x86_64 Problem 2: cannot install both mariadb-common-3:10.2.8-4.fc28.x86_64 and mariadb-common-3:10.2.8-2.fc28.x86_64 - package mariadb-libs-3:10.2.8-2.fc28.x86_64 requires mariadb-common(x86-64) = 3:10.2.8-2.fc28, but none of the providers can be installed - package mariadb-3:10.2.8-4.fc28.x86_64 requires mariadb-common(x86-64) = 3:10.2.8-4.fc28, but none of the providers can be installed - cannot install the best update candidate for package mariadb-libs-3:10.2.8-2.fc28.x86_64 - cannot install the best update candidate for package mariadb-3:10.2.8-2.fc28.x86_64 =============================================================================== Package Arch Version Repository Size =============================================================================== Skipping packages with conflicts: (add '--best --allowerasing' to command line to force their upgrade): mariadb-common x86_64 3:10.2.8-4.fc28 rawhide 54 k Skipping packages with broken dependencies: mariadb x86_64 3:10.2.8-4.fc28 rawhide 6.7 M Transaction Summary =============================================================================== Skip 2 Packages Nothing to do. Complete!
Thanks for report, This is caused by a chnage in MariaDB packaging by me. I stopped builidng mariadb client library part in the "mariadb" package, which means - for example - that "mariadb-libs" are build no more. The exact same functionality is now provided by package called "mariadb-connector-c" There is a tracker for the change: https://bugzilla.redhat.com/show_bug.cgi?id=1486480 --- I'll look more into this issue. It will be probabbly needed to set some "Obsoletes:" tags around those packages in order to "DNF update" them smoothly.
Then, if mariadb-connector-c provides the mariadb-libs functionality, the new package should have 'mariadb-libs' artificial provide to have clean upgrade path.
Some docs: https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages
Thanks Pavel! So it will be something like this: # Provides mariadb-libs for DNF to make update smoothly # this provides should be removed in >=F29 %if 0%{?fedora} >= 29 #macros can't use '<=', only '>=' %else %if 0%{?__isa_bits} == 64 Provides: mariadb-libs%{?_isa} = 3:10.2.8-4.fc28 Provides: mysql-libs%{?_isa} = 3:10.2.8-4.fc28 Obsoletes: mariadb-libs%{?_isa} <= 3:10.2.8-3.fc28 Obsoletes: mysql-libs%{?_isa} <= 3:10.2.8-3.fc28 %else Provides: mariadb-libs = 3:10.2.8-4.fc28 Provides: mysql-libs = 3:10.2.8-4.fc28 Obsoletes: mariadb-libs <= 3:10.2.8-3.fc28 Obsoletes: mysql-libs <= 3:10.2.8-3.fc28 %endif # isa_bits %endif # f29 --- Can you please review it, Honza? (or Pavel, of course) ( Builds fine: https://koji.fedoraproject.org/koji/taskinfo?taskID=22073033 )
I'm not sure, but the "%if %_isa" dance shouldn't be needed, just use %_isa.. Also I don't think the expanded %release is necessary, simply use the version like 3:10.2.8
Sorry, release is needed -- just don't expand the %dist macro.
Ok, after short discussion: Provides: mariadb-libs = 3:10.2.8-4 Provides: mysql-libs = 3:10.2.8-4 Obsoletes: mariadb-libs <= 3:10.2.8-3 Obsoletes: mysql-libs <= 3:10.2.8-3 --- * The ".fc28" shouldn't be there * The "isa" stuff shouldn't be needed * The Provides / Obsoletes should be in all Fedoras --- However, I think better approchach would be to deal with this issue directly in MariaDB package - which I am doing now. %if %{without clibrary} Obsoletes: %{name}-libs%{?_isa} <= %{sameevr} %endif
This issue should be solved by the latest update in rawhide. It may be needed to use "--allowerasing" dnf option. Please test it and let me know.
mariadb-10.2.9-3.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-dff1218bfa
(In reply to Michal Schorm from comment #7) > Ok, after short discussion: > > Provides: mariadb-libs = 3:10.2.8-4 > Provides: mysql-libs = 3:10.2.8-4 > Obsoletes: mariadb-libs <= 3:10.2.8-3 > Obsoletes: mysql-libs <= 3:10.2.8-3 Semes to be fine. > %if %{without clibrary} > Obsoletes: %{name}-libs%{?_isa} <= %{sameevr} > %endif I did not read that far in comment #7 last time and reading now -- but this seems to be wrong (no point in using %_isa). Duplicate bug 1498956.
mariadb-10.2.9-3.fc27 has been pushed to the Fedora 27 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-2017-dff1218bfa
mariadb-10.2.9-3.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.