#!/v/openpkg/sw/bin/perl
##
##  00TRACK.pl
##

use IO::File;

my @files = map { s/^\.\///s; s/\r?\n$//s; $_; } `find . -name "*.L" -print`;
foreach my $file (@files) {
    my $io = new IO::File "<$file" or die $!;
    my $url = <$io>;
    $url =~ s/^\s+//s;
    $url =~ s/\s+$//s;
    $io->close();

    my $distfile = $file;
    $distfile =~ s/\.L$//;

    printf("%-68s", $distfile);

    my $sha1_old = `openssl sha1 $distfile`;
    $sha1_old =~ s/^SHA1\(.+\)=\s*([0-9a-f]+)\s*$/$1/s;

    system("fetch -q -a -w 10 -T 60 -p -o $distfile.tmp $url");
    my $sha1_new = `openssl sha1 $distfile.tmp`;
    $sha1_new =~ s/^SHA1\(.+\)=\s*([0-9a-f]+)\s*$/$1/s;

    if ($sha1_new ne $sha1_old) {
        system("mv $distfile.tmp $distfile.NEW");
        print "MODIFIED\n";
        print "    OLD: $distfile     (SHA1: 0x$sha1_old)\n";
        print "    NEW: $distfile.NEW (SHA1: 0x$sha1_new)\n";
    }
    else {
        system("rm -f $distfile.tmp");
        print "OK\n";
    }
}
