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

Re: 2 patches for dpkg

On Tue, 20 May 2008, Modestas Vainius wrote:
> By the way, do you have any idea what that error code 11 from dpkg-shlibdeps 
> really means (in the log I linked in the previous mail)?

No, sorry. All "normal" errors end up printing something on stderr, here I
saw nothing. So it probably means that the process got killed.

> > The output of find_symbols_file depend not only on $pkg but also on
> > $soname and $lib. You can't assume that you can reuse the same symbols
> > file simply because a previous call of find_symbols with the same $kg
> > returned something. The key of %dpkg_symfile_cache should really be
> > $dpkg_symfile and not $pkg.
> Point taken. I chose the key quite poorly. find_symbols_file() does a bit of 
> repetitive I/O, which I wanted to avoid too (it is hardly worth it probably, 
> but still...). I'll improve this part.

Don't try replace the kernel.... he does the caching for the I/O (at least
for the test of existence of a file he will be more effective than you). 

If you want however, you can add a cache to the function
symfile_has_soname() to avoid parsing the same file multiple times.

> > Why are you using $pkg and $lib as key for this cache? $lib should be
> > enough as there's only one objdump output for a given binary file...
> Because that part of code is enclosed in a 'foreach my $pkg 
> (@{$file2pkg->{$lib}})' which implies that there might be more than one $pkg 
> for each $lib.

This happens only when a file has been diverted. It's seldom the case for
a library. And even in that case, the objdump of $lib is always the same
(it's always the lib that diverted the other out of the way).

> I'll resend a fixed 0002 patch in a few days.


Raphaël Hertzog

Le best-seller français mis à jour pour Debian Etch :

Reply to: