Description of problem: Fails: % rpm -Fvh *.rpm warning: package glibc = 2.3.4-10 was already added, skipping glibc < 2.3.4-10 error: error reading from file glibc-2.3.4-10.i686.rpm Works (no i386.rpm in the list): rpm -Fvh glibc-2.3.4-10.i686.rpm glibc-common-2.3.4-10.i386.rpm glibc-devel-2.3.4-10.i386.rpm glibc-headers-2.3.4-10.i386.rpm glibc-profile-2.3.4-10.i386.rpm glibc-utils-2.3.4-10.i386.rpm nptl-devel-2.3.4-10.i686.rpm nscd-2.3.4-10.i386.rpm Version-Release number of selected component (if applicable): rpm-4.4.1-0.22.i386 How reproducible: Looks like always Steps to Reproduce: 1. make sure there's a few files that need to be refreshened with different architectures (say, i386, i686) 2. rpm -Fvh *.rpm Actual results: Fails Expected results: Shouldn't fail, this has worked since a long time :)
Heh, "worked since a long time" is not at all the same thing as correct. Several flaws have been fixed in rpm-4.4.1 to exclude user/application errors seloecting packages, choosing the latest package of the same name and arch in rpmtsAddInstallElement(). --freshen is a very differnt problem case, and is broken in several ways (i.e. epoch is not looked at, multilib choices are not attempted, +/-NPTL wrto glibc not attempted). I'd suggest using more specific input to rpm by doing ls -1 *.rpm and filtering the package list appropriately. Your final list can be fed firectly to rpm as rpm -Fvh manifest rather than the splat you've been using.