+ open(FILE, $config->{reportdir}."/$source/$filename")
+ or die "Can't open ".$config->{reportdir}."/$source/$filename: $!";
+ binmode(FILE);
+ my $tested_md5sum = Digest::MD5->new->addfile(*FILE)->hexdigest;
+ if ($md5sum eq $tested_md5sum) {
+ open (my $urifh, '>', $config->{reportdir}."/$source/$filename.md5")
+ or die "Could not open " . $config->{reportdir}."/$source/$filename.md5 for writing: $!";
+ print $urifh $md5sum;
+ close $urifh;
+ open ($urifh, '>', $config->{reportdir}."/$source/$filename.uri")
+ or die "Could not open " . $config->{reportdir}."/$source/$filename.uri for writing: $!";
+ print $urifh "$uri\n";
+ close $urifh;
+ } else {
+ print STDERR "md5sum mismatch of $uri\n";
+ push @{$package_tree->{$package}->{'errors'}}, "$uri failed: md5sum mismatch";
+ $error =1;
+ }