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

Re: Bug#317082: Not just a dpkg bug



On Thu, Jan 19, 2006 at 12:14:35AM +0100, Frank Lichtenheld wrote:
> > So looks it is safe to remove any path processing from dpkg-slibdeps, and 
> > use only objdump. If something breaks, it should be fixed elsewhere (i.e. 
> > proper shlibs data added to packages).

> If we don't use the path information from ldd there are several ways to
> go:
> 1) use "dpkg --search" but only with the library name from objdump, not
>    with the full path.
>    Questions: - Are there cases where the library name from objdump isn't
>                 actually the filename of the library?
> 	      - How do we decide wether a found file is really a usable
> 	        library? (parse /etc/ld.so.conf?)

FWIW, the most robust way to handle this probably looks something like:

foreach $dir (@searchpath) {
	$var = `dpkg --search $file`
	do_stuff;
	last if found;
}

That would seem to address the Hurd case (lib is available multiple times in
the search path due to symlinks, but only one of these files is known by
dpkg), while also eliminating collisions with similarly named files that are
not in the library search path at all (e.g., objects intended for use with
LD_PRELOAD or something).

The only requirement is that dpkg have an internal representation of the
library search path for the object type -- part of which comes from
/etc/ld.so.conf, part of which is hard-coded in ld.so.  Oh... and then
there's RPATH...

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
vorlon@debian.org                                   http://www.debian.org/

Attachment: signature.asc
Description: Digital signature


Reply to: