X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=dsa-nagios-checks%2Fchecks%2Fdsa-check-packages;h=3ea088d9bd46c16a13948fc38bb5ca26d5222d96;hb=f6f6d4bb87036275988c7896088c805620462d4f;hp=22bde57668b789ab3fc56539c83a754132d926c8;hpb=894027eb00ccdcb2b5a9dc88a8c98d14c64d3756;p=mirror%2Fdsa-nagios.git 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