X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=dsa-nagios-nrpe-config%2Fdsa-check-packages;h=b5615e43906a4c39e223017a61f1c6e923340777;hb=35cfb17ee615918cb3b1f00089f1d558d4e6e3a4;hp=ee0027cc6c6f831e7723d1443fa5cc0cacb2f2f9;hpb=9d6ce5773c946ddfcd3712c93bec5859130fe808;p=mirror%2Fdsa-nagios.git diff --git a/dsa-nagios-nrpe-config/dsa-check-packages b/dsa-nagios-nrpe-config/dsa-check-packages index ee0027c..b5615e4 100755 --- a/dsa-nagios-nrpe-config/dsa-check-packages +++ b/dsa-nagios-nrpe-config/dsa-check-packages @@ -77,10 +77,14 @@ sub get_packages { my $installed = $pkgs{'ii'}; delete $pkgs{'ii'}; + open my $olderr, ">&STDERR" or die "Can't dup STDERR: $!"; + open STDERR, ">/dev/null" or die "Can't dup STDOUT: $!"; + open (F, "apt-cache policy ".(join(" ", keys(%$installed)))." |") or die ("Cannot run apt-cache policy: $!\n"); @lines = ; close(F); chomp(@lines); + open STDERR, ">&", $olderr or die "Can't dup OLDERR: $!"; my $line; my $pkgname = undef; @@ -105,6 +109,11 @@ sub get_packages { for my $pkgname (keys %$installed) { my $pkg = $installed->{$pkgname}; + unless (defined($pkg->{'candidate'})) { + $obsolete{$pkgname} = $pkg; + next; + } + if ($pkg->{'candidate'} ne $pkg->{'installed'}) { $outofdate{$pkgname} = $pkg; next;