daemon: Clear $NIX_SUBSTITUTERS when passed '--no-substitutes'.
authorLudovic Courtès <ludo@gnu.org>
Thu, 27 Mar 2014 21:35:34 +0000 (22:35 +0100)
committerLudovic Courtès <ludo@gnu.org>
Thu, 27 Mar 2014 22:56:47 +0000 (23:56 +0100)
* nix/nix-daemon/guix-daemon.cc (main): When --no-substitutes is used,
  clear NIX_SUBSTITUTERS.  Before that, and after
  89faa5c75cb3a419c6d02c51f56955275b7ae351, '--no-substitutes' would
  lead to attempts to use 'download-using-manifests.pl', which in
  practice would gracelessly fail.

nix/nix-daemon/guix-daemon.cc

index b083fc2..7181516 100644 (file)
@@ -296,6 +296,13 @@ main (int argc, char *argv[])
              setenv ("NIX_SUBSTITUTERS", subst.c_str (), 1);
            }
        }
+      else
+       /* Clear the substituter list to make sure nothing ever gets
+          substituted, regardless of the client's settings.  */
+       setenv ("NIX_SUBSTITUTERS", "", 1);
+
+      /* Effect the $NIX_SUBSTITUTERS change.  */
+      settings.update ();
 
       if (geteuid () == 0 && settings.buildUsersGroup.empty ())
        fprintf (stderr, "warning: daemon is running as root, so "