[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#42236: weekly policy summary



On Fri, Aug 06, 1999 at 03:46:34PM -0700, Joey Hess wrote:
> Method for shlibs to work with libfoo.so (#42236)
>   * Under discussion.
>   * Proposed by Joseph Carter.
>   * This is a proposal to make binary-only shared libs that have no
>     soname work with dpkh-shlibdeps. The idea is to detect such
>     packages and use "." for the soname in the shlibs file.

I think I probably should clarify that.  THe point is to make binaries
linked to shared libs without sonames work with dpkg-shlibdeps.  The point
is not at all to change the policy which says shlibs must have sonames,
not at all.  The point is to make dpkg-shlibdeps can take something like
libglide2x.so and translate it to something in the "proper" format in the
form of a dependency.

Here is exactly why this is necessary:

knghtbrd@icarus2:~$ ldd `which glquake.real`
        libMesaGL.so.2 => /usr/lib/libMesaGL.so.2 (0x40005000)
        libglide2x.so => /usr/lib/libglide2x.so (0x400d4000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4021f000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x402c5000)
        libdl.so.2 => /lib/libdl.so.2 (0x402d1000)
        libvga.so.1 => /usr/lib/libvga.so.1 (0x402d4000)
        libm.so.6 => /lib/libm.so.6 (0x40321000)
        libc.so.6 => /lib/libc.so.6 (0x4033e000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)
knghtbrd@icarus2:~$ cd /usr/lib
knghtbrd@icarus2:/usr/lib$ ls -l libglide*
-rw-r--r--   1 root     root       585260 Aug 26 18:57 libglide-v2.so.2.53
lrwxrwxrwx   1 root     root           19 Aug 27 15:39 libglide.so ->
libglide-v2.so.2.53
lrwxrwxrwx   1 root     root           19 Aug 27 15:39 libglide.so.2 ->
libglide-v2.so.2.53
lrwxrwxrwx   1 root     root           19 Aug 27 15:40 libglide2x.so ->
libglide-v2.so.2.53

Just because the library is libglide-v2.so.2 does not mean ldd is going to
show that is what it's linked with.  The ONLY WAY for dpkg-slibdeps work
with this as long as it uses the current (suboptimal IMO) method for
figuring out what libraries are used by a package, I'll be unable to use
it.

I think Ian's objection (that we shouldn't do it because it benefits
non-free software) is in direct conflict with the social contract.  I also
believe that while Joel can rightfully say shlibs should have sonames, he
can't very easily say that what I am doing here is trying to make more
shlibs not have them---in fact I'm trying to make sure our shlibs DO have
them!

The problem which has arisen is that the binary which I can not reliably
fix has been linked against libglide2x.so...  The version is there all
right, but not in the right place!


The fix for this problem is simple, dpkg-shlibdeps needs to not bomb when
it sees something linked in the wrong place like this.  I have written a
patch which not only causes dpkg-shlibdeps to recognize the above ldd
output but also allow (and require in fact) such libraries be defined in
a shlibs file someplace so the correct dependencies may be created.

I still do not see what the problem is with accepting that this sometimes
needs to be done, but that the target of such soname-less libraries should
be a symlink.  The exact implementation is a little bit of a hack, but I
will argue that running ldd on a file and trying to parse its output is
itself a hack (and a dirty one at that...)  My patch may not clean this up
any, but it certainly doesn't make it much dirtier.  And I have yet to
hear anyone suggest a reasonable alternative.  (I do not consider trying
to manage dependencies by hand a reasonable alternative to fixing what I
consider to be a bug in dpkg-shlibdeps...)

-- 
Joseph Carter <knghtbrd@debian.org>             Debian GNU/Linux developer
GnuPG: 2048g/3F9C2A43 - 20F6 2261 F185 7A3E 79FC  44F9 8FF7 D7A3 DCF9 DAB3
PGP 2.6: 2048R/50BDA0ED - E8 D6 84 81 E3 A8 BB 77  8E E2 29 96 C9 44 5F BE
--------------------------------------------------------------------------
* wichert_ imagines master without a MTA
<james> wichert: ehm?  that might hinder peformance of the BTS :p

Attachment: pgpKLB3G3HinO.pgp
Description: PGP signature


Reply to: