Bug 241290 - RPM Upgrade Removes Symbolic Links
RPM Upgrade Removes Symbolic Links
Product: Fedora
Classification: Fedora
Component: rpm (Show other bugs)
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Panu Matilainen
Depends On:
  Show dependency treegraph
Reported: 2007-05-24 17:05 EDT by Ben Lentz
Modified: 2007-11-30 17:12 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-09-12 08:46:55 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Ben Lentz 2007-05-24 17:05:42 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20070309 Firefox/

Description of problem:
I have user-created openssl RPM based on the openssl spec file contained in the vendor's tarball. Everything works as expected, except that when the package is set to upgrade RPM removes the symbolic link for /lib/libssl.so.4 and /lib/libcrypto.so.4 instead of leaving it alone. If the existing openssl RPM is removed and the new one installed fresh, the symbolic links are installed correctly.

The spec file is configured to include the symbolic links:
/lib/libssl.so.4 -> /lib/libssl.so.0.9.8e
/lib/libcrypto.so.4 -> /lib/libcrypto.so.0.9.8e

Using the glob:
%attr(0755,root,root) /%{_lib}/*.so.{soversion}

But when an upgrade is performed, these files go missing.

Ironically, the symbolic links:
/usr/lib/libssl.so -> /lib/libssl.so.0.9.8e
/usr/lib/libcrypto.so -> /lib/libcrypto.so.0.9.8e

Using the glob:
%attr(0755,root,root) %{_libdir}/*.so*

Work perfectly when an upgrade is performed.

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

How reproducible:

Steps to Reproduce:
Upgrade scenario (fails):
1. rpm -e openssl openssl-devel --nodeps
2. rpm -ivh openssl-0.9.7a-42.2.i686.rpm openssl-devel-0.9.7a-42.2.i386.rpm
3. rpm -Uvh openssl-0.9.8e-1.i386.rpm openssl-devel-0.9.8e-1.i386.rpm
4. rpm -V openssl
missing /lib/libcrypto.so.4
missing /lib/libssl.so.4
<exit status 1>

Reinstallation scenario (successful):
1. rpm -e openssl openssl-devel --nodeps
2. rpm -ivh openssl-0.9.8e-1.i386.rpm openssl-devel-0.9.8e-1.i386.rpm
3. rpm -V openssl
<nothing, exit status 0>

Actual Results:
missing /lib/libcrypto.so.4
missing /lib/libssl.so.4
<exit status 1>

Expected Results:
<nothing, exit status 0>

Additional info:
I realize that supporting a user-created RPM for an old version of Fedora Core probably isn't top priority, but I can't seem to figure out from the available documentation why RPM would be swallowing these files during an upgrade.
Comment 1 Red Hat Bugzilla 2007-08-21 01:34:26 EDT
User pnasrat@redhat.com's account has been closed
Comment 2 Panu Matilainen 2007-08-22 02:31:40 EDT
Reassigning to owner after bugzilla made a mess, sorry about the noise...
Comment 3 Panu Matilainen 2007-09-12 08:46:55 EDT
Most likely it's ldconfig that's removing your symlinks, possibly because you're
hitting a bug in rpm's ldconfig optimisation (there are some cases where it
fails to execute one final ldconfig while needed). If that's the case then
manual 'ldconfig' after the upgrade should fix it, from the spec you can work
around by moving the ldconfig calls to %post etc body instead of using it as
"interpreter", ie


..instead of the typical

%post -p /sbin/ldconfig

In any case, WONTFIX for long since EOL'ed FC3.
Comment 4 Ben Lentz 2007-09-12 09:43:49 EDT
Wow, thanks for the great information, I'll give this a shot.

Note You need to log in before you can comment on or make changes to this bug.