about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-04-02T14·59+0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-04-02T14·59+0200
commitafa433e58c3fe6029660a43fdc2073c9d15b4210 (patch)
tree63c209834a97a78c373e6d5a1900d9574d3e1dd4
parentbe1ff233526cc90d36eb13fdee690cf508baeb7a (diff)
Chroot builds: Provide world-readable /nix/store
This was causing NixOS VM tests to fail mysteriously since
5ce50cd99e740d0d0f18c30327ae687be9356553. Nscd could (sometimes) no
longer read /etc/hosts:

open("/etc/hosts", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)

Probably there was some wacky interaction between the guest kernel and
the 9pfs implementation in QEMU.
-rw-r--r--src/libstore/build.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index 90bcccd243a7..d768d44296a0 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -1895,7 +1895,7 @@ void DerivationGoal::startBuilder()
            build user. */
         Path chrootStoreDir = chrootRootDir + settings.nixStore;
         createDirs(chrootStoreDir);
-        chmod_(chrootStoreDir, 0730);
+        chmod_(chrootStoreDir, 0735);
 
         if (chown(chrootStoreDir.c_str(), 0, buildUser.getGID()) == -1)
             throw SysError(format("cannot change ownership of ‘%1%’") % chrootStoreDir);