#!/usr/bin/perl @t = ('BYHAND', 'CONFIRM', 'NEW', 'REJECT', 'INSTALL', 'SKIP'); $/=""; IR: while (<>) { for $i (1..$#t) { if (/^$t[$i]/m) { $data[$i] .= "$_\n"; $cnt[$i]++; if ($t[$i] eq "NEW") { ($dist) = (/^NEW to (.*)/m); while (/^\(new\) ([^_]*)_\S* (\S*) (\S*)$/mg) { ($n,$p,$s) = ($1,$2,$3); $p = "?" if (!$p); $s = "?" if (!$s); $s = "non-free/$p" if ($dist=~'non-free' && $s!~'non-free'); $s = "contrib/$p" if ($dist=~'contrib' && $s!~'contrib'); $l = length($n)>15 ? 30-length($n) : 15; for $d (split(/, /,$dist)) { $d.='-contrib' if ($s =~ 'contrib' && $d!~'contrib'); $d.='-non-free' if ($s =~ 'non-free' && $d!~'non-free'); $override{$d} .= sprintf("%-15s %-${l}s %s\n", $n, $p, $s) if (!$over{$n}); $over{$n} = 1; } } } next IR; } } $data[0] .= "$_\n"; $cnt[$i]++; } for $i (0..$#t) { print "-"x40, "\n$cnt[$i] $t[$i]\n", "-"x40, "\n$data[$i]" if $cnt[$i]; } print "-"x40, "\nOVERRIDE ADDITIONS\n", "-"x40,"\n"; for $d (sort keys %override) { print "-"x5," $d\n$override{$d}\n\n"; }