Bug 472065

Summary: rpm packages for different architecture can be installed without warnings on x86_64
Product: Red Hat Enterprise Linux 5 Reporter: Takahiro Yasui <tyasui>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED ERRATA QA Contact: Petr Sklenar <psklenar>
Severity: low Docs Contact:
Priority: medium    
Version: 5.3CC: bperkins, lwang, masaki.kimura.kz, noboru.obata.ar, saguchi, takahiro.yasui.mp
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-09-02 11:40:39 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:

Description Takahiro Yasui 2008-11-18 16:00:10 UTC
Description of problem:
  rpm packages for different architectures can be installed without any
  warning messages on x86_64 architecture.

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

How reproducible:
  install i686 kernel by rpm command on x86_64 based system.

Actual results:

# uname -mr
2.6.18-92.el5 x86_64
# rpm -ivh kernel-2.6.18-120.el5.i686.rpm 
Preparing...                ########################################### [100%]
   1:kernel                 ########################################### [100%]
# 

Expected results:

rpm command should display warning messages and stop installing the package.
This is a expected result on i686 system.

# uname -mr
2.6.28-rc4-dm i686
# rpm -ivh kernel-2.6.18-120.el5.x86_64.rpm 
Preparing...                ########################################### [100%]
	package kernel-2.6.18-120.el5 is intended for a x86_64 architecture
	installing package kernel-2.6.18-120.el5 needs 45MB on the / filesystem

Additional info:
  - I tried to install other packages on x86_64 and saw the same problem.
  - ia64 packages can be also installed without any warnings.

Comment 1 Takahiro Yasui 2008-11-18 21:54:27 UTC
Additional info:
  I tried one ppc package, and it also succeeded.

# rpm -ivh tftp-0.42-3.1.ppc.rpm
warning: tftp-0.42-3.1.ppc.rpm: Header V3 DSA signature: NOKEY, key ID 897da07a
Preparing...                ########################################### [100%]
   1:tftp                   ########################################### [100%]
#

Comment 2 Panu Matilainen 2008-11-19 06:47:59 UTC
Yup, rpm 4.4.x skips architecture checks when transaction color is non-zero, ie on multilib systems, supposedly on purpose. Not that it makes a whole lot of sense, lets see if we can get this fixed for 5.4.

Note that there's nothing wrong with installing i686 packages, including the kernel, on x86_64: the hardware can run on 32bit kernel just fine. Of course on otherwise 64bit system, trying to boot with 32bit kernel wont get very far as it cannot run with 64bit userspace but that's another story.

Comment 3 Takahiro Yasui 2008-11-19 23:22:48 UTC
(In reply to comment #2)
> Yup, rpm 4.4.x skips architecture checks when transaction color is non-zero, ie
> on multilib systems, supposedly on purpose. Not that it makes a whole lot of
> sense, lets see if we can get this fixed for 5.4.

I understand that 32bit x86 packages need to be installed on 64bit system,
but I hope that other architectures other than 32bit x86 can not be installed.
Fixing this problem in 5.4 is fine for me.

> Note that there's nothing wrong with installing i686 packages, including the
> kernel, on x86_64: the hardware can run on 32bit kernel just fine. Of course on
> otherwise 64bit system, trying to boot with 32bit kernel wont get very far as
> it cannot run with 64bit userspace but that's another story.

Let me confirm if you mean that 32bit x86 kernel should be installed and run
on x86_64 based system. If it is correct, I need to reopen bz#471647.

Comment 4 Panu Matilainen 2008-11-22 13:26:13 UTC
32bit x86 kernel can be installed and will boot on x86_64 but it requires the rest of the system to be 32bit too to work, 32bit kernel cannot run 64bit executables which is what bug 471647 appears to be about.

Comment 5 Takahiro Yasui 2008-11-25 17:56:41 UTC
(In reply to comment #4)
I see. But dependency checking by rpm command or warning messages are helpful
to users and they can prevent this kind of trouble.

Comment 8 Petr Sklenar 2009-07-03 13:38:24 UTC
tests on x8664 passed:
old: rpm from rhel53
new: rpm-4.4.2.3-15.el5


testing procedure on x8664:
kernel.i386
OLD: it can be installed
NEW: it can be installed

tftp
OLD: i386+ppc+s390. all can be installed
NEW: ppc,s390 = writes "is intended for a ppc architecture"
i386 - it can be installed


# uname -a
Linux dell-pe1420-01.rhts.bos.redhat.com 2.6.18-155.el5 #1 SMP Fri Jun 19 17:06:31 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

# rpm -q rpm
rpm-4.4.2.3-15.el5

# rpm -ivh /mnt/redhat/brewroot/packages/kernel/2.6.18/156.el5/i686/kernel-2.6.18-156.el5.i686.rpm 
Preparing...                ########################################### [100%]
   1:kernel                 ########################################### [100%]

>>>> kernel.i386 is installed successfully on x8664

# rpm -ivh /mnt/redhat/brewroot/packages/tftp/0.42/3.1/ppc/tftp-0.42-3.1.ppc.rpm 
warning: /mnt/redhat/brewroot/packages/tftp/0.42/3.1/ppc/tftp-0.42-3.1.ppc.rpm: Header V3 DSA signature: NOKEY, key ID 897da07a
Preparing...                ########################################### [100%]
	package tftp-0.42-3.1.ppc is intended for a ppc architecture


/// I will try and write rhts test for all arch with its variant later

Comment 13 errata-xmlrpc 2009-09-02 11:40:39 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2009-1371.html