$MLDBM::RemoveTaint = 1;
+my $common_mindays = 0;
+my $common_maxdays = -1;
my $common_archive = 0;
my $common_repeatmerged = 1;
my %common_include = ();
if ($opt eq "version") { $common_version = $val; }
if ($opt eq "dist") { $common_dist = $val; }
if ($opt eq "arch") { $common_arch = $val; }
+ if ($opt eq "maxdays") { $common_maxdays = $val; }
+ if ($opt eq "mindays") { $common_mindays = $val; }
}
sub readparse {
my $args = '';
$args .= ";archive=yes" if $common_archive;
$args .= ";repeatmerged=no" unless $common_repeatmerged;
+ $args .= ";mindays=${common_mindays}" unless $common_mindays == 0;
+ $args .= ";maxdays=${common_maxdays}" unless $common_maxdays == -1;
$args .= ";version=$common_version" if defined $common_version;
$args .= ";dist=$common_dist" if defined $common_dist;
$args .= ";arch=$common_arch" if defined $common_arch;
return 1 if (bugmatches(%common_exclude, %status));
}
my @merged = sort {$a<=>$b} $bug, split(/ /, $status{mergedwith});
+ my $daysold = int((time - $status{date}) / 86400); # seconds to days
+ return 1 unless ($common_mindays <= $daysold);
+ return 1 unless ($common_maxdays == -1 || $daysold <= $common_maxdays);
return 1 unless ($common_repeatmerged || !$seenmerged{$merged[0]});
$seenmerged{$merged[0]} = 1;
return 0;
my $pend_inc = $param{'&pend-inc'} || $param{'pend-inc'} || "";
my $sev_exc = $param{'&sev-exc'} || $param{'sev-exc'} || "";
my $sev_inc = $param{'&sev-inc'} || $param{'sev-inc'} || "";
+my $maxdays = ($param{'maxdays'} || -1);
+my $mindays = ($param{'mindays'} || 0);
my $version = $param{'version'} || undef;
my $dist = $param{'dist'} || undef;
my $arch = $param{'arch'} || undef;
set_option("pend-inc", $pend_inc);
set_option("sev-exc", $sev_exc);
set_option("sev-inc", $sev_inc);
+set_option("maxdays", $maxdays);
+set_option("mindays", $mindays);
set_option("version", $version);
set_option("dist", $dist);
set_option("arch", $arch);