# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
use strict;
+use warnings;
use lib './lib';
$| = 1;
$/ = "";
-for my $archive (@ARCHIVES) {
- for my $suite (@SUITES) {
+for my $suite (@SUITES) {
+ my %package_names_suite = ();
+ my %packages_all_db;
+ tie %packages_all_db, "DB_File", "$DBDIR/packages_all_$suite.db.new",
+ O_RDWR|O_CREAT, 0666, $DB_BTREE
+ or die "Error creating DB: $!";
+ for my $archive (@ARCHIVES) {
print "Reading $archive/$suite...\n";
- my %packages_all_db;
- tie %packages_all_db, "DB_File", "$DBDIR/packages_all_$suite.db.new",
- O_RDWR|O_CREAT, 0666, $DB_BTREE
- or die "Error creating DB: $!";
open PKG, "zcat $TOPDIR/archive/$archive/$suite/$what/{,debian-installer/}binary-*/Packages.gz|";
while (<PKG>) {
next if /^\s*$/;
if ($data{'provides'}) {
foreach (split /\s*,\s*/, $data{'provides'}) {
$virtual_packages{$_}{$suite}{$data{'package'}}++;
+ $packages_small{$_} ||= {};
}
}
$package_names{$data{'package'}} = 1;
+ $package_names_suite{$data{'package'}} = 1;
my $src = $data{'package'};
my $src_version = '';
if ($data{'source'}) {
$packages_all_db{"$data{'package'} $data{'architecture'} $data{'version'}"}
= $data;
}
+ }
- untie %packages_all_db;
+ open NAMES, '>', "$DBDIR/package_names_$suite.txt.new"
+ or die "Error creating package names list: $!";
+ foreach (sort keys %package_names_suite) {
+ print NAMES "$_\n";
}
+ close NAMES;
+
+ untie %packages_all_db;
}
print "Writing databases...\n";
for my $suite (@SUITES) {
rename("$DBDIR/packages_all_$suite.db.new",
"$DBDIR/packages_all_$suite.db");
+ rename("$DBDIR/package_names_$suite.txt.new",
+ "$DBDIR/package_names_$suite.txt");
}
rename("$DBDIR/packages_descriptions.db.new",
"$DBDIR/packages_descriptions.db");