From 9798710de11d8451f613d753cf0051967c753fac Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Mon, 17 Sep 2012 18:03:03 +0000 Subject: (resolve_requested_suggests) split it out of resolve_requested() --- URPM/Resolve.pm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'URPM') diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm index 7a4ea5d..b6ceac6 100644 --- a/URPM/Resolve.pm +++ b/URPM/Resolve.pm @@ -882,7 +882,14 @@ sub resolve_requested { my @selected = resolve_requested__no_suggests($urpm, $db, $state, $requested, %options); if (!$options{no_suggests}) { - my @todo = @selected; + @selected = resolve_requested_suggests($urpm, $db, $state, \@selected, %options); + } + @selected; +} + +sub resolve_requested_suggests { + my ($urpm, $db, $state, $selected, %options) = @_; + my @todo = @$selected; while (@todo) { my $pkg = shift @todo; my %suggests = map { $_ => 1 } $pkg->suggests or next; @@ -908,11 +915,11 @@ sub resolve_requested { my %new_requested = map { $_ => undef } keys %suggests; my @new_selected = resolve_requested__no_suggests_($urpm, $db, $state, \%new_requested, %options); $state->{selected}{$_->id}{suggested} = 1 foreach @new_selected; - push @selected, @new_selected; + push @$selected, @new_selected; push @todo, @new_selected; } - } - @selected; + + @$selected; } #- Resolve dependencies of requested packages; keep resolution state to -- cgit v1.2.1