Bug 593522

Summary: yum install obsoleted pkg. makes the install be of the wrong arch
Product: Red Hat Enterprise Linux 6 Reporter: James Antill <james.antill>
Component: yumAssignee: James Antill <james.antill>
Status: CLOSED CURRENTRELEASE QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: low Docs Contact:
Priority: low    
Version: 6.0CC: art-rh, borgan
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: yum-3.2.27-9.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 593349 Environment:
Last Closed: 2010-11-15 14:52:57 UTC Type: ---
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: 593349    
Bug Blocks:    

Description James Antill 2010-05-19 03:37:25 UTC
+++ This bug was initially created as a clone of Bug #593349 +++

Description of problem:

# yum install libgfortran43.x86_64
Loaded plugins: changelog, rhnplugin, security
Setting up Install Process
Package libgfortran43 is obsoleted by libgfortran44, trying to install libgfortran44-4.4.0-6.el5.i386 instead
Resolving Dependencies
--> Running transaction check
---> Package libgfortran44.i386 0:4.4.0-6.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package            Arch      Version           Repository                 Size
================================================================================
Installing:
 libgfortran44      i386      4.4.0-6.el5       rhel-x86_64-server-5      247 k

Transaction Summary
================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)


The result is that instead of getting the newer version for .x86_64, you get the newer version for i386.  Yum should have selected libgfortran44.x86_64 here, not only because the user explicitly specified .x86_64, but because the system is native x86_64.

--- Additional comment from svidal on 2010-05-18 11:20:15 EDT ---

can you run:

yum list libgfortran\*

and paste the output.

--- Additional comment from art-rh on 2010-05-18 13:17:36 EDT ---

The system in question has already got the problem fixed by explicitly installing libgfortran44.x86_64, so "yum list" won't be representative.
But from a different system where nothing has been done yet, it's replicable:

# yum list 'libgfortran*'
Installed Packages
libgfortran.x86_64                4.1.2-48.el5              installed           
Available Packages
libgfortran.i386                  4.1.2-48.el5              rhel-x86_64-server-5
libgfortran43.i386                4.3.2-7.el5               rhel-x86_64-server-5
libgfortran43.x86_64              4.3.2-7.el5               rhel-x86_64-server-5
libgfortran44.i386                4.4.0-6.el5               rhel-x86_64-server-5
libgfortran44.x86_64              4.4.0-6.el5               rhel-x86_64-server-5
# yum install libgfortran43.x86_64
Loaded plugins: changelog, rhnplugin, security
Setting up Install Process
Package libgfortran43 is obsoleted by libgfortran44, trying to install libgfortran44-4.4.0-6.el5.i386 instead
Resolving Dependencies
--> Running transaction check
---> Package libgfortran44.i386 0:4.4.0-6.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package            Arch      Version           Repository                 Size
================================================================================
Installing:
 libgfortran44      i386      4.4.0-6.el5       rhel-x86_64-server-5      247 k

Transaction Summary
================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 247 k
Is this ok [y/N]: n
Exiting on user Command
Complete!

--- Additional comment from svidal on 2010-05-18 13:21:11 EDT ---

Can you run the following command:

repoquery -q --obsoletes libgfortran44.x86_64
repoquery -q --obsoletes libgfortran44.i386

--- Additional comment from art-rh on 2010-05-18 13:43:17 EDT ---

[root@gvrsimeng01 sbin]# repoquery -q --obsoletes libgfortran44.x86_64
[root@gvrsimeng01 sbin]# repoquery -q --obsoletes libgfortran44.i386  
[root@gvrsimeng01 sbin]# repoquery -q --obsoletes libgfortran43.x86_64
[root@gvrsimeng01 sbin]# repoquery -q --obsoletes libgfortran43.i386  
[root@gvrsimeng01 sbin]#

--- Additional comment from svidal on 2010-05-18 13:59:03 EDT ---

right -sorry run:

repoquery --plugins -q --obsoletes libgfortran.x86_64

--- Additional comment from art-rh on 2010-05-18 15:12:53 EDT ---

[root@gvrsimeng01 sbin]# repoquery --plugins -q --obsoletes libgfortran.x86_64
libf2c

But presuming  you meant libgfortran44.x86_64:
[root@gvrsimeng01 sbin]# repoquery --plugins -q --obsoletes libgfortran44.x86_64 

libgfortran43

--- Additional comment from james.antill on 2010-05-18 15:38:02 EDT ---

Ok, I have an upstream testcase for this.

--- Additional comment from james.antill on 2010-05-18 17:32:27 EDT ---

We have upstream fixes now, both for this case and for if libgfortran33 was noarch.

I've marked this BZ to be considered for 5.6.

--- Additional comment from james.antill on 2010-05-18 23:36:46 EDT ---

 Now pushed, two commits are the testcases the other two the fixes:

commit 9a2fa66d899c8c2cd0a91d7dfc61a26cd01bc382
Author: James Antill <james>
Date:   Tue May 18 16:54:32 2010 -0400

    Fix obsoleting pkgs. from <install norach> to multilib. using archdistance

commit 594a58bb622bc171782e9d0ec2943070507a6c79
Author: James Antill <james>
Date:   Tue May 18 16:54:08 2010 -0400

    Now do the same testcase for noarch => multilib

commit 0408550d397b266840eb84e1c856ed8830586952
Author: James Antill <james>
Date:   Tue May 18 16:17:18 2010 -0400

    Fix for obsoleting pkgs. we are trying to install

commit bbddbbfc24156b17f263c4efea8ffece5595b1a6
Author: James Antill <james>
Date:   Tue May 18 15:19:54 2010 -0400

    Add testcase for obsoletes of to be installed pkgs. -- 593349

Comment 1 RHEL Program Management 2010-05-19 03:45:04 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.

Comment 3 releng-rhel@redhat.com 2010-11-15 14:52:57 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.