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