]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/DoNewPkg.pm
Packages::DoNewPkg: Support new backend format
[deb/packages.git] / lib / Packages / DoNewPkg.pm
index c9e0ca23f009f79615048c7d1a4519230667e2e7..9be98d54aba8b0724c13106b7d8cf077220116b2 100644 (file)
@@ -3,10 +3,7 @@ package Packages::DoNewPkg;
 use strict;
 use warnings;
 
-use Benchmark ':hireswallclock';
-use HTML::Entities;
 use POSIX;
-use XML::RSS;
 use CGI ();
 use Exporter;
 our @ISA = qw( Exporter );
@@ -25,12 +22,12 @@ sub do_newpkg {
        fatal_error( _g( "suite not valid or not specified" ) );
     }
     if (@{$opts->{suite}} > 1) {
-       fatal_error( sprintf( _g( "more than one suite specified for show (%s)" ), "@{$opts->{suite}}" ) );
+       fatal_error( sprintf( _g( "more than one suite specified for newpkg (%s)" ), "@{$opts->{suite}}" ) );
     }
 
     my $sort_func = sub { $_[0][0] cmp $_[1][0] };
     $sort_func = sub { $_[0][1] <=> $_[1][1] or $_[0][0] cmp $_[1][0] }
-    if $opts->{mode} eq 'byage';
+       if $opts->{mode} eq 'byage';
 
     my $suite = $opts->{suite}[0];
     my $one_archive = @{$opts->{archive}} == 1 ?
@@ -39,13 +36,18 @@ sub do_newpkg {
        $opts->{section}[0] : undef;
 
     my @new_pkgs;
-    #FIXME: move to Packages::DB?
-    open NEWPKG, '<', "$TOPDIR/files/packages/newpkg_info"
-       or die "can't read newpkg_info file: $!";
+    open NEWPKG, '<', "$TOPDIR/files/packages/newpkg_info_$suite"
+       or do {
+           warn "can't read newpkg_info_$suite: $!";
+           fatal_error( sprintf( _g("no newpkg information found for suite %s"),
+                                 $suite) );
+           return;
+    };
     while (<NEWPKG>) {
        chomp;
-       my @data = split /\s/, $_, 10;
+       my @data = split /\s/, $_, 11;
 
+       next unless $data[2]; #removed packages
        next unless $data[3] eq $suite;
        next if $one_archive and $data[2] ne $one_archive;
        next if $one_section and $data[5] ne $one_section;