5 use MLDBM qw(DB_File Storable);
8 $MLDBM::DumpMeth=q(portable);
10 my (%srcbin, %binsrc);
11 tie %srcbin, 'MLDBM', '/org/bugs.debian.org/versions/indices/srcbin.idx',
13 or die "tie srcbin.idx: $!";
14 tie %binsrc, 'MLDBM', '/org/bugs.debian.org/versions/indices/binsrc.idx',
16 or die "tie binsrc.idx: $!";
21 for my $file (@files) {
22 my $fh = IO::File->new($file,'r') or
23 die "Unable to open $file for reading: $!";
26 next unless length $_;
27 my ($binname, $binver, $binarch, $srcname, $srcver) = split;
28 # if $srcver is not defined, this is probably a broken
29 # .debinfo file [they were causing #686106, see commit
30 # 49c85ab8 in dak.] Basically, $binarch didn't get put into
31 # the file, so we'll fudge it from the filename.
32 if (not defined $srcver) {
33 ($srcname,$srcver) = ($binarch,$srcname);
34 ($binarch) = $file =~ /_([^\.]+)\.debinfo/;
36 print STDERR "$binname/$binver/$binarch => $srcname/$srcver\n";
38 my $tmp = $srcbin{$srcname};
39 push @{$tmp->{$srcver}}, [$binname, $binver, $binarch];
40 $srcbin{$srcname} = $tmp;
42 $tmp = $binsrc{$binname};
43 $tmp->{$binver}{$binarch} = [$srcname, $srcver];
44 $binsrc{$binname} = $tmp;