]> err.no Git - dpkg/commitdiff
Dpkg::Shlibs::SymbolFile::merge_symbols() bugfix with deprecated symbols
authorRaphael Hertzog <hertzog@debian.org>
Mon, 10 Dec 2007 10:06:44 +0000 (11:06 +0100)
committerRaphael Hertzog <hertzog@debian.org>
Mon, 10 Dec 2007 10:06:44 +0000 (11:06 +0100)
Do not update the deprecated version of a symbol if it is already marked
deprecated.

ChangeLog
scripts/Dpkg/Shlibs/SymbolFile.pm

index c6d459bec74e136f091d8cbc1fc818d3a342dbe1..48754cf9f7e623cc6f524ea2ad1b6a0eb4a0f77a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-12-10  Raphael Hertzog  <hertzog@debian.org>
+
+       * scripts/Dpkg/Shlibs/SymbolFile.pm (merge_symbols): Do not update
+       the deprecated version of a a symbol if it is already marked
+       deprecated.
+
 2007-12-09  Raphael Hertzog  <hertzog@debian.org>
 
        * scripts/Dpkg/Shlibs/SymbolFile.pm (load): Pass the current
index fcaed80b2bea1ef56e92b90202118bfcaa3a472c..a2cf9f2e09e7375b0de9df822e1d4818c7f64b35 100644 (file)
@@ -232,6 +232,9 @@ sub merge_symbols {
     # the symbol was introduced)
     foreach my $sym (keys %{$self->{objects}{$soname}{syms}}) {
        if (! exists $dynsyms{$sym}) {
+           # Do nothing if already deprecated
+           next if $self->{objects}{$soname}{syms}{$sym}{deprecated};
+
            my $info = $self->{objects}{$soname}{syms}{$sym};
            if (vercmp($minver, $info->{minver}) > 0) {
                $self->{objects}{$soname}{syms}{$sym}{deprecated} = $minver;