$status_experimental = get_status($f, $bug, 'experimental') if ($experimental_tag);
$relinfo = "";
- $relinfo .= (($oldstable_tag && $status_oldstable->{'pending'} eq 'pending') ? "O" : "");
- $relinfo .= (($stable_tag && $status_stable->{'pending'} eq 'pending') ? "S" : "");
- $relinfo .= (($testing_tag && $status_testing->{'pending'} eq 'pending') ? "T" : "");
- $relinfo .= (($unstable_tag && $status_unstable->{'pending'} eq 'pending') ? "U" : "");
- $relinfo .= (($experimental_tag && $status_experimental->{'pending'} eq 'pending') ? "E" : "");
+ $relinfo .= (($oldstable_tag && $status_oldstable eq 'pending') ? "O" : "");
+ $relinfo .= (($stable_tag && $status_stable eq 'pending') ? "S" : "");
+ $relinfo .= (($testing_tag && $status_testing eq 'pending') ? "T" : "");
+ $relinfo .= (($unstable_tag && $status_unstable eq 'pending') ? "U" : "");
+ $relinfo .= (($experimental_tag && $status_experimental eq 'pending') ? "E" : "");
next if $relinfo eq '' and not $premature{$f};
$premature{$f}++ if $relinfo eq '';
my @versions = Debbugs::Status::getversions($bug->{'package'}, $dist, undef);
my @sourceversions = Debbugs::Status::makesourceversions($bug->{'package'}, undef, @versions);
- return Debbugs::Status::max_buggy(bug => $bugnr,
+ if (length($bug->{'done'}) and
+ (not @sourceversions or not @{$bug->{'fixed_versions'}})) {
+ return 'done';
+ }
+ if (@sourceversions) {
+ my $max_buggy = Debbugs::Status::max_buggy(bug => $bugnr,
sourceversions => \@sourceversions,
found => $bug->{'found_versions'},
fixed => $bug->{'fixed_versions'},
version_cache => $_version_cache,
package => $bug->{'package'});
+ if ($max_buggy eq 'absent' || $max_buggy eq 'fixed') {
+ return $max_buggy;
+ }
+ }
+
+ return 'pending';
}
sub check_worry {