summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--urpm/parallel_ka_run.pm8
-rw-r--r--urpm/parallel_ssh.pm10
-rw-r--r--urpmi.spec1
3 files changed, 14 insertions, 5 deletions
diff --git a/urpm/parallel_ka_run.pm b/urpm/parallel_ka_run.pm
index 42e30f0c..d8aa59f7 100644
--- a/urpm/parallel_ka_run.pm
+++ b/urpm/parallel_ka_run.pm
@@ -11,7 +11,7 @@ sub parallel_register_rpms {
#- keep trace of direct files.
foreach (@files) {
my $basename = (/^.*\/([^\/]*)$/ && $1) || $_;
- $parallel->{line} .= "$urpm->{cachedir}/rpms/$basename";
+ $parallel->{line} .= "'$urpm->{cachedir}/rpms/$basename' ";
}
}
@@ -119,9 +119,13 @@ sub parallel_resolve_dependencies {
}
#- simplified choices resolution.
my $choice = $options{callback_choices}->($urpm, undef, $state, [ values %$packages ]);
- $line .= ' '.$choice->fullname;
+ if ($choice) {
+ $urpm->{source}{$choice->id} and next; #- local packages have already been added.
+ $line .= ' '.$choice->fullname;
+ }
} else {
my $pkg = $urpm->{depslist}[$_] or next;
+ $urpm->{source}{$pkg->id} and next; #- local packages have already been added.
$line .= ' '.$pkg->fullname;
}
}
diff --git a/urpm/parallel_ssh.pm b/urpm/parallel_ssh.pm
index 271453cb..a9da4a0c 100644
--- a/urpm/parallel_ssh.pm
+++ b/urpm/parallel_ssh.pm
@@ -14,7 +14,7 @@ sub parallel_register_rpms {
#- keep trace of direct files.
foreach (@files) {
my $basename = (/^.*\/([^\/]*)$/ && $1) || $_;
- $parallel->{line} .= "$urpm->{cachedir}/rpms/$basename";
+ $parallel->{line} .= "'$urpm->{cachedir}/rpms/$basename' ";
}
}
@@ -123,9 +123,13 @@ sub parallel_resolve_dependencies {
}
#- simplified choices resolution.
my $choice = $options{callback_choices}->($urpm, undef, $state, [ values %$packages ]);
- $choice and $line .= ' '.$choice->fullname;
+ if ($choice) {
+ $urpm->{source}{$choice->id} and next; #- local packages have already been added.
+ $line .= ' '.$choice->fullname;
+ }
} else {
my $pkg = $urpm->{depslist}[$_] or next;
+ $urpm->{source}{$pkg->id} and next; #- local packages have already been added.
$line .= ' '.$pkg->fullname;
}
}
@@ -175,7 +179,7 @@ sub parallel_resolve_dependencies {
} while ($cont);
#- keep trace of what has been chosen finally (if any).
- $parallel->{line} .= "$line ".join(' ', keys %chosen);
+ $parallel->{line} = "$line ".join(' ', keys %chosen);
}
#- parallel install.
diff --git a/urpmi.spec b/urpmi.spec
index 0f36545d..d792c180 100644
--- a/urpmi.spec
+++ b/urpmi.spec
@@ -211,6 +211,7 @@ $urpm->update_media(nolock => 1);
- dropped complex time checking with curl ftp download as it
should now be handled correctly by curl -z option since 7.10.5,
Data::Manip perl module is now no more used.
+- fixed parallel installation of local files.
* Thu Jul 17 2003 François Pons <fpons@mandrakesoft.com> 4.4-9mdk
- fixed error code reporting after installation.