diff options
author | Francois Pons <fpons@mandriva.com> | 2003-05-23 15:26:45 +0000 |
---|---|---|
committer | Francois Pons <fpons@mandriva.com> | 2003-05-23 15:26:45 +0000 |
commit | 25b1de4bf26f227415fc0182a2cfae1a6c529024 (patch) | |
tree | 234146d8251076df684b6011c05aec637e139bd0 /URPM.pm | |
parent | 89a57ce09d4a2af1ee997be0ac2d34b91044e356 (diff) | |
download | perl-URPM-25b1de4bf26f227415fc0182a2cfae1a6c529024.tar perl-URPM-25b1de4bf26f227415fc0182a2cfae1a6c529024.tar.gz perl-URPM-25b1de4bf26f227415fc0182a2cfae1a6c529024.tar.bz2 perl-URPM-25b1de4bf26f227415fc0182a2cfae1a6c529024.tar.xz perl-URPM-25b1de4bf26f227415fc0182a2cfae1a6c529024.zip |
0.90-1mdk0.90
first backtrackable method, still lacking backtrack of remove and
better handling of choices during backtrack, too much simplist.
Diffstat (limited to 'URPM.pm')
-rw-r--r-- | URPM.pm | 54 |
1 files changed, 29 insertions, 25 deletions
@@ -4,7 +4,7 @@ use strict; use DynaLoader; our @ISA = qw(DynaLoader); -our $VERSION = '0.84'; +our $VERSION = '0.90'; URPM->bootstrap($VERSION); @@ -21,41 +21,45 @@ sub search { my $best; #- tries other alternative if no strict searching. - unless ($options{strict}) { + unless ($options{strict_name}) { if ($name =~ /^(.*)-([^\-]*)-([^\-]*)\.([^\.\-]*)$/) { foreach (keys %{$urpm->{provides}{$1} || {}}) { my $pkg = $urpm->{depslist}[$_]; $pkg->fullname eq $name and return $pkg; } } - if ($name =~ /^(.*)-([^\-]*)-([^\-]*)$/) { - foreach (keys %{$urpm->{provides}{$1} || {}}) { - my $pkg = $urpm->{depslist}[$_]; - my ($n, $v, $r, $a) = $pkg->fullname; - $options{src} && $a eq 'src' || $pkg->is_arch_compat or next; - "$n-$v-$r" eq $name or next; - !$best || $pkg->compare_pkg($best) > 0 and $best = $pkg; + unless ($options{strict_fullname}) { + if ($name =~ /^(.*)-([^\-]*)-([^\-]*)$/) { + foreach (keys %{$urpm->{provides}{$1} || {}}) { + my $pkg = $urpm->{depslist}[$_]; + my ($n, $v, $r, $a) = $pkg->fullname; + $options{src} && $a eq 'src' || $pkg->is_arch_compat or next; + "$n-$v-$r" eq $name or next; + !$best || $pkg->compare_pkg($best) > 0 and $best = $pkg; + } + $best and return $best; } - $best and return $best; - } - if ($name =~ /^(.*)-([^\-]*)$/) { - foreach (keys %{$urpm->{provides}{$1} || {}}) { - my $pkg = $urpm->{depslist}[$_]; - my ($n, $v, undef, $a) = $pkg->fullname; - $options{src} && $a eq 'src' || $pkg->is_arch_compat or next; - "$n-$v" eq $name or next; - !$best || $pkg->compare_pkg($best) > 0 and $best = $pkg; + if ($name =~ /^(.*)-([^\-]*)$/) { + foreach (keys %{$urpm->{provides}{$1} || {}}) { + my $pkg = $urpm->{depslist}[$_]; + my ($n, $v, undef, $a) = $pkg->fullname; + $options{src} && $a eq 'src' || $pkg->is_arch_compat or next; + "$n-$v" eq $name or next; + !$best || $pkg->compare_pkg($best) > 0 and $best = $pkg; + } + $best and return $best; } - $best and return $best; } } - foreach (keys %{$urpm->{provides}{$name} || {}}) { - my $pkg = $urpm->{depslist}[$_]; - my ($n, undef, undef, $a) = $pkg->fullname; - $options{src} && $a eq 'src' || $pkg->is_arch_compat or next; - $n eq $name or next; - !$best || $pkg->compare_pkg($best) > 0 and $best = $pkg; + unless ($options{strict_fullname}) { + foreach (keys %{$urpm->{provides}{$name} || {}}) { + my $pkg = $urpm->{depslist}[$_]; + my ($n, undef, undef, $a) = $pkg->fullname; + $options{src} && $a eq 'src' || $pkg->is_arch_compat or next; + $n eq $name or next; + !$best || $pkg->compare_pkg($best) > 0 and $best = $pkg; + } } return $best; |