use strict;
use IO::Uncompress::AnyInflate qw(anyinflate);
use Dpkg::Version qw(vercmp);
+use Data::Dumper;
sub readsourcebins {
my $arch = shift;
local($/) = ""; # read in paragraph mode
foreach my $s (@$SRC) {
- my $S = new IO::Uncompress::AnyInflate($s) || return "can't open $s";
+ my $S = new IO::Uncompress::AnyInflate($s) || return "WB::QD::SRC can't open $s";
while(<$S>) {
my $p={};
/^Package:\s*(\S+)$/mi and $p->{'name'} = $1;
}
foreach my $p (@$BIN) {
- my $P = new IO::Uncompress::AnyInflate($p) || return "can't open $p";
+ my $P = new IO::Uncompress::AnyInflate($p) || return "WB::QD::PKGS can't open $p";
while(<$P>) {
my $p;
/^Version:\s*(\S+)$/mi and $p->{'version'} = $1;
+ /^Version:\s*(\S+)\+b([0-9]+)$/mi and $p->{'version'} = $1 and $p->{'binnmu'} = $2;
/^Architecture:\s*(\S+)$/mi and $p->{'arch'} = $1;
/^Package:\s*(\S+)$/mi and $p->{'binary'} = $1;
/^Package:\s*(\S+)$/mi and $p->{'source'} = $1;
/^Source:\s*(\S+)$/mi and $p->{'source'} = $1;
/^Source:\s*(\S+)\s+\((\S+)\)$/mi and $p->{'source'} = $1 and $p->{'version'} = $2;
- $p->{'version'} =~ /(\S+)\+b([0-9]+)/ and $p->{'version'} = $1 and $p->{'binnmu'} = $2;
- $binary->{$p->{'binary'}} = { 'version' => $p->{'version'}, 'arch' => $p->{'arch'}} unless $binary->{$p->{'binary'}} and vercmp($binary->{$p->{'binary'}->{'version'}}, $p->{'version'}) < 0;
+ next unless $p->{'arch'} eq 'all' || $p->{'arch'} eq ${arch};
+ $binary->{$p->{'binary'}} = { 'version' => $p->{'version'}, 'arch' => $p->{'arch'}} unless $binary->{$p->{'binary'}} and vercmp($binary->{$p->{'binary'}}->{'version'}, $p->{'version'}) < 0;
#next if $pas->{$p->{'binary'}} && pasignore($pas->{$p->{'binary'}}, $arch);
next if $p->{'arch'} eq 'all';