| author | Chris Baines <cbaines8@gmail.com> | |
| Thu, 9 Dec 2010 14:58:48 +0000 (15:58 +0100) | ||
| committer | Raphaël Hertzog <hertzog@debian.org> | |
| Thu, 9 Dec 2010 14:58:48 +0000 (15:58 +0100) |
Instead continue and fail after all problems have been reported.
| debian/changelog | patch | blob | history | |
| scripts/dpkg-shlibdeps.pl | patch | blob | history |
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
- it documents the VCS-* fields too. Closes: #483119
Thanks to Oxan van Leeuwen <oxan@oxanvanleeuwen.nl> who wrote it
as part of the Google Code In program.
+ * Enhance dpkg-shlibdeps to not fail immediatly when a library is not found.
+ Instead continue and fail after all problems have been reported. Thanks
+ to Chris Baines <cbaines8@gmail.com> for the patch. Closes: #596841
[ Updated programs translations ]
* Portuguese (Miguel Figueiredo).
my %objdump_cache;
my %symfile_has_soname_cache;
+# Used to count errors due to missing libraries
+my $error_count = 0;
+
my $cur_field;
foreach my $file (keys %exec) {
$cur_field = $exec{$file};
"that do not have any shlibs or symbols file.\nTo help dpkg-shlibdeps " .
"find private libraries, you might need to set LD_LIBRARY_PATH.");
if (scalar(split_soname($soname))) {
- error($msg, $soname, $file, $obj->{format}, join(":", @{$obj->{RPATH}}));
+ errormsg($msg, $soname, $file, $obj->{format}, join(":", @{$obj->{RPATH}}));
+ $error_count++;
} else {
warning($msg, $soname, $file, $obj->{format}, join(":", @{$obj->{RPATH}}));
}
}
}
+# Quit now if any missing libraries
+if ($error_count >= 1) {
+ error(P_("Cannot continue due to the error above.",
+ "Cannot continue due to the errors listed above.",
+ $error_count));
+}
+
# Open substvars file
my $fh;
if ($stdout) {
