Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 137264

Summary: openldap preserves too many libs
Product: Gentoo Linux Reporter: splite <splite-gentoo>
Component: EclassesAssignee: Gentoo LDAP project <ldap-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: vapier
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 158972    
Bug Blocks:    
Attachments: use tar instead of cp to copy files in preserve_old_lib

Description splite 2006-06-19 08:19:32 UTC
The preserve_old_lib function in eutils should preserve symlinks so as not to annoy ldconfig:

(after upgrading openldap to 2.3.24-r1)
# ldconfig
ldconfig: /usr/lib/libldap_r-2.2.so.7 is not a symbolic link

ldconfig: /usr/lib/libldap-2.2.so.7 is not a symbolic link

ldconfig: /usr/lib/liblber-2.2.so.7 is not a symbolic link
Comment 1 splite 2006-06-19 08:21:36 UTC
Created attachment 89539 [details, diff]
use tar instead of cp to copy files in preserve_old_lib

Used tar because BSD's cp doesn't have a "-d" flag.
Comment 2 SpanKY gentoo-dev 2006-06-24 21:07:09 UTC
if wanted to preserve libs, you would use the POSIX -P option

however, that doesnt change the fact that openldap is broken ... it preserves too many libs
Comment 3 splite 2006-06-24 21:41:07 UTC
(In reply to comment #2)
> if wanted to preserve libs, you would use the POSIX -P option

s/libs/links/ ?

Forgot about -P (I use cpio for everything. :)  For Mac OS X (and presumably FreeBSD), you have to use -RP.  GNU cp works with just -P.

> however, that doesnt change the fact that openldap is broken ... it preserves
> too many libs

True, but that doesn't change the fact that preserve_old_lib is busted.  Has it been fixed?
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2006-10-08 04:55:58 UTC
spanky: i'd love a better solution regarding preserving less libs, but the root of it was that during a 2.2->2.3 upgrade, if you don't keep the libs, and you happen to use nss_ldap, your system blows up completely.
Comment 5 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2006-10-08 04:56:57 UTC
vapier: please see the comment 4
Comment 6 SpanKY gentoo-dev 2006-10-08 11:46:29 UTC
the problem is you're preserving too many ... you preserve both the major ABI and the minor ABI

you're supposed to preserve only the actual lib that is encoded in SONAME ... so replace the wildcards with single libraries

you only need:
liblber-2.2.so.7
libslapi-2.2.so.7
libldap_r-2.2.so.7
libldap-2.2.so.7
etc...
Comment 7 Markus Ullmann (RETIRED) gentoo-dev 2007-01-06 15:11:35 UTC
Applied in all recent ebuilds, just waiting for them to go stable