summaryrefslogtreecommitdiffstats
path: root/urpm/parallel_ka_run.pm
diff options
context:
space:
mode:
Diffstat (limited to 'urpm/parallel_ka_run.pm')
-rw-r--r--urpm/parallel_ka_run.pm5
1 files changed, 3 insertions, 2 deletions
diff --git a/urpm/parallel_ka_run.pm b/urpm/parallel_ka_run.pm
index 58ec5798..4352cd00 100644
--- a/urpm/parallel_ka_run.pm
+++ b/urpm/parallel_ka_run.pm
@@ -76,15 +76,16 @@ sub parallel_install {
copy_to_dir($parallel, $urpm, values %$install, values %$upgrade, "$urpm->{cachedir}/rpms");
- my %bad_nodes;
+ my (%bad_nodes, @good_nodes);
$parallel->urpm_popen($urpm, 'urpmi', "--pre-clean --test --no-verify-rpm --auto --synthesis $parallel->{synthesis} $parallel->{line}", sub {
my ($node, $s) = @_;
$s =~ /^\s*$/ and return;
$bad_nodes{$node} .= $s;
$s =~ /Installation failed/ and $bad_nodes{$node} = '';
- $s =~ /Installation is possible/ and delete $bad_nodes{$node};
+ $s =~ /Installation is possible/ and push @good_nodes, $node;
undef;
});
+ delete $bad_nodes{$_} foreach @good_nodes;
foreach (keys %{$parallel->{nodes}}) {
exists $bad_nodes{$_} or next;