+2007-05-23 Guillem Jover <guillem@debian.org>
+
+ Revert commit on 2007-04-28 by Aaron M. Ucko <ucko@debian.org>.
+
+ * scripts/dpkg-shlibdeps.pl: Trim down duplicated files from @libfiles
+ only when passing it to dpkg-query.
+
2007-05-23 Kylan Robinson <Kylan_Robinson@selinc.com>
* scripts/dpkg-source.pl: Fix regex (/\.debian.tar/ ->
initially intended name. Closes: #425041
* Fix loose regex in dpkg-source (/\.debian.tar/ -> /\.debian\.tar/).
Thanks to Kylan Robinson. Closes: #425629
+ * Revert change on 1.14.0 from Aaron M. Ucko. Trim down duped entries only
+ when passing them to dpkg-query instead. Closes: #425641
[ Updated dpkg translations ]
* French (Frédéric Bothamy).
}
close CONF;
-my (%rpaths, %format, %unique_libfiles);
+my (%rpaths, %format);
my (@libfiles, @libname, @libsoname, @libfield, @libexec);
for ($i=0;$i<=$#exec;$i++) {
if (!isbin ($exec[$i])) { next; }
$format{$exec[$i]} = $1;
} elsif (m,^\s*NEEDED\s+,) {
if (m,^\s*NEEDED\s+((\S+)\.so\.(\S+))$,) {
- next if exists $unique_libfiles{$1};
push(@libname,$2); push(@libsoname,$3);
push(@libfield,$execfield[$i]);
push(@libfiles,$1);
push(@libexec,$exec[$i]);
- $unique_libfiles{$1} = 1;
} elsif (m,^\s*NEEDED\s+((\S+)-(\S+)\.so)$,) {
- next if exists $unique_libfiles{$1};
push(@libname,$2); push(@libsoname,$3);
push(@libfield,$execfield[$i]);
push(@libfiles,$1);
push(@libexec,$exec[$i]);
- $unique_libfiles{$1} = 1;
} else {
m,^\s*NEEDED\s+(\S+)$,;
warning(sprintf(_g("format of 'NEEDED %s' not recognized"), $1));
grep(s/\[\?\*/\\$&/g, @libname);
defined(my $c= open(P,"-|")) || syserr(_g("cannot fork for dpkg --search"));
if (!$c) {
+ my %seen_libfiles;
+ my @uniq_libfiles = grep !$seen_libfiles{$_}++, @libfiles;
+
close STDERR; # we don't need to see dpkg's errors
open STDERR, "> /dev/null";
$ENV{LC_ALL} = "C";
- exec("dpkg", "--search", "--", @libfiles) or
+ exec("dpkg", "--search", "--", @uniq_libfiles) or
syserr(_g("cannot exec dpkg"));
}
while (<P>) {