my $sp;
if (not defined $src_pkgs{$versions[$i][0]}) {
$src_pkgs{$versions[$i][0]} =
- $s->resultset('SrcPkg')->find_or_create({pkg => $versions[$i][0]});
+ $s->resultset('SrcPkg')->
+ get_src_pkg_id($versions[$i][0]);
}
$sp = $src_pkgs{$versions[$i][0]};
# There's probably something wrong if the source package
# doesn't exist, but we'll skip it for now
- next unless defined $sp;
- my $sv = $s->resultset('SrcVer')->find({src_pkg=>$sp->id(),
+ last if not defined $sp;
+ my $sv = $s->resultset('SrcVer')->find({src_pkg=>$sp,
ver => $versions[$i][1],
});
+ last if not defined $sv;
if (defined $ancestor_sv and defined $sv and not defined $sv->based_on()) {
- $sv->update({based_on => $ancestor_sv->id()})
+ $sv->update({based_on => $ancestor_sv})
}
- $ancestor_sv = $sv;
+ $ancestor_sv = $sv->id();
}
$p->update() if $p;
}
}
return unless @files;
my $s = db_connect($options);
- my %cache;
$p->target(scalar @files) if $p;
my $it = natatime 100, @files;
while (my @v = $it->()) {
+ my %cache;
my @debinfos;
for my $file (@v) {
my $fh = IO::File->new($file,'r') or
($srcname,$srcver) = ($binarch,$srcname);
($binarch) = $file =~ /_([^\.]+)\.debinfo/;
}
+ if (not defined $srcver) {
+ print STDERR "malformed debinfo (no srcver): $file\n";
+ next;
+ }
push @debinfos,
[$binname,$binver,$binarch,$srcname,$srcver,$ct_date];
}