Re: dpkg-shlibdeps (was Re: Cannot install HURD: bsdutils missing)
On Sat, May 04, 2002 at 10:37:37AM -0400, Marcus Brinkmann wrote:
> Well, it should do that already. However, it doesn't come up with
> zlib1g when you search for /lib/libz.so.1 (sorry for the gzip, I meant
> zlib1g really).
> This is, as you suspect, because a leading / makes it look for a full
> path _as it thinks about the filesystem in the database_. Any other
> names for the same file are not found, in particular not the realpath()
> of any name, which is one way to uniquely identify a file. The problem
> with that is that the realpath() is often not what dpkg thinks of the
> file location, so you could only fall back to the other reliable
> identifier, the inode and filesystem id (note: the filesystem id is
> probably bogus on GNU/Linux because the kernel developers don't (or at
> least did not) understand what it is used for).
Are you sure it's necessary to fallback on a lower level? When you want
to compare two paths, no matter they are real or not, comparing the
realpath() result of each other will assure that they are the same file.
Say, if you search for /lib/foo, which dpkg thinks is in /usr/lib/foo,
the real path will still be /lib/foo.
I've given a try at fixing it, but all my attempts segfault on strcmp()
someone more clued than me could have it a look? :)
"5 years from now everyone will be running
free GNU on their 200 MIPS, 64M SPARCstation-5"
Andrew S. Tanenbaum, 30 Jan 1992
To UNSUBSCRIBE, email to firstname.lastname@example.org
with a subject of "unsubscribe". Trouble? Contact email@example.com