aboutsummaryrefslogtreecommitdiffstats
path: root/URPM.pm
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2003-05-23 15:26:45 +0000
committerFrancois Pons <fpons@mandriva.com>2003-05-23 15:26:45 +0000
commit25b1de4bf26f227415fc0182a2cfae1a6c529024 (patch)
tree234146d8251076df684b6011c05aec637e139bd0 /URPM.pm
parent89a57ce09d4a2af1ee997be0ac2d34b91044e356 (diff)
downloadperl-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.pm54
1 files changed, 29 insertions, 25 deletions
diff --git a/URPM.pm b/URPM.pm
index 04f6b03..0be03d9 100644
--- a/URPM.pm
+++ b/URPM.pm
@@ -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;