On Mon, Oct 30, 2017 at 09:03:06AM +0000, Rik Mills wrote: > The output of dpkg-gensymbols has regressed when reporting new or > changed symbols > > Previously the output stated: > > dpkg-gensymbols: debian/libnameDEBIAN/symbols doesn't match completely > debian/libname.symbols > > this now incorrectly states: > > dpkg-gensymbols: warning: no debian/symbols file used as basis for > generating debian/libname/DEBIAN/symbols
The attached small patch fixes the issue for me. Tested with libjpeg-turbo, where one symbol was deliberately removed. The previous if (defined $state) check was always true, because a //= operator is used to define $state two lines above. -- Dmitry Shachnev
diff --git a/scripts/Dpkg/Shlibs/SymbolFile.pm b/scripts/Dpkg/Shlibs/SymbolFile.pm
index d03ce2598..b36d542ce 100644
--- a/scripts/Dpkg/Shlibs/SymbolFile.pm
+++ b/scripts/Dpkg/Shlibs/SymbolFile.pm
@@ -204,7 +204,7 @@ sub parse {
my ($self, $fh, $file, %opts) = @_;
my $state = $opts{state} //= {};
- if (defined $state) {
+ if (exists $state->{seen}) {
return if exists $state->{seen}{$file}; # Avoid include loops
} else {
$self->{file} = $file;
signature.asc
Description: PGP signature

