dsa-check-packages: work better with weird multi-arch cases
authorPeter Palfrader <peter@palfrader.org>
Mon, 4 Mar 2013 13:35:21 +0000 (14:35 +0100)
committerPeter Palfrader <peter@palfrader.org>
Mon, 4 Mar 2013 13:35:29 +0000 (14:35 +0100)
dsa-nagios-checks/checks/dsa-check-packages
dsa-nagios-checks/debian/changelog

index 22bde57..3ea088d 100755 (executable)
@@ -120,9 +120,14 @@ sub get_packages {
                                next if ($pkgname eq $from_list); # no :$arch in pkgname we asked for
 
                                my $ma_fix_pkgname = $pkgname.':'.$installed->{$from_list}->{'arch'};
-                               ($ma_fix_pkgname eq $from_list) or die "Unexpected order mismatch in apt-cache policy output\n";
-                               # print $pkgname, " - ", $from_list, "\n";
-                               $pkgname = $from_list;
+                               my $ma_fix_from_list = $from_list.':'.$installed->{$from_list}->{'arch'};
+
+                               if ($pkgname eq $ma_fix_from_list || # e.g. ia32-libs-i386.  dpkg -l: ia32-libs-i386, apt-cache policy: ia32-libs-i386:i386
+                                   $ma_fix_pkgname eq $from_list) {
+                                       $pkgname = $from_list;
+                               } else {
+                                       die "Unexpected order mismatch in apt-cache policy output (apt-cache policy name: $pkgname - dpkg -l name: $from_list)\n";
+                               }
                        }
                } elsif ($line =~ /^ +Installed: (.*)$/) {
                        # etch dpkg -l does not print epochs, so use this info, it's better
index 8804b9d..d17632c 100644 (file)
@@ -1,7 +1,11 @@
-dsa-nagios-checks (9x) Xnstable; urgency=low
+dsa-nagios-checks (9x) UNRELEASED; urgency=low
 
+  [ Stephen Gran ]
   * Start new changelog
 
+  [ Peter Palfrader ]
+  * dsa-check-packages: work better with weird multi-arch cases.
+
  -- Stephen Gran <sgran@debian.org>  Sat, 29 Dec 2012 13:28:47 +0000
 
 dsa-nagios-checks (93) unstable; urgency=low