On Fri, Feb 25, 2005 at 11:45:46PM +0100, Torsten Landschoff wrote: > On Fri, Feb 25, 2005 at 10:38:52AM -0800, Steve Langasek wrote: > > > Upstream SONAME has changed to libldap2.2.
> > grabbing the package from http://pkg-openldap.alioth.debian.org/openldap2.2/ > > (thanks, Stephen): > ?? What's Stephen got to do with it? He pointed out the URL to me on IRC before I got (or, at least, read) your message. Thanks also to you for making them available, of course. :) > > $ dpkg -x libldap2.2_2.2.23-0.pre2_i386.deb /tmp/ldap-unpack && objdump -p > > /tmp/ldap-unpack/usr/lib/libldap-2.2.so.7.0.16 | grep SONAME > > SONAME libldap-2.2.so.7 > > So no, libldap2.2 is *not* what the upstream SONAME was changed to. > Okay, so it was changed to libldap-2.2.so.7. Or what? I'll never grok > this SONAME stuff. Yes. An optimal package name would then be libldap-2.2-7. > From the output above I'd say that the SONAME is "libldap-2.2.so.7". > Reading random documentation about it (for example at > http://lists.debian.org/debian-mentors/2002/03/msg00125.html) the SONAME > is just "7" in this case. Ugh, that message is wrong. The soname is precisely the part that I quoted above in the output of objdump. The '7' is what's referred to as an sover ("shared object version"). > So depending on what the soname is the package is either libldap7 (going > from section 8.1 of Debian policy) or libldap-2.2-7 which I find hard to > grok (but which does not matter as it should normally get installed > automatically). > The point I tried to make though was that the upstream SONAME changed > and libldap from OpenLDAP 2.2 does not class with libldap from OpenLDAP > 2.1. Apart from that I spent the last two days solely on working on > OpenLDAP packaging and the only feedfack is that I misrepresented the > SONAME. Well, the snipped context in this discussion was: >>> libldap-evil-lemurs (used only by slapd && ldap-utils) >> I'd rather call it libldap2.2 > If the lib package name doesn't match the actual soname used by the > library, then all possible names are equally bad, FWIW. Since the entire reason that we're going to such lengths in packaging OpenLDAP 2.2 and OpenLDAP 2.1 in parallel is that we have an upstream who may or may not be engaged in pathological handling of SONAMEs, I do consider it very important to make sure that the Debian maintainer of such a core library does understand what an SONAME *is*, and can recognize when it's been changed (and therefore when the package name needs to be changed)... :) I do mean to look at the packages further, and help with any necessary testing -- not just picking on the soname issue. In particular, if you need help handling config file upgrades from OpenLDAP 2.1, feel free to ping me for that. > And I still got no idea what your point is. If you want the library > package to be libldap-2.2-7 that's fine with me. I can rename that > package if you want me to. I like libldap2.2 better as it is in line > with libldap2 (which I did not invent) but I don't really care. libldap2 is called libldap2 because of $ objdump -p /usr/lib/libldap.so.2|grep SONAME SONAME libldap.so.2 $ you can call this library libldap2.2 if you want -- as I said, *all* package names are equally bad (good, green, whatever) if they don't match the library's soname -- as long as you are aware that, once you provide a -dev package for the library post-sarge, SONAME changes also require package name changes. FWIW, here's a command that turns a library soname into a package name, according to the "best practice" rules in Debian: $ objdump -p /tmp/ldap-unpack/usr/lib/libldap-2.2.so.7.0.16 | sed -n -e's/^[[:space:]]*SONAME[[:space:]]*//p' | sed -e's/\([0-9]\)\.so\./\1-/; s/\.so\.//' libldap-2.2-7 $ Cheers, -- Steve Langasek postmodern programmer
signature.asc
Description: Digital signature