Bug#563126: [reporting/] code used to group together tags fails in some cases
Russ Allbery wrote:
> Raphael Geissert writes:>
>> I remember it working on .17
>
> I don't see any code in Lintian that will do that. It would require
> sorting the tags before writing the output page so that all instances of
> the same tag are grouped, but everything comes straight out of lintian.log
> into an array and that array goes in that order to maintainer.tmpl, which
> only combines if the tag is the same as the previous tag. Since the tags
> are being issued in a loop over the init scripts, Lintian outputs all the
> tags for a given init script separately.
Right. I guess what I was thinking about was the per-tag view which does
group them nicely.
>
> I think this patch would fix it, but another set of eyes would be great.
Thanks!
>
> diff --git a/reporting/html_reports b/reporting/html_reports
> index ea2f836..324914f 100755
> --- a/reporting/html_reports
> +++ b/reporting/html_reports
> @@ -362,12 +363,16 @@ for my $maintainer (@maintainers) {
> # Determine if the maintainer's page is clean. Check all packages
> # for which they're either maintainer or uploader and set
> # $error_clean if they have no errors or warnings.
> + #
> + # Also take this opportunity to sort the tags so that all similar
> tags
> + # will be grouped, which produces better HTML output.
> my $error_clean = 1;
> for my $source (keys %{ $by_maint{$maintainer} },
> keys %{ $by_uploader{$maintainer} }) {
> my $versions = $by_maint{$maintainer}{$source}
> || $by_uploader{$maintainer}{$source};
> for my $version (keys %$versions) {
> + $versions->{$version} = [ sort by_tag @$tags ];
Shouldn't this be?:
$versions->{$version} = [ sort by_tag @{$versions->{$version}} ];
Cheers,
--
Raphael Geissert - Debian Developer
www.debian.org - get.debian.net
Reply to: