use vars qw($gPackagePages $gWebDomain);
-if ($ENV{REQUEST_METHOD} eq 'HEAD') {
- print "Content-Type: text/html\n\n";
+if (defined $ENV{REQUEST_METHOD} and $ENV{REQUEST_METHOD} eq 'HEAD') {
+ print "Content-Type: text/html; charset=utf-8\n\n";
exit 0;
}
my $dist = $param{'dist'} || undef;
my $arch = $param{'arch'} || undef;
my $show_list_header = ($param{'show_list_header'} || $userAgent->{'show_list_header'} || "yes" ) eq "yes";
-my $show_foot_header = ($param{'show_foot_header'} || $userAgent->{'show_list_footer'} || "yes" ) eq "yes";
+my $show_list_footer = ($param{'show_list_footer'} || $userAgent->{'show_list_footer'} || "yes" ) eq "yes";
my ($pkg, $src, $maint, $maintenc, $submitter, $severity, $status, $tag);
set_option("version", $version);
set_option("dist", $dist);
set_option("arch", $arch);
+set_option("use-bug-idx", defined($param{'use-bug-idx'}) ? $param{'use-bug-idx'} : 0);
set_option("show_list_header", $show_list_header);
-set_option("show_foot_header", $show_foot_header);
+set_option("show_list_footer", $show_list_footer);
my $title;
my @bugs;
$title .= " (version $version)";
} elsif (defined $dist) {
$title .= " in $dist";
- my $distver = getversion($pkg, $dist, $arch);
- $title .= " (version $distver)" if defined $distver;
+ my $verdesc = getversiondesc($pkg);
+ $title .= " ($verdesc)" if defined $verdesc;
}
my @pkgs = split /,/, $pkg;
@bugs = @{getbugs(sub {my %d=@_;
}, 'package', @pkgs)};
} elsif (defined $src) {
$title = "source $src";
+ set_option('arch', 'source');
if (defined $version) {
$title .= " (version $version)";
} elsif (defined $dist) {
$title .= " in $dist";
- my $distver = getversion($src, $dist, 'source');
- $title .= " (version $distver)" if defined $distver;
+ my $verdesc = getversiondesc($src);
+ $title .= " ($verdesc)" if defined $verdesc;
}
my @pkgs = ();
my @srcs = split /,/, $src;
$title = "submitter $submitter";
$title .= " in $dist" if defined $dist;
my @submitters = split /,/, $submitter;
- @bugs = @{getbugs(sub {my %d=@_; my $se;
- ($se = $d{"submitter"} || "") =~ s/\s*\(.*\)\s*//;
- $se = $1 if ($se =~ m/<(.*)>/);
- return 1 if grep($se eq $_, @submitters);
- }, 'submitter-email', @submitters)};
+ @bugs = @{getbugs(sub {my %d=@_;
+ my @se = getparsedaddrs($d{"submitter"} || "");
+ foreach my $try (@submitters) {
+ return 1 if grep { $_->address eq $try } @se;
+ }
+ }, 'submitter-email', @submitters)};
} elsif (defined($severity) && defined($status)) {
$title = "$status $severity bugs";
$title .= " in $dist" if defined $dist;
my $result = htmlizebugs(\@bugs);
-print "Content-Type: text/html\n\n";
+print "Content-Type: text/html; charset=utf-8\n\n";
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
print "<HTML><HEAD>\n" .
my $showresult = 1;
if (defined $pkg || defined $src) {
+ my $showpkg = (defined $pkg) ? $pkg : "source package $src";
my %maintainers = %{getmaintainers()};
my $maint = $pkg ? $maintainers{$pkg} : $maintainers{$src} ? $maintainers{$src} : undef;
if (defined $maint) {
print '<p>';
- my $showpkg = (defined $pkg) ? $pkg : "source package $src";
print htmlmaintlinks(sub { $_[0] == 1 ? "Maintainer for $showpkg is "
: "Maintainers for $showpkg are "
},
$maint);
print ".</p>\n";
+ } else {
+ print "<p>No maintainer for $showpkg. Please do not report new bugs against this package.</p>\n";
}
if (defined $maint or @bugs) {
my %pkgsrc = %{getpkgsrc()};
if ($pkg and defined($pseudodesc) and exists($pseudodesc->{$pkg})) {
push @references, "to the <a href=\"http://${debbugs::gWebDomain}/pseudo-packages${debbugs::gHTMLSuffix}\">list of other pseudo-packages</a>";
} else {
- if ($pkg) {
+ if ($pkg and defined $debbugs::gPackagePages) {
push @references, sprintf "to the <a href=\"%s\">%s package page</a>", urlsanit("http://${debbugs::gPackagePages}/$pkg"), htmlsanit("$pkg");
}
if (defined $debbugs::gSubscriptionDomain) {
push @references, sprintf "to the source package <a href=\"%s\">%s</a>'s bug page", srcurl($srcforpkg), htmlsanit($srcforpkg);
}
}
+ if ($pkg) {
+ set_option("archive", !$archive);
+ push @references, sprintf "to the <a href=\"%s\">%s reports for %s</a>", pkgurl($pkg), ($archive ? "active" : "archived"), htmlsanit($pkg);
+ set_option("archive", $archive);
+ }
if (@references) {
$references[$#references] = "or $references[$#references]" if @references > 1;
print "<p>You might like to refer ", join(", ", @references), ".</p>\n";