Bug 2172288

Summary: dnf history undo fails with " - libpq-13.5-1.el8.i686 has inferior architecture"
Product: Red Hat Enterprise Linux 8 Reporter: jcastran
Component: libsolvAssignee: amatej
Status: VERIFIED --- QA Contact: swm-qe
Severity: high Docs Contact:
Priority: medium    
Version: 8.7CC: egoode, jkolarik, jrohel, mbanas, tbajer
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libsolv-0.7.20-6.el8 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of:
: 2172292 (view as bug list) Environment:
Last Closed: 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:
Bug Depends On:    
Bug Blocks: 2172292    

Description jcastran 2023-02-21 21:06:31 UTC
Description of problem:
When the .i686 arch of a multilib package is installed first, you can not undo the later transaction which installed the .x86_64 variant.


Version-Release number of selected component (if applicable):
[root@r8 repo]# rpm -q dnf libsolv
dnf-4.7.0-11.el8.noarch
libsolv-0.7.20-4.el8_7.x86_64

How reproducible:
Everytime

Steps to Reproduce:
1. Do not have libpq installed
2. # yum -y install libpq.i686
3. # yum -y install libpq
4. # yum history undo last      ##This should undo the libpq.x86_64 transaction

Actual results:
Error:
 Problem: problem with installed package libpq-13.5-1.el8.i686
  - libpq-13.5-1.el8.i686 has inferior architecture
  - conflicting requests
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)


Expected results:
Since we could install libpq.i686 without .x86_64 in the first place, theres no reason we can't undo the transaction with .x86_64 in it.

Additional info:

Comment 1 Evan Goode 2023-02-27 13:51:29 UTC
Note: I needed to change step 3 to:
3. # yum -y install libpq.x86_64
to reproduce on Fedora 37.

Comment 4 Jaroslav Mracek 2023-03-21 13:51:52 UTC
I've created an issue on libsolv (https://github.com/openSUSE/libsolv/issues/525). The issue contains reproducer using libsolv testcase.