+2007-11-23 Raphael Hertzog <hertzog@debian.org>
+
+ * scripts/dpkg-shlibdeps.pl: Limit the number of warnings
+ displayed about symbols not found in libraries to 10 per binary.
+
2007-11-23 Raphael Hertzog <hertzog@debian.org>
* scripts/dpkg-shlibdeps.pl: Look for libs in the package's build
specific cases (instead of failing):
- when the library is in the same package than the binary analyzed
- when the library is not versionned and can't have a shlibs file
+ * dpkg-shlibdeps now only displays 10 warnings about symbols not found for
+ each binary and a count of skipped warnings. Closes: #452318
-- Guillem Jover <guillem@debian.org> Fri, 23 Nov 2007 06:50:02 +0200
# Scan all undefined symbols of the binary and resolve to a
# dependency
my %used_sonames = map { $_ => 0 } @sonames;
+ my $nb_warnings = 0;
+ my $nb_skipped_warnings = 0;
foreach my $sym ($obj->get_undefined_dynamic_symbols()) {
my $name = $sym->{name};
if ($sym->{version}) {
my $print_name = $name;
# Drop the default suffix for readability
$print_name =~ s/\@Base$//;
- warning(_g("symbol %s used by %s found in none of the " .
- "libraries."), $print_name, $file)
- unless $sym->{weak};
+ unless ($sym->{weak}) {
+ if ($debug or $nb_warnings < 10) {
+ warning(_g("symbol %s used by %s found in none of the " .
+ "libraries."), $print_name, $file);
+ $nb_warnings++;
+ } else {
+ $nb_skipped_warnings++;
+ }
+ }
}
} else {
$used_sonames{$syminfo->{soname}}++;
}
}
}
+ warning(_g("%d other similar warnings have been skipped (use -v to see " .
+ "them all)."), $nb_skipped_warnings) if $nb_skipped_warnings;
# Warn about un-NEEDED libraries
foreach my $soname (@sonames) {
unless ($used_sonames{$soname}) {