#!/usr/bin/perl # Copyright (C) 1996 Florian La Roche opendir ( DIR, "." ) || die "Cannot read dir '.'"; @dirs = sort ( readdir ( DIR ) ); closedir ( DIR ); foreach $ser_name ( @dirs ) { next if ( !($ser_name =~ /[1-9]$/) ); opendir ( FILES, "$ser_name" ); @files = sort ( readdir ( FILES ) ); closedir ( FILES ); foreach $packet ( @files ) { $filename = "$ser_name/$packet"; if ( $packet =~ /\.tgz$/ ) { $packages{$filename} = 'exists'; } else { print STDERR "$filename ignored!\n" unless ( $packet =~ /^\./ ); } } } $dir = ''; open (FILE, "files") || die "Cannot open listing file."; while () { chop; next if ( /^#/ ); next if ( /^DES/ ); if ( /^DIR . ([a-z0-9]+) / ) { $dir = $1; next; } if ( ! /^TAR . ([a-z_0-9]+) / ) { print "Unrecognized line: $_\n"; next; } $file = "$dir/$1.tgz"; if ( $packages{$file} =~ /^exists$/ ) { delete $packages{$file}; } else { print STDERR "Package $file in listing, but doesn't exist.\n"; } } close FILE; foreach (keys(%packages)) { print STDERR "Package $_ exists, but not in listing.\n"; }