+unless (%status) {
+ print $q->header(-type => "text/html",
+ -charset => 'utf-8',
+ (length $mtime)?(-last_modified => $mtime):(),
+ );
+ print fill_in_template(template=>'cgi/no_such_bug',
+ variables => {modify_time => $dtime,
+ bug_num => $ref,
+ },
+ );
+ exit 0;
+}
+
+#$|=1;
+
+my %package;
+my @packages = make_list($status{package});
+
+foreach my $pkg (@packages) {
+ if ($pkg =~ /^src\:/) {
+ my ($srcpkg) = $pkg =~ /^src:(.*)/;
+ $package{$pkg} = {maintainer => exists($maintainer{$srcpkg}) ? $maintainer{$srcpkg} : '(unknown)',
+ source => $srcpkg,
+ package => $pkg,
+ is_source => 1,
+ };
+ }
+ else {
+ $package{$pkg} = {maintainer => exists($maintainer{$pkg}) ? $maintainer{$pkg} : '(unknown)',
+ exists($pkgsrc{$pkg}) ? (source => $pkgsrc{$pkg}) : (),
+ package => $pkg,
+ };
+ }
+}
+
+# fixup various bits of the status
+$status{tags_array} = [sort(make_list($status{tags}))];
+$status{date_text} = strftime('%a, %e %b %Y %T UTC', gmtime($status{date}));
+$status{mergedwith_array} = [make_list($status{mergedwith})];
+
+
+my $version_graph = '';
+if (@{$status{found_versions}} or @{$status{fixed_versions}}) {
+ $version_graph = q(<a href=").
+ html_escape(version_url(package => $status{package},
+ found => $status{found_versions},
+ fixed => $status{fixed_versions},
+ )
+ ).
+ q("><img alt="version graph" src=").
+ html_escape(version_url(package => $status{package},
+ found => $status{found_versions},
+ fixed => $status{fixed_versions},
+ width => 2,
+ height => 2,
+ )
+ ).
+ qq{"></a>};
+}
+
+
+
+my @blockedby= make_list($status{blockedby});
+$status{blockedby_array} = [];
+if (@blockedby && $status{"pending"} ne 'fixed' && ! length($status{done})) {
+ for my $b (@blockedby) {
+ my %s = %{get_bug_status($b)};
+ next if $s{"pending"} eq 'fixed' || length $s{done};
+ push @{$status{blockedby_array}},{bug_num => $b, subject => $s{subject}, status => \%s};
+ }
+}
+
+my @blocks= make_list($status{blocks});
+$status{blocks_array} = [];
+if (@blocks && $status{"pending"} ne 'fixed' && ! length($status{done})) {
+ for my $b (@blocks) {
+ my %s = %{get_bug_status($b)};
+ next if $s{"pending"} eq 'fixed' || length $s{done};
+ push @{$status{blocks_array}}, {bug_num => $b, subject => $s{subject}, status => \%s};
+ }
+}
+
+if ($buglog !~ m#^\Q$gSpoolDir/db#) {
+ $status{archived} = 1;
+}