X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=aptcheck%2Faptcheck.pl;h=ad72adba15804d9c2ed17e16e78a1f68b0e23bb7;hb=fe107795d8c5c5dd4df63dee5c7aa9ba81d13a45;hp=c5d17be7d0863094432dab624c1517b1f9a9d9dd;hpb=f7535a3e90a312d10eb50178cfb28f04598460df;p=git-tools-moved-to-github.git diff --git a/aptcheck/aptcheck.pl b/aptcheck/aptcheck.pl index c5d17be..ad72adb 100755 --- a/aptcheck/aptcheck.pl +++ b/aptcheck/aptcheck.pl @@ -31,6 +31,7 @@ my %normhosts; my %normpkgs; my %okhosts; my %skiphosts; +my %allhosts; my $sectot = 0; my $owntot = 0; my $normtot = 0; @@ -43,6 +44,7 @@ for $hline ( split("\n",$hostlist) ) { next if ($H =~ /^commands/ ); next if ($H =~ /^servicegroups/ ); print "Checking $H\n" if $debug; + $allhosts{$H}=1; my $apt = `ssh $H apt-get upgrade -s -o 'Debug::NoLocking=true' `; # Note, do not append -qq, we want some output even when nothing to do if ( !$apt ) { @@ -65,21 +67,19 @@ for $hline ( split("\n",$hostlist) ) { $pkgs++; my $key = $pkg; if ( $src =~ /Security/ ) { - $det .= "$pkg"; - $key = "$pkg"; + $det .= "$pkg (s) "; $sechosts{$H}=1; $secpkgs{$pkg}=1; $secs++; $sectot++; } elsif ( $src =~ /Indexdata/ ) { - $det .= "$pkg"; - $key = "$pkg"; + $det .= "$pkg (id) "; $ownhosts{$H}=1; $ownpkgs{$pkg}=1; $own++; $owntot++; } else { - $det .= "$pkg"; + $det .= "$pkg "; $normhosts{$H}=1; $normpkgs{$pkg}=1; $normtot++; @@ -87,9 +87,9 @@ for $hline ( split("\n",$hostlist) ) { if ( !$summary{$key} ) { $summary{$key} = ""; } + $summary{$key} .= "$H "; $new = strdiff($cur,$new); $cur = strdiff($new,$cur); - $summary{$key} .= "$H "; $det .= " "; $det .= "
" ; -print F " | Security " . scalar(keys(%sechosts)) . - " / " . scalar(keys(%secpkgs)) . " / $sectot | \n" ;
-print F "Indexdata " . scalar(keys(%ownhosts)) . - " / " . scalar(keys(%ownpkgs)) . " / $owntot | \n" ;
-print F "Normal " . scalar(keys(%normhosts)) . - " / " . scalar(keys(%normpkgs)) . " / $normtot | " . "
Hosts | \n"; - - -print F ""; -for $HH ( sort(keys(%sechosts)) ) { - print F "$HH "; +print F " | Hosts | \n"; +print F "Packages |
Security " . scalar(keys(%sechosts)) . + " / " . scalar(keys(%secpkgs)) . " / $sectot | \n" ;
+ print F ""; + for $HH ( sort(keys(%sechosts)) ) { + print F "$HH "; + } + print F " | "; + print F ""; + for $PP ( sort(keys(%secpkgs)) ) { + print F "$PP "; + } + print F " | "; + print F "" . join(" ",sort(keys(%sechosts))) . " | "; -#print F "" . join(" ",sort(keys(%ownhosts))) . " | "; -print F ""; -for $HH ( sort(keys(%ownhosts)) ) { - print F "$HH "; +if ( $owntot ) { + print F " |
Indexdata " . scalar(keys(%ownhosts)) . + " / " . scalar(keys(%ownpkgs)) . " / $owntot | \n" ;
+ print F ""; + for $HH ( sort(keys(%ownhosts)) ) { + print F "$HH "; + } + print F " | "; + print F ""; + for $PP ( sort(keys(%ownpkgs)) ) { + print F "$PP "; + } + print F " | "; + print F "" . join(" ",sort(keys(%normhosts))) . " | \n"; -print F ""; -for $HH ( sort(keys(%normhosts)) ) { - print F "$HH "; +if ( $normtot ) { + print F " |
Normal " . scalar(keys(%normhosts)) . + " / " . scalar(keys(%normpkgs)) . " / $normtot | \n" ;
+ print F ""; + for $HH ( sort(keys(%normhosts)) ) { + print F "$HH "; + } + print F " | "; + print F ""; + for $PP ( sort(keys(%normpkgs)) ) { + print F "$PP "; + } + print F " | "; + print F "|
Skipped " . scalar(keys(%skiphosts)) . " | \n"; + print F ""; + for $HH ( sort(keys(%skiphosts)) ) { + print F "$HH "; + } + print F " | ||
Ok " . scalar(keys(%okhosts)) . " | \n"; + print F ""; + for $HH ( sort(keys(%okhosts)) ) { + print F "$HH "; + } + print F " | ||
Packages | \n"; -print F "" . join(" ",sort(keys(%secpkgs))) . " | "; -print F "" . join(" ",sort(keys(%ownpkgs))) . " | "; -print F "" . join(" ",sort(keys(%normpkgs))) . " |
$PN | \n"; + print F ""; + for $HH ( split(' ',$summary{$P} )) { + print F "$HH "; + } + print F " | \n"; + +} +print F "