[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Library compatibility 2.1x 2.2.x


On Sunday 13 February 2005 10:27, you wrote:
> since I had a couple of problems getting the Debian OpenLDAP 2.1.30 to work
> with TLS, I decided to build my own package. Well, it's all quite homebrew,
> but it seems I'm almost there.
> However, my package will replace the old libldap2 package containing
> liblber.so, libldap.so, libldap_r.so (2.0.130) and the ucdata, with the
> current -2.2.so.7.0.16 versions.

AFAIK the OpenLDAP project does not guarantee ABI compatibility between
different versions of the libraries.

> My idea is to establish links from libxxx-2.2.so.7 to libxxx.so.2, in order
> to provide libraries to other packages (pam_ldap, ldap_nss, etc.) Are there
> any issues why applications linked to .so.2 should break when linked to
> .so.7? If so, will the so.2 libs understand the ucdata shipped with the
> current version?

I haven't tried, but I fear there are.
Since emacs, apache2, postfix, samba, squid, kde, .. depend on libldap2 (at 
least on some parts) I - personally - would not wand to try it ;-)

> What are the ucdata though?

ucdata is the directory for unicode data.
Although it did not change from 2.1.30 to 2.2.23 you have to deal with
it in a way that only one package provides it at a time.

I have written my private debs for OL 2.2.23  that are based on those be Turbo 
Frederiksen and should deal with with the compatiblity issues.

The source package is called openldap2.2 and it generates the binary packages:
* ldap-utils  replaces the 2.1.30 ldap-utils
* libldap2.2  the base for OL 2.2, allows coexistence with libldap2
* libldap2.2-data provides ucdata in case libldap2 is not installed
* libldap2.2-dev development files for libldap2.2
* libslapd2.2-dev equivalent to libslapd2-dev
* slapd   replaces the 2.1.30 slapd
using db4.2 and openssl.

I am generating my own 2.2 packages now since 2.2.18 and never had any 
problems related to this packaging.

I have attached my Debianization patch to this mail.

To create the packages you need to:
- have a copy of the openldap-2.2.23.tar.gz file named
  openldap2.2-2.2.23.orig.tar.gz in the parent directory of
  your openldap-2.2.23/ directory
- extract the unpacked patch in the openldap-2.2.24 directory
- call 'dpkg-buildpackage -rfakeroot -sd'


PS: Since OL 2.2 uses OpenSSL and there are some licensing conflicts 
       Debian will not include OL 2.2 without modification.
       I do not exactly understand why since OpenSSL is part of Debian
       and is used in many other projects that are in Debian too.
       The solution would be to adapt OL2.2 to gnuTLS.

Peter Marschall
eMail: peter@adpm.de

Attachment: openldap-2.2.23-debian.diff.bz2
Description: BZip2 compressed data