$pkgs++;
my $key = $pkg;
if ( $src =~ /Security/ ) {
- $det .= "<b>$pkg (s) </b>";
- $key = "<b>$pkg</b>";
+ $det .= "<b>$pkg (s)</b> ";
$sechosts{$H}=1;
$secpkgs{$pkg}=1;
$secs++;
$sectot++;
} elsif ( $src =~ /Indexdata/ ) {
$det .= "<i><b>$pkg</b> (id) </i>";
- $key = "<i>$pkg</i>";
$ownhosts{$H}=1;
$ownpkgs{$pkg}=1;
$own++;
$owntot++;
} else {
- $det .= "$pkg";
+ $det .= "$pkg ";
$normhosts{$H}=1;
$normpkgs{$pkg}=1;
$normtot++;
if ( !$summary{$key} ) {
$summary{$key} = "";
}
+ $summary{$key} .= "$H ";
$new = strdiff($cur,$new);
$cur = strdiff($new,$cur);
- $summary{$key} .= "$H ";
$det .= "</td> ";
$det .= "<td>$cur</td> ";
$det .= "<td>$new</td> ";
$okhosts{$H} = 1;
}
my $updlink = $wikilink . ucfirst($H) . "Updates" . $year;
+ # Fix some pages that do not follow the convention.
+ # Mostly because the host names would not make proper WikiWords
+ $updlink =~ s/Bugzilla3Updates/BugzillaUpdates/;
+ $updlink =~ s/Opencontent-solrUpdates/OpenContentSolrUpdates/;
$table .= " <a href='$updlink' >Upd</a>";
$table .= "</td></tr>\n";
$table .= $det if $pkgs;
print F "<H1>Apt package status</H1>\n";
-# Summary table - NEW: one row for per host group
+# Summary table: one row for per host group
print F "<p/>\n";
print F "<table border='1' >\n";
print F "<tr><td> </td>" ;
if ( $sectot ) {
print F "<tr><td><b>Security</b><br/>" . scalar(keys(%sechosts)) .
- " / " . scalar(keys(%secpkgs)) . " / $sectot </td>\n" ;
+ " / " . scalar(keys(%secpkgs)) . " / $sectot </td>\n" ;
print F "<td>";
for $HH ( sort(keys(%sechosts)) ) {
print F "<a href='#$HH'><b>$HH</b></a> ";
}
- print F "<td>" . join(" ",sort(keys(%secpkgs))) . " </td>";
+ print F "</td>";
+ print F "<td>";
+ for $PP ( sort(keys(%secpkgs)) ) {
+ print F "<a href='#$PP'>$PP</a> ";
+ }
+ print F "</td>";
print F "</tr>\n";
}
if ( $owntot ) {
print F "<tr><td><b>Indexdata</b><br/>" . scalar(keys(%ownhosts)) .
- " / " . scalar(keys(%ownpkgs)) . " / $owntot </td>\n" ;
+ " / " . scalar(keys(%ownpkgs)) . " / $owntot </td>\n" ;
print F "<td>";
for $HH ( sort(keys(%ownhosts)) ) {
print F "<a href='#$HH'><b>$HH</b></a> ";
}
- print F "<td>" . join(" ",sort(keys(%ownpkgs))) . " </td>";
+ print F "</td>";
+ print F "<td>";
+ for $PP ( sort(keys(%ownpkgs)) ) {
+ print F "<a href='#$PP'>$PP</a> ";
+ }
+ print F "</td>";
print F "</tr>\n";
}
if ( $normtot ) {
- print F "<tr><td>Indexdata<br/>" . scalar(keys(%normhosts)) .
- " / " . scalar(keys(%normpkgs)) . " / $normtot </td>\n" ;
+ print F "<tr><td>Normal<br/>" . scalar(keys(%normhosts)) .
+ " / " . scalar(keys(%normpkgs)) . " / $normtot </td>\n" ;
print F "<td>";
for $HH ( sort(keys(%normhosts)) ) {
print F "<a href='#$HH'><b>$HH</b></a> ";
}
- print F "<td>" . join(" ",sort(keys(%normpkgs))) . " </td>";
+ print F "</td>";
+ print F "<td>";
+ for $PP ( sort(keys(%normpkgs)) ) {
+ print F "<a href='#$PP'>$PP</a> ";
+ }
+ print F "</td>";
print F "</tr>\n";
}
if ( %skiphosts ) {
- print F "<tr><td>Skipped: " . scalar(keys(%skiphosts)) . "</td>\n";
+ print F "<tr><td>Skipped " . scalar(keys(%skiphosts)) . "</td>\n";
print F "<td colspan='2'>";
for $HH ( sort(keys(%skiphosts)) ) {
print F "<a href='#$HH'><b>$HH</b></a> ";
print F "</td></tr>\n";
}
if ( %okhosts ) {
- print F "<tr><td>Ok: " . scalar(keys(%okhosts)) . "</td>\n";
+ print F "<tr><td>Ok " . scalar(keys(%okhosts)) . "</td>\n";
print F "<td colspan='2'>";
for $HH ( sort(keys(%okhosts)) ) {
print F "<a href='#$HH'><b>$HH</b></a> ";
# The host table
print F $table;
+# Package table
+print F "<p/><b><u>Packages</u></b>\n";
+print F "<table>\n";
+for $P ( sort(keys(%summary)) ) {
+ my $PN = $P;
+ $PN = "<b>$P (s)</b>" if ($secpkgs{$P});
+ $PN = "$P (id)" if ($ownpkgs{$P});
+ print F "<tr><td><a name='$P'/>$PN</td>\n";
+ print F "<td>";
+ for $HH ( split(' ',$summary{$P} )) {
+ print F "<a href=#$HH>$HH</a> ";
+ }
+ print F "</td>\n";
+
+}
+print F "</table>\n";
+
print F "<p/>Produced " . `date`.
" on " . `hostname` . " by " . `whoami` .
"<br/>\n";
my $x = shift;
my $y = shift;
print "strdiff: '$x' '$y' \n" if $debug>1;
+ if ( $x eq $y ) {
+ return "$x <b>??</b>";
+ }
my $a = 0;
while ( $a < length($y) &&
substr($x,$a,1) eq substr($y,$a,1) ) {
$a++;
}
if ( $a == length($y) ) {
- return "$y ???";
+ return "$y ??";
}
my $b = 1;
while ( $b < length($y)-$a &&