[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: