X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=bin%2Fnewpkg_info;h=175119aa6b82b7471d8c9015f60b7837aa33e730;hb=892f09b6213c97863a80657f15b7ceb13962a776;hp=cdfac5f5e1b6ab07f3be19a4479675f1ac345982;hpb=a3e6aa1e34000d0a7faa1773bd6bc32c32cfa625;p=deb%2Fpackages.git diff --git a/bin/newpkg_info b/bin/newpkg_info index cdfac5f..175119a 100755 --- a/bin/newpkg_info +++ b/bin/newpkg_info @@ -3,16 +3,21 @@ use strict; use warnings; +use DB_File; + use lib './lib'; -use Packages::Config qw( $TOPDIR ); -use Packages::DB; +use Packages::Config qw( $TOPDIR $DBDIR ); use Packages::Search qw( :all ); &Packages::Config::init( './' ); my $suite = $ARGV[0] or die "No suite given"; my $start_time = time; +tie my %packages, 'DB_File', "$DBDIR/packages_small.db", + O_RDONLY, 0666, $DB_BTREE + or die "couldn't tie DB $DBDIR/packages_small.db: $!\n"; + sub get_iso_date { my ($age) = @_; @@ -29,14 +34,17 @@ for (my $age = 0; $age < 7; $age++) { my $newday = get_iso_date( $age ); my $oldday = get_iso_date( $age+1 ); open OLD, '<', "$TOPDIR/files/packages/package_names_$suite.$oldday" - or die "Couldn't open OLD file $TOPDIR/files/packages/package_names_$suite.$oldday: $!"; + or do { + warn"Couldn't open OLD file $TOPDIR/files/packages/package_names_$suite.$oldday: $!\n"; + last; + }; while () { chomp; $old{$_} = 1; } close OLD; open NEW, '<', "$TOPDIR/files/packages/package_names_$suite.$newday" - or die "Couldn't open NEW file $TOPDIR/files/packages/package_names_$suite.$newday: $!"; + or die "Couldn't open NEW file $TOPDIR/files/packages/package_names_$suite.$newday: $!\n"; while () { chomp; if ($old{$_}) { @@ -54,13 +62,13 @@ for (my $age = 0; $age < 7; $age++) { my %archives = map { $_ => 1 } qw( us security non-US ); foreach (sort keys %changes) { my $entry = read_entry_simple( \%packages, $_, \%archives, $suite) - or die "Can't find entry for package $_"; + or die "Can't find entry for package $_\n"; shift @$entry; # remove virtual pkg info print CHANGES join(" ", $_, $age, @$entry)."\n"; print "Wrote entry: ".join(" ", $_, $age, @$entry)."\n"; } } -closes CHANGES; +close CHANGES; rename("$TOPDIR/files/packages/newpkg_info.new", "$TOPDIR/files/packages/newpkg_info");