diff options
Diffstat (limited to 'urpm')
-rw-r--r-- | urpm/parallel_ka_run.pm | 8 | ||||
-rw-r--r-- | urpm/parallel_ssh.pm | 8 |
2 files changed, 10 insertions, 6 deletions
diff --git a/urpm/parallel_ka_run.pm b/urpm/parallel_ka_run.pm index 68e5c80b..84dd9840 100644 --- a/urpm/parallel_ka_run.pm +++ b/urpm/parallel_ka_run.pm @@ -139,9 +139,11 @@ sub parallel_resolve_dependencies { while (defined ($_ = <F>)) { chomp; s/<([^>]*)>.*:->:(.*)/$2/ and $node = $1; - if (/^\@removing\@(.*)/) { - $state->{rejected}{$1}{removed} = 1; - $state->{rejected}{$1}{nodes}{$node} = undef; + 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. diff --git a/urpm/parallel_ssh.pm b/urpm/parallel_ssh.pm index a0831c14..636bd128 100644 --- a/urpm/parallel_ssh.pm +++ b/urpm/parallel_ssh.pm @@ -143,9 +143,11 @@ sub parallel_resolve_dependencies { open F, "ssh $node urpmq --synthesis $synthesis -fduc $line ".join(' ', keys %chosen)." |"; while (defined ($_ = <F>)) { chomp; - if (/^\@removing\@(.*)/) { - $state->{rejected}{$1}{removed} = 1; - $state->{rejected}{$1}{nodes}{$node} = undef; + 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. |