Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de> writes: > > It doesn't understand wildcards or regexps, either. Sigh. > > ulysses:~# dpkg --search '*/lib/libX11.so' > xlibs-dev: /usr/X11R6/lib/libX11.so I swear I tried that before replying to you. I blame sleep deprivation. Here's an updated patch: --- /bin/dpkg-shlibdeps.distrib Thu Jun 21 01:42:16 2001 +++ /bin/dpkg-shlibdeps Sat Jun 23 15:39:06 2001 @@ -94,18 +94,6 @@ for ($i=0;$i<=$#exec;$i++) { if (!isbin ($exec[$i])) { next; } - # First we get an ldd output to see what libs + paths we have at out - # disposal. - my %so2path = (); - defined($c= open(P,"-|")) || syserr("cannot fork for ldd"); - if (!$c) { exec("ldd","--",$exec[$i]); syserr("cannot exec ldd"); } - while (<P>) { - if (m,^\s+(\S+)\s+=>\s+(\S+)\s+\(0x.+\)?$,) { - $so2path{$1} = $2; - } - } - close(P); $? && subprocerr("ldd on \`$exec[$i]'"); - # Now we get the direct deps of the program. We then check back with # the ldd output from above to see what our path is. defined($c= open(P,"-|")) || syserr("cannot fork for objdump"); @@ -116,13 +104,11 @@ if (m,^\s*NEEDED\s+((\S+)\.so\.(\S+))$,) { push(@libname,$2); push(@libsoname,$3); push(@libf,$execf[$i]); - &warn("could not find path for $1") unless defined($so2path{$1}); - push(@libfiles,$so2path{$1}); + push(@libfiles, "*/lib/$1"); } elsif (m,^\s*NEEDED\s+((\S+)-(\S+)\.so)$,) { push(@libname,$2); push(@libsoname,$3); push(@libf,$execf[$i]); - &warn("could not find path for $1") unless defined($so2path{$1}); - push(@libfiles,$so2path{$1}); + push(@libfiles, "*/lib/$1"); } else { m,^\s*NEEDED\s+(\S+)$,; &warn("format of $1 not recognized"); @@ -196,7 +182,9 @@ &warn("diversions involved - output may be incorrect"); print(STDERR " $_\n") || syserr("write diversion info to stderr"); } elsif (m=^(\S+(, \S+)*): (\S+)$=) { - push @{$pathpackages{$+}}, split(/, /, $1); + my ($pkgs, $lib) = ($1, $+); + $lib =~ s|.*/lib/|*/lib/|; + push @{$pathpackages{$lib}}, split(/, /, $pkgs); } else { &warn("unknown output from dpkg --search: \`$_'"); } -- Robbe
Attachment:
signature.ng
Description: PGP signature