X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=lib%2FPackages%2FSrcPage.pm;h=e3e6f575c7820ec1e5d4dccc252359322f9dbef1;hb=f22124f7d4071facbaa9ed54cfd64b8cce4bd0f5;hp=aaee2a909919f1a4f207ca6f924a48fb97850894;hpb=f46c14dbc13274569f533b19e27c61960ea9bacd;p=deb%2Fpackages.git diff --git a/lib/Packages/SrcPage.pm b/lib/Packages/SrcPage.pm index aaee2a9..e3e6f57 100644 --- a/lib/Packages/SrcPage.pm +++ b/lib/Packages/SrcPage.pm @@ -12,19 +12,13 @@ our @ISA = qw( Packages::Page ); #FIXME: change parameters so that we can use the version from Packages::Page sub merge_data { - my ($self, $pkg, $version, $data) = @_; - - my %data = ( package => $pkg, - version => $version, - ); - chomp($data); - $data =~ s/\n\s+/\377/g; - while ($data =~ /^(\S+):\s*(.*)\s*$/mg) { - my ($key, $value) = ($1, $2); - $key =~ tr [A-Z] [a-z]; - $data{$key} = $value; - } -# debug( "Merge package:\n".Dumper(\%data), 3 ); + my ($self, $pkg, $suite, $archive, $data) = @_; + + my %data = split /\00/o, $data; + $data{package} = $pkg; + $data{suite} = $suite; + $data{archive} = $archive; + return $self->merge_package( \%data ); } @@ -35,7 +29,7 @@ our @DEP_FIELDS = qw( build-depends build-depends-indep sub merge_package { my ($self, $data) = @_; - ($data->{package} && $data->{version}) || return; + ($data->{package} && $data->{suite} && $data->{archive}) || return; $self->{package} ||= $data->{package}; ($self->{package} eq $data->{package}) || return; debug( "merge package $data->{package}/$data->{version} into $self (".($self->{version}||'').")", 2 ); @@ -62,12 +56,8 @@ sub merge_package { $self->{uploaders} = \@uploaders; if ($data->{files}) { - $self->{files} = []; - foreach my $sf ( split( /\377/, $data->{files} ) ) { - next unless $sf; - # md5, size, name - push @{$self->{files}}, [ split( /\s+/, $sf) ]; - } + my @files = split /\01/so, $data->{files}; + $self->{files} = \@files; } foreach (@DEP_FIELDS) {