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