diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/copy-from-other-stores.pl.in | 5 | ||||
-rw-r--r-- | scripts/download-from-binary-cache.pl.in | 7 | ||||
-rwxr-xr-x | scripts/download-using-manifests.pl.in | 7 |
3 files changed, 11 insertions, 8 deletions
diff --git a/scripts/copy-from-other-stores.pl.in b/scripts/copy-from-other-stores.pl.in index 3ee6f075b27e..9ed7e4cc22c0 100755 --- a/scripts/copy-from-other-stores.pl.in +++ b/scripts/copy-from-other-stores.pl.in @@ -83,12 +83,13 @@ if ($ARGV[0] eq "--query") { elsif ($ARGV[0] eq "--substitute") { - die unless scalar @ARGV == 2; + die unless scalar @ARGV == 3; my $storePath = $ARGV[1]; + my $destPath = $ARGV[2]; my ($store, $sourcePath) = findStorePath $storePath; die unless $store; print STDERR "\n*** Copying `$storePath' from `$sourcePath'\n\n"; - system("$binDir/nix-store --dump $sourcePath | $binDir/nix-store --restore $storePath") == 0 + system("$binDir/nix-store --dump $sourcePath | $binDir/nix-store --restore $destPath") == 0 or die "cannot copy `$sourcePath' to `$storePath'"; print "\n"; # no hash to verify } diff --git a/scripts/download-from-binary-cache.pl.in b/scripts/download-from-binary-cache.pl.in index 751623eebf2e..317989e401df 100644 --- a/scripts/download-from-binary-cache.pl.in +++ b/scripts/download-from-binary-cache.pl.in @@ -486,7 +486,7 @@ sub printSubstitutablePaths { sub downloadBinary { - my ($storePath) = @_; + my ($storePath, $destPath) = @_; foreach my $cache (@caches) { my $info = getCachedInfoFrom($storePath, $cache); @@ -510,7 +510,7 @@ sub downloadBinary { my $url = "$cache->{url}/$info->{url}"; # FIXME: handle non-relative URLs print STDERR "\n*** Downloading ‘$url’ to ‘$storePath’...\n"; Nix::Utils::checkURL $url; - if (system("$Nix::Config::curl --fail --location --insecure '$url' | $decompressor | $Nix::Config::binDir/nix-store --restore $storePath") != 0) { + if (system("$Nix::Config::curl --fail --location --insecure '$url' | $decompressor | $Nix::Config::binDir/nix-store --restore $destPath") != 0) { die "download of `$info->{url}' failed" . ($! ? ": $!" : "") . "\n" unless $? == 0; next; } @@ -557,8 +557,9 @@ if ($ARGV[0] eq "--query") { elsif ($ARGV[0] eq "--substitute") { my $storePath = $ARGV[1] or die; + my $destPath = $ARGV[2] or die; getAvailableCaches; - downloadBinary($storePath); + downloadBinary($storePath, $destPath); } else { diff --git a/scripts/download-using-manifests.pl.in b/scripts/download-using-manifests.pl.in index 8f66a292e361..c73511f85090 100755 --- a/scripts/download-using-manifests.pl.in +++ b/scripts/download-using-manifests.pl.in @@ -238,8 +238,9 @@ elsif ($ARGV[0] ne "--substitute") { } -die unless scalar @ARGV == 2; +die unless scalar @ARGV == 3; my $targetPath = $ARGV[1]; +my $destPath = $ARGV[2]; $fast = 0; @@ -324,7 +325,7 @@ while (scalar @path > 0) { # This was the last patch. Unpack the final NAR archive # into the target path. print STDERR " unpacking patched archive...\n"; - system("$Nix::Config::binDir/nix-store --restore $v < $tmpNar2") == 0 + system("$Nix::Config::binDir/nix-store --restore $destPath < $tmpNar2") == 0 or die "cannot unpack $tmpNar2 to `$v'\n"; } @@ -351,7 +352,7 @@ while (scalar @path > 0) { or die "cannot download and unpack `$narFile->{url}' to `$v'\n"; } else { # Unpack the archive to the target path. - system("$curl '$narFile->{url}' | $decompressor | $Nix::Config::binDir/nix-store --restore '$v'") == 0 + system("$curl '$narFile->{url}' | $decompressor | $Nix::Config::binDir/nix-store --restore '$destPath'") == 0 or die "cannot download and unpack `$narFile->{url}' to `$v'\n"; } |