#! /usr/bin/perl
$root="/org/ftp.root/debian";
$sid="$root/dists/unstable";

for $avail ("main","contrib","non-free")
{
	my $file="$sid/$avail/binary-i386/Packages.gz";
	open PKG, "zcat $file |" or die "can't open $file";
	while(<PKG>)
	{
		/^Package: (.+)/ and do {$pkg=$1;next;};
		/^Filename: (.+)/ and do {$file{$pkg}=$1;next;};
	}
	close PKG;
}

open MENU, "zcat $sid/Contents-i386.gz |" or die "can't read Contents-i386.gz";

while(<MENU>)
{
  /^FILE/ and last;
}

while(<MENU>)
{
	my($file,$pkgs)=split(' ');
	$file =~ m{^usr/share/doc-base} or next;
	@pkgs=split(',',$pkgs);
	@pkgs=split('/',$pkgs[0]);
	if (!defined($file{$pkgs[-1]}))
	{
	  print("Package $pkgs[-1] not found\n");
	  next;
	}
	$f="$root/$file{$pkgs[-1]}";
	#print "$file\t$f\n";
	system("dpkg-deb --fsys-tarfile  $f | tar xf - ./$file 2>/dev/null");
}
system("tar zcf docbasefiles.tgz usr");
