#!/usr/bin/perl my ($host, $repo, $dist, $kind, $arch); my ($hostl, $repol, $distl, $kindl, $archl); my ($path, $file); $hostl = $ENV{'HOST'} || 'repository.maemo.org'; $repol = $ENV{'REPO'}; $distl = $ENV{'DIST'}; $kindl = $ENV{'KIND'}; $archl = $ENV{'ARCH'}; foreach $host (split /[,\s]+/, $hostl) { foreach $repo (split /[,\s]+/, $repol) { foreach $dist (split /[,\s]+/, $distl) { foreach $kind (split /[,\s]+/, $kindl) { ARCH: foreach $arch (split /[,\s]+/, $archl) { my @paths = ($host); push @paths, $repo if $repo; my $prefix = join '/', @paths; push @paths, 'dists', $dist, $kind, $arch, 'Packages'; $path = join '/', @paths; print STDERR "$path\n"; unless (open PACKAGES, "<$path") { next ARCH; } my %info = (); while ($line = ) { if ($line =~ /^\s*$/) { my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, $atime,$mtime,$ctime,$blksize,$blocks) = stat($prefix.'/'.$info{'Filename'}); if ($size != $info{'Size'}) { print STDERR "! $info{'Packages'} $prefix/$info{'Filename'} $info{'Size'} != $size\n"; print "wget -O $prefix/$info{'Filename'} $prefix/$info{'Filename'}?ssd\n"; } } if ($line =~ /^(Package|Filename|Size|MD5sum):\s*(.*)\s*$/) { $info{$1} = $2; } } close PACKAGES; } } } } }