Bug 220348

Summary: rpm seems to have bogus multilib optimization
Product: Red Hat Enterprise Linux 5 Reporter: Bastien Nocera <bnocera>
Component: rpmAssignee: Peter Jones <pjones>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 5.0CC: mclasen
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: RHBA-2007-0620 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-11-07 17:28:18 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: 214737    
Bug Blocks:    

Description Bastien Nocera 2006-12-20 16:39:46 UTC
+++ This bug was initially created as a clone of Bug #214737 +++

Recently a lost of packages that call programs in post have had to add 

[ -x /path/to/program ] && 

guards to get around some sort of optimization that rpm performs where it won't
install a 32-bit binary early in a transaction if a 64-bit binary would
overwrite it later in the transaction.

That optimization seems bogus because the binary may be needed during the
transaction and it breaks the contract that Requires(post): program will ensure
the program is fully installed before %post.

We should just always install the 32-bit binary even though it will get replaced
later in the transaction.

Comment 1 Bastien Nocera 2006-12-20 16:42:37 UTC
This causes errors like:

Installing gtk2 - 2.10.4-8.el5.ppc
[...]
Installing gnome-icon-theme - 2.16.0.1-3.el5.noarch
/var/tmp/rpm-tmp.9566: line 4: /usr/bin/gtk-update-icon-cache: No such file or
directory
/var/tmp/rpm-tmp.9566: line 4: /usr/bin/gtk-update-icon-cache: No such file or
directory
/var/tmp/rpm-tmp.9566: line 4: /usr/bin/gtk-update-icon-cache: No such file or
directory
error: %post(gnome-icon-theme-2.16.0.1-3.el5.noarch) scriptlet failed, exit
status 127
[...]
Installing GConf2 - 2.14.0-9.el5.ppc
[...]
Installing notification-daemon - 0.3.5-8.el5.ppc
/var/tmp/rpm-tmp.25424: line 1: gconftool-2: command not found
/var/tmp/rpm-tmp.25424: line 2: gconftool-2: command not found
[...]
Installing metacity - 2.16.0-8.el5.ppc
/var/tmp/rpm-tmp.84362: line 2: gconftool-2: command not found
/var/tmp/rpm-tmp.84362: line 3: gconftool-2: command not found

During a multilib install

Comment 2 Jeff Johnson 2006-12-21 03:01:05 UTC
Heh, "bogus multilib optimizations" is not even close to the truth. Sure, let's write
install every ELF file twice just in case it is needed!

FWIW, I have given Paul Nasrat the fix, we'll see if or when it is applied.

Comment 5 RHEL Program Management 2007-03-21 23:14:15 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 7 Jeff Johnson 2007-05-01 12:41:28 UTC
Fixed in rpm cvs, will be in rpm-4.4.9-0.5 when built.

UPSTREAM

Comment 9 Red Hat Bugzilla 2007-08-21 05:30:15 UTC
User pnasrat's account has been closed

Comment 12 errata-xmlrpc 2007-11-07 17:28:18 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 the 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-2007-0620.html