Explorar el Código

Fix override handling in dpkg-scanpackages which was broken in
1.13.14 and .15. Closes: #353305

Frank Lichtenheld hace 20 años
padre
commit
e83d616afc
Se han modificado 3 ficheros con 20 adiciones y 10 borrados
  1. 5 0
      ChangeLog
  2. 4 0
      debian/changelog
  3. 11 10
      scripts/dpkg-scanpackages.pl

+ 5 - 0
ChangeLog

@@ -1,3 +1,8 @@
+2006-02-17  Frank Lichtenheld  <djpig@debian.org>
+
+	* scripts/dpkg-scanpackages.pl: Fix override handling
+	which was broken by the latest changes.
+
 2006-02-17  Guillem Jover  <guillem@debian.org>
 
 	* debian/dselect.install: Install only dselect domain.

+ 4 - 0
debian/changelog

@@ -7,6 +7,10 @@ dpkg (1.13.16~) UNRELEASED; urgency=low
     be installed if dselect is not to be built.
   * Move dselect gettext strings to its own domain provided now by the
     dselect package.
+  
+  [ Frank Lichtenheld ]
+  * Fix override handling in dpkg-scanpackages which was broken in
+    1.13.14 and .15. Closes: #353305
 
  -- Guillem Jover <guillem@debian.org>  Fri, 17 Feb 2006 03:52:59 +0200
 

+ 11 - 10
scripts/dpkg-scanpackages.pl

@@ -189,10 +189,11 @@ my $override_fh = new IO::File $override,'r'
 while (<$override_fh>) {
     s/\#.*//;
     s/\s+$//;
+    next unless $_;
     my ($p,$priority,$section,$maintainer)= split(/\s+/,$_,4);
     next unless defined($packages{$p});
     for my $package (@{$packages{$p}}) {
-	 if (defined $maintainer and length($maintainer)) {
+	 if ($maintainer) {
 	      if ($maintainer =~ m/(.+?)\s*=\>\s*(.+)/) {
 		   my $oldmaint= $1;
 		   my $newmaint= $2;
@@ -203,15 +204,15 @@ while (<$override_fh>) {
 		   } else {
 			$$package{Maintainer}= $newmaint;
 		   }
-	      }
-	 } elsif ($$package{Maintainer} eq $maintainer) {
-	      push(@samemaint,"  $p ($maintainer)\n");
-	 } else {
-	      print(STDERR " * Unconditional maintainer override for $p *\n") || die $!;
-	      $$package{Maintainer}= $maintainer;
-	 }
-	 $packages{$p}{Priority}= $priority;
-	 $packages{$p}{Section}= $section;
+	       } elsif ($$package{Maintainer} eq $maintainer) {
+		   push(@samemaint,"  $p ($maintainer)\n");
+	       } else {
+		   print(STDERR " * Unconditional maintainer override for $p *\n") || die $!;
+		   $$package{Maintainer}= $maintainer;
+	       }
+	  }
+	 $$package{Priority}= $priority;
+	 $$package{Section}= $section;
     }
     $overridden{$p} = 1;
 }