From feaab52203a51a4abec23f5d878f6f4dea29dcd5 Mon Sep 17 00:00:00 2001 From: Martin Bravenboer Date: Thu, 4 Dec 2003 14:38:31 +0000 Subject: [PATCH] * Fix for too long command lines when calling `nix-store --register-[substitutes|successors]. --- scripts/nix-pull.in | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/scripts/nix-pull.in b/scripts/nix-pull.in index f1fb57e9b2..86004102d9 100644 --- a/scripts/nix-pull.in +++ b/scripts/nix-pull.in @@ -139,11 +139,23 @@ $? == 0 or die "nix-instantiate failed"; # Register all substitutes. print STDERR "registering substitutes...\n"; -system "nix-store --substitute @subs"; -if ($?) { die "`nix-store --substitute' failed"; } +while (scalar @subs > 0) { + my $n = scalar @subs; + if ($n > 256) { $n = 256 }; + my @subs2 = @subs[0..$n - 1]; + @subs = @subs[$n..scalar @subs - 1]; + system "nix-store --substitute @subs2"; + if ($?) { die "`nix-store --substitute' failed"; } +} # Register all successors. print STDERR "registering successors...\n"; -system "nix-store --successor @sucs"; -if ($?) { die "`nix-store --successor' failed"; } +while (scalar @sucs > 0) { + my $n = scalar @sucs; + if ($n > 256) { $n = 256 }; + my @sucs2 = @sucs[0..$n - 1]; + @sucs = @sucs[$n..scalar @sucs - 1]; + system "nix-store --successor @sucs"; + if ($?) { die "`nix-store --successor' failed"; } +}