die unless -f $ARGV[0]; open(FILE, $ARGV[0]); $package = ""; $status = ""; $version = ""; $source = ""; $sourceversion = ""; while($l = ) { chomp $l; if($l eq "") { if(($status =~ /not-installed/) || !$package || !$status || !$version) { $package = ""; $status = ""; $version = ""; $source = ""; $sourceversion = ""; next; } $source = $package if(!$source); $sourceversion = $version; if($source =~ /^(.*?) \((.*?)\)$/) { $source = $1; $sourceversion = $2; } if(!$printed{$source}) { # print "$source=$sourceversion\n"; print "deb-src http://snapshot.debian.net/archive pool $source\n"; $printed{$source} = 1; } $package = ""; $status = ""; $version = ""; $source = ""; $sourceversion = ""; } else { if($l =~ /^Package: (.*?)$/) { $package = $1; } if($l =~ /^Status: (.*?)$/) { $status = $1; } if($l =~ /^Version: (.*?)$/) { $version = $1; } if($l =~ /^Source: (.*?)$/) { $source = $1; } } } close(FILE);