use Debbugs::DB;
use DateTime;
use File::stat;
-use List::MoreUtils qw(natatime);
+use List::AllUtils qw(natatime uniq);
use POSIX qw(ceil);
my %options =
my %subcommands =
('update' => {function => \&update_cache,
+ arguments => {'suites|suite=s@' => 0,
+ },
},
'help' => {function => sub {pod2usage({verbose => 2});}}
);
# get all of the possible architectures that we might care about
# select distinct s.codename,a.arch from bin_associations ba join bin_ver bv on ba.bin=bv.id join suite s on ba.suite=s.id join arch a on bv.arch=a.id;
- my @suites =
- $s->resultset('Suite')->
- search_rs({active => 1,
- },
- {result_class => 'DBIx::Class::ResultClass::HashRefInflator'}
- )->all();
+ my @suites;
+ if (exists $opts->{suites}) {
+ @suites =
+ $s->resultset('Suite')->
+ search_rs({active => 1,
+ -or => {codename => [make_list($opts->{suites})],
+ suite_name => [make_list($opts->{suites})],
+ },
+ },
+ {result_class => 'DBIx::Class::ResultClass::HashRefInflator'}
+ )->all();
+ } else {
+ @suites =
+ $s->resultset('Suite')->
+ search_rs({active => 1,
+ },
+ {result_class => 'DBIx::Class::ResultClass::HashRefInflator'}
+ )->all();
+ }
my @bugs;
my $bugs;
if ($options->{quick}) {
# select all bugs which are in packages which have had a binary
# association modified
push @bugs,
- map {$_->{'bug_binpackages.id'}}
+ map {$_->{bug_binpackages}{bug}}
$s->resultset('BinAssociation')->
search_rs({'me.modified' => {'>=',$last_query_time},
},
- {columns => [qw(bug_binpackage.id)],
- join => {bin_ver =>
+ {columns => [qw(bug_binpackages.bug)],
+ join => {bin =>
{bin_pkg =>
- 'bug_binpackage'
+ 'bug_binpackages'
}},
result_class => 'DBIx::Class::ResultClass::HashRefInflator',
},
)->all();
# or a source association modified
push @bugs,
- map {$_->{'bug_srcpackages.id'}}
+ map {$_->{bug_srcpackages}{bug}}
$s->resultset('SrcAssociation')->
search_rs({'me.modified' => {'>=',$last_query_time},
},
- {columns => [qw(bug_srcpackage.id)],
- join => {src_ver =>
+ {columns => [qw(bug_srcpackages.bug)],
+ join => {source =>
{src_pkg =>
- 'bug_srcpackage'
+ 'bug_srcpackages'
}},
result_class => 'DBIx::Class::ResultClass::HashRefInflator',
},