symlinks deleted on upgrade, but not during reinstall

John H uothrawn at yahoo.com
Tue Sep 27 14:34:08 UTC 2011


I'm using CentOS 5.6 32bit with the stock OpenLDAP 2.3.43 and attempting to build an RPM for OpenLDAP 2.4.23.  A lot of things in CentOS 5.6 depend on libldap-2.3.so.0 (among other 2.3 libs), so in my 2.4 specfile, I am creating a symlink in my %install section: 

ln -s libldap-2.4.so.3 $RPM_BUILD_ROOT/usr/lib/libldap-2.3.so.0


And adding a Provides tag of "libldap-2.3.so.0".

However, whenever I upgrade the package (rpm -Uvh), the symlink isn't installed. I can then reinstall it, and have the symlink be available. My %files section has these definitions, so the symlink is definitely getting into the RPM:

%attr(0755,root,root) %{_libdir}/liblber-2.*.so*
%attr(0755,root,root) %{_libdir}/libldap-2.*.so*
%attr(0755,root,root) %{_libdir}/libldap_r-2.*.so*
%attr(0755,root,root) %{_libdir}/libldif-2.4.so*


Output of "rpm -Uvvvh openldap*.rpm" is shown below. I can see that the symlinks are installed during the install of the new version, and they're "skipped" during the removal of the old version of OpenLDAP.  Does anyone know where the symlinks are vanishing?

Thanks.


D: ========== +++ openldap-2.4.23-1.mypkg i386-linux 0x1
D: Expected size:       378669 = lead(96)+sigs(180)+pad(4)+data(378389)
D:   Actual size:       378669
D: openldap-2.4.23-1.cobra: Header SHA1 digest: OK (957eac7385ad55c428f717e420995633693376b0)
D:   install: openldap-2.4.23-1.cobra has 22 files, test = 0
D: opening  db index       /var/lib/rpm/Triggername create mode=0x42
openldap                    D: ========== Directories not explicitly included in package:
D:          0 /etc/
D:          2 /usr/lib/
D:          3 /usr/share/doc/
D:          5 /usr/share/man/man5/
D: ==========
D: /usr/share/man/man5 directory created with perms 0755, no context.
D: fini      040755  4 (   0,   0)         0 /etc/openldap 
D: fini      040755  2 (   0,   0)         0 /etc/openldap/cacerts 
D: fini      100644  1 (   0,   0)       245 /etc/openldap/ldap.conf;4e81dd76 altname
warning: /etc/openldap/ldap.conf created as /etc/openldap/ldap.conf.rpmnew
D: fini      120755  1 (   0,   0)        16 /usr/lib/liblber-2.3.so.0;4e81dd76 
D: fini      120755  1 (   0,   0)        20 /usr/lib/liblber-2.4.so.2;4e81dd76 
D: fini      100755  1 (   0,   0)     52504 /usr/lib/liblber-2.4.so.2.5.6;4e81dd76 
D: fini      120755  1 (   0,   0)        16 /usr/lib/libldap-2.3.so.0;4e81dd76 
D: fini      120755  1 (   0,   0)        20 /usr/lib/libldap-2.4.so.2;4e81dd76 
D: fini      100755  1 (   0,   0)    307948 /usr/lib/libldap-2.4.so.2.5.6;4e81dd76 
D: fini      120755  1 (   0,   0)        18 /usr/lib/libldap_r-2.3.so.0;4e81dd76 
D: fini      120755  1 (   0,   0)        22 /usr/lib/libldap_r-2.4.so.2;4e81dd76 
D: fini      100755  1 (   0,   0)    330736 /usr/lib/libldap_r-2.4.so.2.5.6;4e81dd76 
D: fini      120755  1 (   0,   0)        20 /usr/lib/libldif-2.4.so.2;4e81dd76 
D: fini      100755  1 (   0,   0)     12872 /usr/lib/libldif-2.4.so.2.5.6;4e81dd76 
D: fini      040755  2 (   0,   0)         0 /usr/share/doc/openldap-2.4.23 
D: fini      100644  1 (   0,   0)      3836 /usr/share/doc/openldap-2.4.23/ANNOUNCEMENT;4e81dd76 
D: fini      100644  1 (   0,   0)     42220 /usr/share/doc/openldap-2.4.23/CHANGES;4e81dd76 
D: fini      100644  1 (   0,   0)      2345 /usr/share/doc/openldap-2.4.23/COPYRIGHT;4e81dd76 
D: fini      100644  1 (   0,   0)      2214 /usr/share/doc/openldap-2.4.23/LICENSE;4e81dd76 
D: fini      100644  1 (   0,   0)      3567 /usr/share/doc/openldap-2.4.23/README;4e81dd76 
D: fini      100644  1 (   0,   0)      5156 /usr/share/man/man5/ldap.conf.5.gz;4e81dd76 
D: fini      100644  1 (   0,   0)      2597 /usr/share/man/man5/ldif.5.gz;4e81dd76 
GZDIO:      94 reads,   769668 total bytes in 0.011173 secs
D:   +++ h#     293 Header SHA1 digest: OK (957eac7385ad55c428f717e420995633693376b0)
D: adding "openldap" to Name index.


