[qw(unstable testing)]
);
+=item package_name_re
+
+The regex which will match a package name
+
+Default: '[a-z0-9][a-z0-9\.+-]+'
+
+=cut
+
+set_default(\%config,'package_name_re',
+ '[a-z0-9][a-z0-9\.+-]+');
+
+=item package_version_re
+
+The regex which will match a package version
+
+Default: '[A-Za-z0-9:+\.-]+'
+
+=cut
+
+set_default(\%config,'package_version_re',
+ '[A-Za-z0-9:+\.-]+');
+
+
+
+
+
+
+
set_default(\%config,'default_severity','normal');
set_default(\%config,'show_severities','critical, grave, normal, minor, wishlist');
set_default(\%config,'strong_severities',[qw(critical grave)]);
read => [qw(readbug read_bug lockreadbug)],
write => [qw(writebug makestatus unlockwritebug)],
versions => [qw(addfoundversions addfixedversions),
- qw(removefoundversions)
+ qw(removefoundversions removefixedversions)
],
hook => [qw(bughook bughook_archive)],
);
use Debbugs::User;
use HTML::Entities qw(encode_entities);
-use Debbugs::Config qw(:globals);
+use Debbugs::Config qw(:globals :config);
use Debbugs::CGI qw(html_escape);
$lib_path = $gLibPath;
require "$lib_path/errorlib";
} while (&getnextbug);
}
}
- } elsif (m/^found\s+\#?(-?\d+)(?:\s+(\d.*))?$/i) {
+ } elsif (m{^found\s+\#?(-?\d+)
+ (?:\s+(?:$config{package_name_re}\/)?
+ ($config{package_version_re}))?$}ix) {
$ok++;
$ref= $1;
$version= $2;
&addmaintainers($data);
removefoundversions($data, $data->{package}, $version, 'binary');
} while (&getnextbug);
- }
- } elsif (m/^submitter\s+\#?(-?\d+)\s+\!$/i ? ($newsubmitter=$replyto, 1) :
+ }
+ }
+ elsif (m[^fixed\s+\#?(-?\d+)\s+
+ ((?:$config{package_name_re}\/)?
+ $config{package_version_re})\s*$]ix) {
+ $ok++;
+ $ref= $1;
+ $version= $2;
+ if (&setbug) {
+ $action=
+ defined($version) ?
+ "$gBug marked as fixed in version $version." :
+ "$gBug reopened.";
+ do {
+ &addmaintainers($data);
+ addfixedversions($data, $data->{package}, $version, 'binary');
+ } while (&getnextbug);
+ }
+ }
+ elsif (m[^notfixed\s+\#?(-?\d+)\s+
+ ((?:$config{package_name_re}\/)?
+ $config{package_version_re})\s*$]ix) {
+ $ok++;
+ $ref= $1;
+ $version= $2;
+ if (&setbug) {
+ $action=
+ defined($version) ?
+ "$gBug marked as not fixed in version $version." :
+ "$gBug reopened.";
+ do {
+ &addmaintainers($data);
+ removefixedversions($data, $data->{package}, $version, 'binary');
+ } while (&getnextbug);
+ }
+ }
+ elsif (m/^submitter\s+\#?(-?\d+)\s+\!$/i ? ($newsubmitter=$replyto, 1) :
m/^submitter\s+\#?(-?\d+)\s+(\S.*\S)$/i ? ($newsubmitter=$2, 1) : 0) {
$ok++;
$ref= $1;
# -*- mode: cperl;-*-
# $Id: 05_mail.t,v 1.1 2005/08/17 21:46:17 don Exp $
-use Test::More tests => 31;
+use Test::More tests => 37;
use warnings;
use strict;
status_key => 'found_versions',
status_value => [],
},
+ 'fixed_1.1' => {command => 'fixed',
+ value => '1.1',
+ status_key => 'fixed_versions',
+ status_value => ['1.1'],
+ },
+ 'notfixed_1.1' => {command => 'notfixed',
+ value => '1.1',
+ status_key => 'fixed_versions',
+ status_value => [],
+ },
submitter_foo => {command => 'submitter',
value => 'foo@bar.com',
status_key => 'originator',