* Disable chroot builds for fixed-output derivations so that we don't

need /etc in the chroot (in particular, /etc/resolv.conf for
  fetchurl).  Not having /etc/resolv.conf in the chroot is a good
  thing, since we don't want normal derivations to download files.
This commit is contained in:
Eelco Dolstra 2008-08-25 15:49:22 +00:00
parent abec1c0004
commit d06be428f6

View File

@ -1610,6 +1610,7 @@ void DerivationGoal::startBuilder()
}
// The same for derivations
// !!! urgh, cut&paste duplication
s = drv.env["exportBuildReferencesGraph"];
ss = tokenizeString(s);
if (ss.size() % 2 != 0)
@ -1685,10 +1686,16 @@ void DerivationGoal::startBuilder()
}
/* Are we doing a chroot build? */
/* Are we doing a chroot build? Note that fixed-output
derivations are never done in a chroot, mainly so that
functions like fetchurl (which needs a proper /etc/resolv.conf)
work properly. Purity checking for fixed-output derivations
is somewhat pointless anyway. */
useChroot = queryBoolSetting("build-use-chroot", false);
Path tmpRootDir;
if (fixedOutput) useChroot = false;
if (useChroot) {
#if CHROOT_ENABLED
/* Create a temporary directory in which we set up the chroot