diff options
Diffstat (limited to 'urpm/parallel_ka_run.pm')
-rw-r--r-- | urpm/parallel_ka_run.pm | 25 |
1 files changed, 1 insertions, 24 deletions
diff --git a/urpm/parallel_ka_run.pm b/urpm/parallel_ka_run.pm index e8ae8b9c..93b1d959 100644 --- a/urpm/parallel_ka_run.pm +++ b/urpm/parallel_ka_run.pm @@ -117,30 +117,7 @@ sub parallel_resolve_dependencies { while (<$fh>) { chomp; (my $node, $_) = _parse_rshp_output($_) or next; - if (my ($action, $what) = /^\@([^\@]*)\@(.*)/) { - if ($action eq 'removing') { - $state->{rejected}{$what}{removed} = 1; - $state->{rejected}{$what}{nodes}{$node} = undef; - } - } elsif (/\|/) { - #- distant urpmq returned a choices, check if it has already been chosen - #- or continue iteration to make sure no more choices are left. - $cont ||= 1; #- invalid transitory state (still choices is strange here if next sentence is not executed). - unless (grep { exists $chosen{$_} } split /\|/, $_) { - my $choice = $options{callback_choices}->($urpm, undef, $state, [ map { $urpm->search($_) } split /\|/, $_ ]); - if ($choice) { - $chosen{scalar $choice->fullname} = $choice; - #- it has not yet been chosen so need to ask user. - $cont = 2; - } else { - #- no choices resolved, so forget it (no choices means no choices at all). - $cont = 0; - } - } - } else { - my $pkg = $urpm->search($_) or next; #TODO - $state->{selected}{$pkg->id}{$node} = $_; - } + urpm::parallel::parse_urpmq_output($urpm, $state, $node, $_, \$cont, \%chosen, %options); } close $fh or $urpm->{fatal}(1, N("rshp failed, maybe a node is unreacheable")); #- check for internal error of resolution. |