Ver código fonte

dpkg-gensymbols: fix handling of tags

A bad check resulted in some tags being considered different when they
were really equal.

Reported-by: Michael Tautschnig <mt@debian.org>
Raphaël Hertzog 16 anos atrás
pai
commit
eef3b6eb7d
2 arquivos alterados com 3 adições e 1 exclusões
  1. 2 0
      debian/changelog
  2. 1 1
      scripts/Dpkg/Shlibs/Symbol.pm

+ 2 - 0
debian/changelog

@@ -26,6 +26,8 @@ dpkg (1.15.8) UNRELEASED; urgency=low
     implemented at the time the file became obsolete. Closes: #582893
     implemented at the time the file became obsolete. Closes: #582893
   * Enhance dpkg-maintscript-helper rm_conffile and mv_conffile to work
   * Enhance dpkg-maintscript-helper rm_conffile and mv_conffile to work
     properly when <lastversion> is not given (or is empty). Closes: #582819
     properly when <lastversion> is not given (or is empty). Closes: #582819
+  * Small fix in dpkg-gensymbols' handling of tags. Closes: #583656
+    Thanks to Michael Tautschnig <mt@debian.org> for the report and the fix.
 
 
   [ Guillem Jover ]
   [ Guillem Jover ]
   * Require gettext 0.18:
   * Require gettext 0.18:

+ 1 - 1
scripts/Dpkg/Shlibs/Symbol.pm

@@ -269,7 +269,7 @@ sub equals {
 	    my $tag = $self->{tagorder}->[$i];
 	    my $tag = $self->{tagorder}->[$i];
 	    return 0 if $tag ne $other->{tagorder}->[$i];
 	    return 0 if $tag ne $other->{tagorder}->[$i];
 	    if (defined $self->{tags}{$tag} && defined $other->{tags}{$tag}) {
 	    if (defined $self->{tags}{$tag} && defined $other->{tags}{$tag}) {
-		return 0 if $self->{tags}{$tag} ne defined $other->{tags}{$tag};
+		return 0 if $self->{tags}{$tag} ne $other->{tags}{$tag};
 	    } elsif (defined $self->{tags}{$tag} || defined $other->{tags}{$tag}) {
 	    } elsif (defined $self->{tags}{$tag} || defined $other->{tags}{$tag}) {
 		return 0;
 		return 0;
 	    }
 	    }