From: Peter Palfrader Date: Mon, 4 Mar 2013 13:35:21 +0000 (+0100) Subject: dsa-check-packages: work better with weird multi-arch cases X-Git-Url: https://wiki.adam-barratt.org.uk/gitweb/?a=commitdiff_plain;h=1d9d7d6c5a69704f8e1d25fbc998c51a4de426ab;p=mirror%2Fdsa-nagios.git dsa-check-packages: work better with weird multi-arch cases --- diff --git a/dsa-nagios-checks/checks/dsa-check-packages b/dsa-nagios-checks/checks/dsa-check-packages index 22bde57..3ea088d 100755 --- a/dsa-nagios-checks/checks/dsa-check-packages +++ b/dsa-nagios-checks/checks/dsa-check-packages @@ -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 diff --git a/dsa-nagios-checks/debian/changelog b/dsa-nagios-checks/debian/changelog index 8804b9d..d17632c 100644 --- a/dsa-nagios-checks/debian/changelog +++ b/dsa-nagios-checks/debian/changelog @@ -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 Sat, 29 Dec 2012 13:28:47 +0000 dsa-nagios-checks (93) unstable; urgency=low