Bug 1525164

Summary: dnf installs .i686 package if .i686 package is already installed
Product: [Fedora] Fedora Reporter: Vitaly Lipatov <lav>
Component: dnfAssignee: rpm-software-management
Status: CLOSED NOTABUG QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dmach, mhatina, packaging-team-maint, rpm-software-management, vmukhame
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-13 12:12:02 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 Vitaly Lipatov 2017-12-12 17:06:17 UTC
Description of problem:

dnf install package with the same arch as already installed.

dnf-2.5.1-1.fc26.noarch

How reproducible:


Steps to Reproduce:
1.
# rpm -e --allmatches gpm-devel   
# rpm -e --allmatches gpm-devel
error: package gpm-devel is not installed

2.
# dnf install gpm-devel.i686
Installed:
  gpm-devel.i686 1.20.7-10.fc26

3.
# dnf install gpm-devel
Package gpm-devel-1.20.7-10.fc26.i686 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!


Expected results:
# dnf install gpm-devel
Installed:
  gpm-devel.x86_64 1.20.7-10.fc26 


Additional info:

yum does correct resolution here.

Comment 1 Daniel Mach 2017-12-13 12:12:02 UTC
This is expected behavior.
It is also expected to be different to YUM.

Dependency resolver (libsolv) has the dependency ('gpm-devel') satisfied with an installed package ('gpm-devel.i686'). If a user wants something more specific, he needs to provide more details in the input, for example gpm-devel.x86_64.

Comment 2 Vitaly Lipatov 2017-12-13 12:22:06 UTC
Thanks you for the comment. I see.

As for me, it is broken design when libsolv depends on arch of already installed package.