Bug 136456

Summary: '--oldpackage' will remove library symlinks
Product: Red Hat Enterprise Linux 3 Reporter: Jay Turner <jturner>
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED DUPLICATE QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.0CC: nobody+pnasrat, srevivo
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-02-21 19:06:29 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 Jay Turner 2004-10-20 07:33:39 UTC
Description of problem:
Seeing this with rpm-4.2.3-10 on an x86_64 when dealing with multi-lib
packages, but almost looks like we would see the same behavior no
matter the platform or if we were dealing with multi-lib.

Anyway, have a machine with the following:
libtiff-3.5.7-20.1.i386
libtiff-3.5.7-20.1.x86_64
libtiff-devel-3.5.7-20.1.x86_64

I then decide to go back to the old packages, so I run
rpm -vv -Uh --oldpackage libtiff*rpm

Which attempts to reinstall the libtiff-3.5.7-13 packages.  After
completion of this task, I'm missing both /usr/lib/libtiff.so.3 and
/usr/lib64/libtiff.so.3

Poking through the verbose rpm output, I see that the old packages get
installed first, running ldconfig after each installation (so the
links get created) then we start removing the -20.1 packages and I get
output like this for both the i386 and x86_64 packages:

D: fini      100755  1 (   0,   0)    264132 /usr/lib/libtiff.so.3.5 skip
D: fini      120777  1 (   0,   0)        14 /usr/lib/libtiff.so.3 

(of course, substituting lib64 for the x86_64 case)  Net result, don't
remove the libtiff.so.3.5 file, as it's owned by the freshly installed
package, but do remove the libtiff.so.3 symlink, as it's not owned by
anything.  This would be all swell and dandy if we just reran ldconfig
after the package removal, instead it appears that "rpm knows best":

erase: %postun(libtiff-3.5.7-20.1) skipping redundant "/sbin/ldconfig".

So we're left with a system without /usr/lib/libtiff.so.3 and
/usr/lib64/libtiff.so.3.

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


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Jeff Johnson 2004-10-20 14:59:54 UTC
The option --oldpackage (and --force) has never been supported by
Red Hat or rpm afaik.

Anyways, there's a 2 line fix available to turn off skipping
ldconfig on downgrade. The same issue seen when elfutils
was released as downgrade around the 1st of the year, another
"feature" that Red Hat and rpm have never ever supported.

Comment 3 Jeff Johnson 2004-11-14 22:05:47 UTC

*** This bug has been marked as a duplicate of 139233 ***

Comment 4 Red Hat Bugzilla 2006-02-21 19:06:29 UTC
Changed to 'CLOSED' state since 'RESOLVED' has been deprecated.