....

D:     erase: openldap-2.3.43-12.el5_6.7 has 18 files, test = 0
D: fini      040755  2 (   0,   0)      4096 /usr/share/openldap 
D: fini      100644  1 (   0,   0)      2597 /usr/share/man/man5/ldif.5.gz skip
D: fini      100644  1 (   0,   0)      5156 /usr/share/man/man5/ldap.conf.5.gz skip
D: fini      000644  0 (   0,   0)         0 /usr/share/doc/openldap-2.3.43/README 
D:    erase unlink of /usr/share/doc/openldap-2.3.43/README failed: No such file or directory
D: fini      000644  0 (   0,   0)         0 /usr/share/doc/openldap-2.3.43/LICENSE 
D:    erase unlink of /usr/share/doc/openldap-2.3.43/LICENSE failed: No such file or directory
D: fini      000644  0 (   0,   0)         0 /usr/share/doc/openldap-2.3.43/COPYRIGHT 
D:    erase unlink of /usr/share/doc/openldap-2.3.43/COPYRIGHT failed: No such file or directory
D: fini      000644  0 (   0,   0)         0 /usr/share/doc/openldap-2.3.43/CHANGES 
D:    erase unlink of /usr/share/doc/openldap-2.3.43/CHANGES failed: No such file or directory
D: fini      000644  0 (   0,   0)         0 /usr/share/doc/openldap-2.3.43/ANNOUNCEMENT 
D:    erase unlink of /usr/share/doc/openldap-2.3.43/ANNOUNCEMENT failed: No such file or directory
D: fini      000755  0 (   0,   0)         0 /usr/share/doc/openldap-2.3.43 
D:    erase unlink of /usr/share/doc/openldap-2.3.43 failed: No such file or directory
D: fini      100755  1 (   0,   0)    256500 /usr/lib/libldap_r-2.3.so.0.2.31 
D: fini      120755  1 (   0,   0)        23 /usr/lib/libldap_r-2.3.so.0 skip
D: fini      100755  1 (   0,   0)    238576 /usr/lib/libldap-2.3.so.0.2.31 
D: fini      120755  1 (   0,   0)        21 /usr/lib/libldap-2.3.so.0 skip
D: fini      100755  1 (   0,   0)     52344 /usr/lib/liblber-2.3.so.0.2.31 
D: fini      120755  1 (   0,   0)        21 /usr/lib/liblber-2.3.so.0 skip
D: fini      100644  1 (   0,   0)       648 /etc/openldap/ldap.conf skip
D: fini      040755  2 (   0,   0)      4096 /etc/openldap/cacerts skip
D: fini      040755  3 (   0,   0)      4096 /etc/openldap skip
D:     erase: %postun(openldap-2.3.43-12.el5_6.7.i386) asynchronous scriptlet start
D:     erase: %postun(openldap-2.3.43-12.el5_6.7.i386)	execv(/sbin/ldconfig) pid 3722
D:     erase: waitpid(3722) rc 3722 status 0 secs 0.009
D:   --- h#     241 openldap-2.3.43-12.el5_6.7
D: removing "openldap" from Name index.


More information about the Rpm-list mailing list