my %sourceversions;
if (defined $param{version}) {
foreach my $arch (make_list($param{arch})) {
- my @temp = makesourceversions($status{package},
- $arch,
- make_list($param{version})
- );
- @sourceversions{@temp} = (1) x @temp;
+ for my $package (split /\s*,\s*/, $status{package}) {
+ my @temp = makesourceversions($package,
+ $arch,
+ make_list($param{version})
+ );
+ @sourceversions{@temp} = (1) x @temp;
+ }
}
} elsif (defined $param{dist}) {
foreach my $arch (make_list($param{arch})) {
my @versions;
- foreach my $dist (make_list($param{dist})) {
- push @versions, getversions($status{package}, $dist, $arch);
+ for my $package (split /\s*,\s*/, $status{package}) {
+ foreach my $dist (make_list($param{dist})) {
+ push @versions, getversions($package, $dist, $arch);
+ }
+ my @temp = makesourceversions($package,
+ $arch,
+ @versions
+ );
+ @sourceversions{@temp} = (1) x @temp;
}
- my @temp = makesourceversions($status{package},
- $arch,
- @versions
- );
- @sourceversions{@temp} = (1) x @temp;
}
}
# update realtime index.db
+ return () unless keys %bugs;
my $idx_old = IO::File->new($file,'r')
or die "Couldn't open ${file}: $!";
my $idx_new = IO::File->new($file.'.new','w')
my %changed_bugs;
while($line = <$idx_old>) {
@line = split /\s/, $line;
- last unless (keys %bugs) > 0;
# Two cases; replacing existing line or adding new line
if (exists $bugs{$line[1]}) {
my $new = $bugs{$line[1]};
while ($line[1] > $min_bug) {
print {$idx_new} $bugs{$min_bug};
delete $bugs{$min_bug};
+ last unless keys %bugs;
$min_bug = min(keys %bugs);
}
print {$idx_new} $line;
}
+ last unless keys %bugs;
}
print {$idx_new} map {$bugs{$_}} sort keys %bugs;