Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1691038 - dnf --best --allowerasing doesn't remove unvailable packages [NEEDINFO]
Summary: dnf --best --allowerasing doesn't remove unvailable packages
Alias: None
Product: Fedora
Classification: Fedora
Component: dnf
Version: 29
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Jaroslav Mracek
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2019-03-20 17:13 UTC by Philippe Troin
Modified: 2019-03-21 15:58 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2019-03-21 15:58:02 UTC
jmracek: needinfo? (phil)

Attachments (Terms of Use)

Description Philippe Troin 2019-03-20 17:13:12 UTC
Description of problem:
When a i686 package is available in fedora, but later builds in updates are not including a i686 package, dnf is unable to remove the i686, even if --best --allowerasing is specified.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Pre-requisite: install both i686 and x86_64 cmake packages:
# rpm -qa cmake

2. # dnf --best --allowerasing --skip-broken upgrade         
Last metadata expiration check: 0:01:21 ago on Wed Mar 20 10:10:27 2019.
 Problem: problem with installed package cmake-3.12.1-1.fc29.i686
  - cannot install the best update candidate for package cmake-3.12.1-1.fc29.i686
  - cmake-3.12.1-1.fc29.i686 has inferior architecture
  - cannot install both cmake-3.14.0-1.fc29.x86_64 and cmake-3.12.1-1.fc29.x86_64
  - cannot install both cmake-3.12.1-1.fc29.x86_64 and cmake-3.14.0-1.fc29.x86_64
  - problem with installed package cmake-3.12.1-1.fc29.x86_64
  - cannot install the best update candidate for package cmake-3.12.1-1.fc29.x86_64

Actual results:
dnf bailed out.

Expected results:
dnf should uninstall the now-unavailable cmake.i686 and proceed.

Comment 1 Jaroslav Mracek 2019-03-20 18:35:02 UTC
I am sorry but I cannot reproduce your issue (see bellow). Even the command "dnf --best --allowerasing --skip-broken upgrade" works according your expected result. Please could you provide a debugsolver data (run the update command with --debugsolver option)

$ rpm -q cmake dnf libsolv libdnf

$ sudo dnf upgrade cmake --allowerasing --best  
Last metadata expiration check: 0:14:04 ago on Wed 20 Mar 2019 07:12:49 PM CET.
Dependencies resolved.
 Package                      Architecture       Version                   Repository           Size
 cmake                        x86_64             3.14.0-1.fc29             updates             7.7 M
 cmake-data                   noarch             3.14.0-1.fc29             updates             1.4 M
 cmake-filesystem             i686               3.14.0-1.fc29             updates              16 k
 cmake-filesystem             x86_64             3.14.0-1.fc29             updates              16 k
 cmake-rpm-macros             noarch             3.14.0-1.fc29             updates              15 k
Removing dependent packages:
 cmake                        i686               3.12.1-1.fc29             @fedora              25 M

Transaction Summary
Upgrade  5 Packages
Remove   1 Package

Total download size: 9.1 M
Is this ok [y/N]:

Comment 2 Philippe Troin 2019-03-21 15:47:48 UTC
I can't reproduce it either anymore, even with a 'dnf history rollback' to where my system was at the time of the upgrade.
I'm pretty sure that was an actual bug as I had to remove the cmake.i686 package manually on several machines configured with the same package set.
I'll capture --debugsolver next time the problem occurs.
In the meantime, you can probably close this bug.

Comment 3 Jaroslav Mracek 2019-03-21 15:58:02 UTC
Thanks for the report, but due to missing reproducer or additional data closing it.

Note You need to log in before you can comment on or make changes to this bug.