Subject: Re: Closing a blocker does not update bugreport.cgi for bug it blocks

From: Glenn Morris <[email-masked]>
Date: Thu, 26 May 2016 13:57:57 -0400

These may be the relevant lines from bugreport.cgi:

# the log should almost always be newer, but just in case
my $log_mtime = +(stat $buglog)[9] || time;
my $status_mtime = +(stat $bug_status)[9] || time;
my $mtime = strftime '%a, %d %b %Y %T GMT', gmtime(max($status_mtime,$log_mtime));

if ($q->request_method() eq 'HEAD' and not defined($att) and not $mbox)
{
     print $q->header(-type => "text/html",
                      -charset => 'utf-8',
                     (length $mtime)?(-last_modified => $mtime):(),
                     );
     exit 0;
}

Further down, we have:

my @blockedby= split(/ /, $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};
   }
}

So, one would have to get the status array before the HEAD section, and
when blockedby is non-nil, check the mtimes for those bugs too, and use
the latest of all of them.