]> git.donarmstrong.com Git - debbugs.git/blobdiff - Debbugs/CGI/Pkgreport.pm
pass through a binary-to-source cache
[debbugs.git] / Debbugs / CGI / Pkgreport.pm
index 2d0de6f6c74803a704948c31e9fb7ba1961e34ce..6f29e9316263856f3ea5611dc857ae70b8381ba9 100644 (file)
@@ -28,7 +28,7 @@ None known.
 use warnings;
 use strict;
 use vars qw($VERSION $DEBUG %EXPORT_TAGS @EXPORT_OK @EXPORT);
-use base qw(Exporter);
+use Exporter qw(import);
 
 use IO::Scalar;
 use Params::Validate qw(validate_with :types);
@@ -41,7 +41,7 @@ use Debbugs::Bugs qw(bug_filter);
 use Debbugs::Packages qw(:mapping);
 
 use Debbugs::Text qw(:templates);
-use Encode qw(encode_utf8);
+use Encode qw(decode_utf8);
 
 use POSIX qw(strftime);
 
@@ -128,7 +128,7 @@ sub generate_package_info{
      my @references;
      my $pseudodesc = getpseudodesc();
      if ($package and defined($pseudodesc) and exists($pseudodesc->{$package})) {
-         push @references, "to the <a href=\"http://$config{web_domain}/pseudo-packages$config{html_suffix}\">".
+         push @references, "to the <a href=\"$config{web_domain}/pseudo-packages$config{html_suffix}\">".
               "list of other pseudo-packages</a>";
      }
      elsif (not defined $maint and not @{$param{bugs}}) {
@@ -141,14 +141,14 @@ sub generate_package_info{
      else {
          if ($package and defined $config{package_pages} and length $config{package_pages}) {
               push @references, sprintf "to the <a href=\"%s\">%s package page</a>",
-                   html_escape("http://$config{package_pages}/$package"), html_escape("$package");
+                   html_escape("$config{package_pages}/$package"), html_escape("$package");
          }
          if (defined $config{subscription_domain} and
              length $config{subscription_domain}) {
               my $ptslink = $param{binary} ? $srcforpkg : $package;
               # the pts only wants the source, and doesn't care about src: (#566089)
               $ptslink =~ s/^src://;
-              push @references, q(to the <a href="http://).html_escape("$config{subscription_domain}/$ptslink").q(">Package Tracking System</a>);
+              push @references, q(to the <a href=").html_escape("$config{package_tracking_domain}/$ptslink").q(">Package Tracking System</a>);
          }
          # Only output this if the source listing is non-trivial.
          if ($param{binary} and $srcforpkg) {
@@ -166,9 +166,9 @@ sub generate_package_info{
      if (defined $maint) {
          print {$output} "<p>If you find a bug not listed here, please\n";
          printf {$output} "<a href=\"%s\">report it</a>.</p>\n",
-              html_escape("http://$config{web_domain}/Reporting$config{html_suffix}");
+              html_escape("$config{web_domain}/Reporting$config{html_suffix}");
      }
-     return encode_utf8($output_scalar);
+     return decode_utf8($output_scalar);
 }
 
 
@@ -350,12 +350,14 @@ sub pkg_htmlizebugs {
          push @{$exclude{$key}}, split /\s*,\s*/, $value;
      }
 
+     my $binary_to_source_cache = {};
      foreach my $bug (@bugs) {
          my %status = %{get_bug_status(bug=>$bug,
                                        (exists $param{dist}?(dist => $param{dist}):()),
                                        bugusertags => $param{bugusertags},
                                        (exists $param{version}?(version => $param{version}):()),
                                        (exists $param{arch}?(arch => $param{arch}):(arch => $config{default_architectures})),
+                                       binary_to_source_cache => $binary_to_source_cache,
                                       )};
          next unless %status;
          next if bug_filter(bug => $bug,
@@ -367,7 +369,6 @@ sub pkg_htmlizebugs {
                            );
 
          my $html = "<li>"; #<a href=\"%s\">#%d: %s</a>\n<br>",
-              #bug_url($bug), $bug, html_escape($status{subject});
          $html .= short_bug_status_html(status  => \%status,
                                         options => $param{options},
                                        ) . "\n";