diff options
Diffstat (limited to 'urpm.pm')
-rw-r--r-- | urpm.pm | 48 |
1 files changed, 3 insertions, 45 deletions
@@ -544,40 +544,6 @@ sub write_config { write_MD5SUM($urpm); } -sub _configure_parallel { - my ($urpm, $alias) = @_; - my @parallel_options; - #- read parallel configuration - foreach (cat_("/etc/urpmi/parallel.cfg")) { - chomp; s/#.*$//; s/^\s*//; s/\s*$//; - /\s*([^:]*):(.*)/ or $urpm->{error}(N("unable to parse \"%s\" in file [%s]", $_, "/etc/urpmi/parallel.cfg")), next; - $1 eq $alias and push @parallel_options, $2; - } - #- if a configuration option has been found, use it; else fatal error. - my $parallel_handler; - if (@parallel_options) { - foreach my $dir (grep { -d $_ } map { "$_/urpm" } @INC) { - foreach my $pm (grep { -f $_ } glob("$dir/parallel*.pm")) { - #- load parallel modules - $urpm->{log}->(N("examining parallel handler in file [%s]", $pm)); - # perl_checker: require urpm::parallel_ka_run - # perl_checker: require urpm::parallel_ssh - eval { require $pm; $parallel_handler = $urpm->handle_parallel_options(join("\n", @parallel_options)) }; - $parallel_handler and last; - } - $parallel_handler and last; - } - } - if ($parallel_handler) { - if ($parallel_handler->{nodes}) { - $urpm->{log}->(N("found parallel handler for nodes: %s", join(', ', keys %{$parallel_handler->{nodes}}))); - } - $urpm->{parallel_handler} = $parallel_handler; - } else { - $urpm->{fatal}(1, N("unable to use parallel option \"%s\"", $alias)); - } -} - #- read urpmi.cfg file as well as necessary synthesis files #- options : #- root @@ -607,7 +573,8 @@ sub configure { $options{parallel} && $options{usedistrib} and $urpm->{fatal}(1, N("Can't use parallel mode with use-distrib mode")); if ($options{parallel}) { - _configure_parallel($urpm, $options{parallel}); + require urpm::parallel; + urpm::parallel::configure($urpm, $options{parallel}); if (!$options{media} && $urpm->{parallel_handler}{media}) { $options{media} = $urpm->{parallel_handler}{media}; @@ -2268,16 +2235,7 @@ sub resolve_dependencies { } } if ($urpm->{parallel_handler}) { - #- build the global synthesis file first. - my $file = "$urpm->{cachedir}/partial/parallel.cz"; - unlink $file; - foreach (@{$urpm->{media}}) { - is_valid_medium($_) or next; - my $f = statedir_synthesis($urpm, $_); - system "cat '$f' >> '$file'"; - } - #- let each node determine what is requested, according to handler given. - $urpm->{parallel_handler}->parallel_resolve_dependencies($file, $urpm, $state, $requested, %options); + urpm::parallel::resolve_dependencies($urpm, $state, $requested, %options); } else { my $db; |