{ head("Lintian Tag: $tag", 1) }
  <h1><span class="type-{$code}">{$code}</span> {$tag}</h1>

  <p>
    All reports of {$tag} for the archive. The extended description of this
    tag is:
  </p>

  <blockquote class="type-{$code}">
{$description}
  </blockquote>

  <p>
    The package names link to the relevant maintainer page and the
    corresponding report for the source package.  The links go to the full
    maintainer report page, which includes info and experimental tags and
    overridden tags, rather than the default page that shows only errors
    and warnings.
  </p> 
{
    # We get a list of tag data.  We create a separate paragraph for each
    # package name.
    my ($last, $tag, $has_nonoverridden);
    for my $info (sort { $a->{package} cmp $b->{package} } @tags) {
        if (!$last
            or "$info->{package} $info->{type}" ne "$last->{package} $last->{type}") {
            if ($last) {
                my $overridden = $has_nonoverridden ? '' : qq{ <span class="type-O">overridden</span>};
                $OUT .= qq(  <h2 class="tag"><a href="../full/$last->{xref}">);
                $OUT .= "$last->{package}</a> ($last->{type})$overridden</h2>\n";
                $OUT .= qq(  <ul class="tag">\n);
                $OUT .= $tag;
                $OUT .= "</ul>\n";
            }
            $last = $info;
            $tag = '';
            $has_nonoverridden = 0;
        }
        $has_nonoverridden = 1 if $info->{code} ne 'O';
        if ($info->{extra}) {
            $tag .= qq{    <li class="type-$info->{code}">};
            $tag .= qq{<span class="type-O">O</span> } if $info->{code} eq 'O';
            $tag .= "$info->{extra}</li>\n";
        }
    }
    my $overridden = $has_nonoverridden ? '' : qq{ <span class="type-O">overridden</span>};
    $OUT .= qq(  <h2 class="tag"><a href="../full/$last->{xref}">);
    $OUT .= "$last->{package}</a> ($last->{type})$overridden</h2>\n";
    $OUT .= qq(  <ul class="tag">\n);
    $OUT .= $tag;
    $OUT .= "</ul>\n";
}
{ foot() }
