The "rpm -F" command may ignore architecture variants of packages in Red Hat Enterprise Linux 5 and 6

Solution Verified - Updated -

Issue

  • For packages with two different architectures of the same package installed, we can only freshen the first.  For example, freetype has two versions (i386 and x86_64).  If we freshen the first (rpm -Fv), we get an updated i386 version. However, a subsequent command (rpm -Fv) to freshen the second architecture returns immediately (no error, return code 0). However, if we freshen both in the same command, the expected results occur.
    In other words,
    rpm -Fv freetype-2.1.9-4.i386.rpm
    freetype-2.1.9-4.x86_64.rpmz
    

    works, but:

     rpm -Fv freetype-2.1.9-4.i386.rpm rpm -Fv
    freetype-2.1.9-4.x86_64.rpm 
    

    may not.

  • When you have two architectures of the same package and do an rpm -F of two newer versions in a single command, it succeeds. However, if you do one architecture at a time (i.e. in 2 separate commands), the first will succeed but the second may fail due to the architecture being ignored and only checking the version.
  • An RPM package for an architecture that's not currently installed gets added by an rpm -Fvh command (in addition to the correct architecture's RPM being freshened)

Environment

  • Red Hat Enterprise Linux 5 and 6
  • rpm-4.4.2.3-18.el5
  • rpm-4.8.0-12.el6

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content