#!/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 (<FILE>) {
	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";
}

