aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--URPM/Resolve.pm24
1 files changed, 12 insertions, 12 deletions
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm
index fa6c51f..877339b 100644
--- a/URPM/Resolve.pm
+++ b/URPM/Resolve.pm
@@ -48,6 +48,11 @@ sub find_candidate_packages {
}
\%packages;
}
+sub find_candidate_packages_ {
+ my ($urpm, $id_prop, $o_rejected) = @_;
+ my $packages = find_candidate_packages($urpm, $id_prop, $o_rejected);
+ map { @$_ } values %$packages;
+}
sub get_installed_arch {
my ($db, $n) = @_;
@@ -326,10 +331,9 @@ sub backtrack_selected {
#- search for all possible packages, first is to try the selection, then if it is
#- impossible, backtrack the origin.
- my $packages = find_candidate_packages($urpm, $dep->{required});
+ my @packages = find_candidate_packages_($urpm, $dep->{required});
- foreach (values %$packages) {
- foreach (@$_) {
+ foreach (@packages) {
#- avoid dead loop.
exists $state->{backtrack}{selected}{$_->id} and next;
#- a package if found is problably rejected or there is a problem.
@@ -357,7 +361,6 @@ sub backtrack_selected {
exists $dep->{from} ? (from => $dep->{from}) : @{[]},
exists $dep->{requested} ? (requested => $dep->{requested}) : @{[]},
};
- }
}
}
}
@@ -551,11 +554,8 @@ sub resolve_requested__no_suggests {
while (my ($r, $v) = each %$requested) {
unless ($options{keep_requested_flag}) {
#- keep track of requested packages by propating the flag.
- my $packages = find_candidate_packages($urpm, $r);
- foreach (values %$packages) {
- foreach (@$_) {
+ foreach (find_candidate_packages_($urpm, $r)) {
$_->set_flag_requested;
- }
}
}
#- keep value to be available from selected hash.
@@ -842,13 +842,13 @@ sub _handle_diff_provides {
#- try if upgrading the package will be satisfying all the requires...
#- there is no need to avoid promoting epoch as the package examined is not
#- already installed.
- my $packages = find_candidate_packages($urpm, $p->name, $state->{rejected});
+ my @packages = find_candidate_packages_($urpm, $p->name, $state->{rejected});
my $best = join '|', map { $_->id }
grep { ($_->name eq $p->name ||
$_->obsoletes_overlap($p->name . " == " . $p->epoch . ":" . $p->version . "-" . $p->release))
&& $_->fullname ne $p->fullname &&
unsatisfied_requires($urpm, $db, $state, $_, name => $n) == 0 }
- map { @{$_ || []} } values %$packages;
+ @packages;
if (length $best) {
$urpm->{debug_URPM}("promoting " . $urpm->{depslist}[$best]->fullname . " because of conflict above") if $urpm->{debug_URPM};
@@ -858,10 +858,10 @@ sub _handle_diff_provides {
#- there exists enough packages that provided the unsatisfied requires.
my @best;
foreach (@l) {
- $packages = find_candidate_packages($urpm, $_, $state->{rejected});
+ my @packages = find_candidate_packages_($urpm, $_, $state->{rejected});
$best = join('|', map { $_->id }
grep { $_->fullname ne $p->fullname }
- map { @{$_ || []} } values %$packages);
+ @packages);
$best and push @best, $best;
}