]> err.no Git - dpkg/commitdiff
Fill slavepaths undefined entries with an empty string to guarantee
authorGuillem Jover <guillem@debian.org>
Mon, 14 May 2007 23:57:07 +0000 (23:57 +0000)
committerGuillem Jover <guillem@debian.org>
Mon, 14 May 2007 23:57:07 +0000 (23:57 +0000)
they are always defined. Closes: #423140, #423451, #423544, #423555

ChangeLog
debian/changelog
scripts/update-alternatives.pl

index 73f9a47fa60af0d2c754c2a31671b93411f33abf..bcf0c6dcbe963dd1a7c31008418dc32ab125018a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-05-15  Guillem Jover  <guillem@debian.org>
+
+       * scripts/update-alternatives.pl: Call fill_missing_slavepaths at the
+       end of the 'install' conditional.
+       (fill_missing_slavepaths): New function.
+
 2007-05-14  Guillem Jover  <guillem@debian.org>
 
        * scripts/dpkg-divert.pl ($divertto, $package): Initialize to undef
index f166c97fadc82a7712d89563a557ab5f9e72d2a4..5a68beeaa35751050bd252f675250c2a59bab457 100644 (file)
@@ -4,6 +4,8 @@ dpkg (1.14.3) UNRELEASED; urgency=low
   * Fix perl warnings:
     - In dpkg-genchanges when called with -S. Closes: #423193
     - In architecture comparison operations. Closes: #423452
+    - Fill slavepaths undefined entries with an empty string to guarantee
+      they are always defined. Closes: #423140, #423451, #423544, #423555
   * Include the new split man pages deb-substvars.5, deb-override.5 and
     deb-shlibs.5 in dpkg-dev.
   * Fix deb-substvars.5 section to match reality.
index 0658ba059abced0e987b6fb47558a38558e93aa9..0cd589c14142dad724f73841b4d8d32d353a46f1 100755 (executable)
@@ -170,6 +170,15 @@ sub read_link_group
     }
 }
 
+sub fill_missing_slavepaths()
+{
+    for (my $j = 0; $j <= $#slavenames; $j++) {
+       for (my $i = 0; $i <= $#versions; $i++) {
+           $slavepath{$i,$j} = '' if !defined $slavepath{$i,$j};
+       }
+    }
+}
+
 sub find_best_version
 {
     $best = '';
@@ -418,6 +427,8 @@ if ($action eq 'install') {
     for (my $j = 0; $j <= $#slavenames; $j++) {
         $slavepath{$i,$j}= $aslavepath{$slavenames[$j]};
     }
+
+    fill_missing_slavepaths();
 }
 
 if ($action eq 'remove') {