]> git.deb.at Git - deb/packages.git/blobdiff - bin/newpkg_info
Add some .gitignore files
[deb/packages.git] / bin / newpkg_info
index cdfac5f5e1b6ab07f3be19a4479675f1ac345982..e2f36aef9790dcd4d7ec14136a9abb6d8fec73ac 100755 (executable)
@@ -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 $suite = $ARGV[0] or die "Fatal Error: No suite given";
 my $start_time = time;
 
+tie my %packages, 'DB_File', "$DBDIR/packages_small.db",
+    O_RDONLY, 0666, $DB_BTREE
+    or die "Fatal Error: Couldn't tie DB $DBDIR/packages_small.db: $!\n";
+
 sub get_iso_date {
     my ($age) = @_;
 
@@ -23,20 +28,26 @@ sub get_iso_date {
 }
 
 open CHANGES, '>', "$TOPDIR/files/packages/newpkg_info.new"
-    or die "Couldn't open CHANGES file: $!";
+    or die "Fatal Error: Couldn't open CHANGES file: $!";
 for (my $age = 0; $age < 7; $age++) {
     my (%old, %changes);
     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 "Warning: Couldn't open OLD file $TOPDIR/files/packages/package_names_$suite.$oldday: $!\n";
+           next;
+       };
+    open NEW, '<', "$TOPDIR/files/packages/package_names_$suite.$newday"
+       or do {
+           warn "Warning: Couldn't open NEW file $TOPDIR/files/packages/package_names_$suite.$newday: $!\n";
+           next;
+       };
     while (<OLD>) {
        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: $!";
     while (<NEW>) {
        chomp;
        if ($old{$_}) {
@@ -54,13 +65,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 "Fatal Error: 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");