summaryrefslogtreecommitdiffstats
path: root/urpm/parallel_ssh.pm
diff options
context:
space:
mode:
Diffstat (limited to 'urpm/parallel_ssh.pm')
-rw-r--r--urpm/parallel_ssh.pm25
1 files changed, 1 insertions, 24 deletions
diff --git a/urpm/parallel_ssh.pm b/urpm/parallel_ssh.pm
index b8ed7bbb..3275efcd 100644
--- a/urpm/parallel_ssh.pm
+++ b/urpm/parallel_ssh.pm
@@ -129,30 +129,7 @@ sub parallel_resolve_dependencies {
or $urpm->{fatal}(1, "Can't fork ssh: $!");
while (defined ($_ = <$fh>)) {
chomp;
- 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("host %s does not have a good version of urpmi (%d)", $node, $? >> 8));
}