build-remote.pl: Copy all outputs in one operation

This commit is contained in:
Eelco Dolstra 2013-05-23 14:39:58 -04:00
parent 72d8209548
commit 107505e13a
1 changed files with 5 additions and 5 deletions

View File

@ -289,13 +289,13 @@ if (system("exec ssh $hostName @sshOpts '(read; kill -INT -\$\$) <&0 & exec nix-
# Copy the output from the build machine.
foreach my $output (@outputs) {
my @outputs2 = grep { !isValidPath($_) } @outputs;
if (scalar @outputs2 > 0) {
my $maybeSignRemote = "";
$maybeSignRemote = "--sign" if $UID != 0;
next if isValidPath($output);
system("exec ssh $hostName @sshOpts 'nix-store --export $maybeSignRemote $output'" .
"| NIX_HELD_LOCKS=$output @bindir@/nix-store --import > /dev/null") == 0
or die "cannot copy $output from $hostName: $?";
system("exec ssh $hostName @sshOpts 'nix-store --export $maybeSignRemote @outputs2'" .
"| NIX_HELD_LOCKS='@outputs2' @bindir@/nix-store --import > /dev/null") == 0
or die("cannot copy paths " . join(", ", @outputs) . " from `$hostName': $?");
}