summaryrefslogtreecommitdiffstats
path: root/urpm/parallel.pm
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2008-07-09 19:03:10 +0000
committerPascal Rigaux <pixel@mandriva.com>2008-07-09 19:03:10 +0000
commit568e51a65c52ddebe015cec9462a44f7cf5011df (patch)
treef5bfbb787fa3f0a2bc1cb4f51a1b961c818024d6 /urpm/parallel.pm
parente60d47449744866c1cc78079b8048dbc482d9b08 (diff)
downloadurpmi-568e51a65c52ddebe015cec9462a44f7cf5011df.tar
urpmi-568e51a65c52ddebe015cec9462a44f7cf5011df.tar.gz
urpmi-568e51a65c52ddebe015cec9462a44f7cf5011df.tar.bz2
urpmi-568e51a65c52ddebe015cec9462a44f7cf5011df.tar.xz
urpmi-568e51a65c52ddebe015cec9462a44f7cf5011df.zip
factorize code into urpm::parallel::find_remove_pre()
Diffstat (limited to 'urpm/parallel.pm')
-rw-r--r--urpm/parallel.pm19
1 files changed, 19 insertions, 0 deletions
diff --git a/urpm/parallel.pm b/urpm/parallel.pm
index 441da68a..e881c09c 100644
--- a/urpm/parallel.pm
+++ b/urpm/parallel.pm
@@ -76,4 +76,23 @@ sub post_register_rpms {
map { "$urpm->{cachedir}/rpms/" . basename($_) } @files);
}
+sub find_remove_pre {
+ my ($urpm, $state, %options) = @_;
+
+ #- keep in mind if the previous selection is still active, it avoids
+ #- to re-start urpme --test on each node.
+ if ($options{find_packages_to_remove}) {
+ delete $state->{rejected};
+ delete $urpm->{error_remove};
+ '--test ';
+ } elsif (@{$urpm->{error_remove} || []}) {
+ undef, $urpm->{error_remove};
+ } elsif ($options{test}) {
+ #- no need to restart what has been started before.
+ undef, [ keys %{$state->{rejected}} ];
+ } else {
+ '--force ';
+ }
+}
+
1;