On Sat, Sep 04, 1999 at 12:25:09PM -0700, Joseph Carter wrote: > And I have yet to hear a better idea to solve the problem. I have said I > would withdraw my proposal if I heard another reasonable idea. Simply not > using dpkg-shlibdeps isn't IMO reasonable, neither is hacking a binary.
All right, I've now heard a better idea, and I've got a new patch which implements it. It requires no changes to policy regarding shlib file formats or anything of the sort. It could probably use a little cleaning up, but here it is: --- /usr/bin/dpkg-shlibdeps.orig Sat Jul 31 03:42:04 1999 +++ dpkg-shlibdeps Sun Sep 5 14:29:08 1999 @@ -104,6 +104,11 @@ push(@libf,$execf[$i]); push(@libpaths,$3) if !$libpathadded{$3}++; $nthisldd++; + } elsif (m,^\s+(\S+)\.so\s+=>\s+(/\S+)(\s+\(0x.+\))?$,) { + push(@libpath,$2); push(@libpaths,$2) if !$libpathadded{$2}++; + $r = readlink($2); + $r =~ /(\S+)\.so\.(\S+)/; + push(@libname,$1); push(@libsoname,"$2"); } else { &warn("unknown output from ldd on \`$exec[$i]': \`$_'"); } This assumes that any libfoo.so must be a symlink, which since policy demands shlibs have symlinks is the case anyway. (And it was never my intention to change that..) Since ldd doesn't follow this symlink down one level for libfoo.so, this patch will--but only in that case. Error checking is notably absent at the moment: I'm checking the path of the symlink, but I don't even know if the target exists much less if it's a valid package. If libfoo.so is NOT a symlink, perhaps installed locally, there are going to be serious issues rather quickly. These issues should and will be addressed, but I wanted to settle the policy proposal first now that I have something that works. If people believe as I do this is a better solution, the policy proposal can die in peace because it will not be necessary any longer. BTW, I did say "works" above. It does work, tested on the voodoo2 version of glide and the quake-glide-libs package. Works great. => -- Joseph Carter <[EMAIL PROTECTED]> 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 -------------------------------------------------------------------------- <Mercury> emacs sucks, literally, not a insult, just a comment that its large enough to have a noticeable gravitational pull...
pgpPS0kIZTStW.pgp
Description: PGP signature