X-Git-Url: https://git.deb.at/?p=deb%2Fpackages.git;a=blobdiff_plain;f=bin%2Fnewpkg_info;h=700a07989b5345cda1c63ab743655cb61e18d293;hp=175119aa6b82b7471d8c9015f60b7837aa33e730;hb=4cb36e543bb889e040b1c95b6d697582e28eeec2;hpb=8404c87d60bb7911d78a17dd5fd319460ff5fba7 diff --git a/bin/newpkg_info b/bin/newpkg_info index 175119a..700a079 100755 --- a/bin/newpkg_info +++ b/bin/newpkg_info @@ -11,12 +11,12 @@ 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 "couldn't tie DB $DBDIR/packages_small.db: $!\n"; + or die "Fatal Error: Couldn't tie DB $DBDIR/packages_small.db: $!\n"; sub get_iso_date { my ($age) = @_; @@ -28,23 +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 do { - warn"Couldn't open OLD file $TOPDIR/files/packages/package_names_$suite.$oldday: $!\n"; - last; + 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 () { 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: $!\n"; while () { chomp; if ($old{$_}) { @@ -61,9 +64,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 $_\n"; - shift @$entry; # remove virtual pkg info + my $entry = []; + if ($changes{$_} == 1) { + $entry = read_entry_simple( \%packages, $_, \%archives, $suite); + die "Fatal Error: Can't find entry for package $_\n" + unless @$entry; + shift @$entry; # remove virtual pkg info + } print CHANGES join(" ", $_, $age, @$entry)."\n"; print "Wrote entry: ".join(" ", $_, $age, @$entry)."\n"; }