From 22144afa8d9f8968da351618a1347072a93bd8aa Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 Jun 2013 11:55:15 +0200 Subject: Don't keep "disabled" substituters running For instance, it's pointless to keep copy-from-other-stores running if there are no other stores, or download-using-manifests if there are no manifests. This also speeds things up because we don't send queries to those substituters. --- scripts/copy-from-other-stores.pl.in | 3 +++ scripts/download-from-binary-cache.pl.in | 11 +++++++---- scripts/download-using-manifests.pl.in | 2 ++ 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'scripts') diff --git a/scripts/copy-from-other-stores.pl.in b/scripts/copy-from-other-stores.pl.in index 9ed7e4cc22..7a7c30cdfb 100755 --- a/scripts/copy-from-other-stores.pl.in +++ b/scripts/copy-from-other-stores.pl.in @@ -16,6 +16,9 @@ foreach my $dir (@remoteStoresAll) { push @remoteStores, glob($dir); } +exit if scalar @remoteStores == 0; +print "\n"; + $ENV{"NIX_REMOTE"} = ""; diff --git a/scripts/download-from-binary-cache.pl.in b/scripts/download-from-binary-cache.pl.in index 10444dc61b..abd1f7b712 100644 --- a/scripts/download-from-binary-cache.pl.in +++ b/scripts/download-from-binary-cache.pl.in @@ -199,10 +199,6 @@ sub getAvailableCaches { return if $gotCaches; $gotCaches = 1; - return if - ($Nix::Config::config{"use-binary-caches"} // "true") eq "false" || - ($Nix::Config::config{"untrusted-use-binary-caches"} // "true") eq "false"; - sub strToList { my ($s) = @_; return map { s/\/+$//; $_ } split(/ /, $s); @@ -543,6 +539,13 @@ sub downloadBinary { } +# Bail out right away if binary caches are disabled. +exit 0 if + ($Nix::Config::config{"use-binary-caches"} // "true") eq "false" || + ($Nix::Config::config{"untrusted-use-binary-caches"} // "true") eq "false"; +print "\n"; +flush STDOUT; + initCache(); diff --git a/scripts/download-using-manifests.pl.in b/scripts/download-using-manifests.pl.in index ecd0b48931..0471a9e1fa 100755 --- a/scripts/download-using-manifests.pl.in +++ b/scripts/download-using-manifests.pl.in @@ -22,6 +22,8 @@ my $curl = "$Nix::Config::curl --fail --location --insecure"; # Open the manifest cache and update it if necessary. my $dbh = updateManifestDB(); +exit 0 unless defined $dbh; # exit if there are no manifests +print "\n"; # $hashCache->{$algo}->{$path} yields the $algo-hash of $path. -- cgit 1.4.1