X-Git-Url: https://git.deb.at/?p=deb%2Fpackages.git;a=blobdiff_plain;f=lib%2FPackages%2FDoNewPkg.pm;h=44960896ec23061af29edf30453ab0237166e01a;hp=c9e0ca23f009f79615048c7d1a4519230667e2e7;hb=cc6c820a1e503808b7ac1e2bff132de23f87606b;hpb=49052885778c856da9b93a5f2f9e8877a827c3c5 diff --git a/lib/Packages/DoNewPkg.pm b/lib/Packages/DoNewPkg.pm index c9e0ca2..4496089 100644 --- a/lib/Packages/DoNewPkg.pm +++ b/lib/Packages/DoNewPkg.pm @@ -3,16 +3,12 @@ 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 ); our @EXPORT = qw( do_newpkg ); -use Packages::I18N::Locale; use Packages::Search qw( :all ); use Packages::CGI; use Packages::DB; @@ -20,17 +16,19 @@ use Packages::Config qw( $TOPDIR @SECTIONS $ROOT ); sub do_newpkg { my ($params, $opts, $page_content) = @_; + my $cat = $opts->{cat}; if ($params->{errors}{suite}) { - fatal_error( _g( "suite not valid or not specified" ) ); + fatal_error( $cat->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( $cat->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 +37,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( $cat->g("no newpkg information found for suite %s", + $suite) ); + return; + }; while () { 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;