diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-08-04T15·07+0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-08-04T15·09+0200 |
commit | bb45092f72d173a7754f7e4a6457d44c748a893b (patch) | |
tree | 747b4a365033dc1da3f2ebe6844a5cd0b7058b0c | |
parent | 7a60ff9a629f6d7c36ec710738a15e713acd6a34 (diff) |
Make chroot builds easier to set up
By default, we now include /bin/sh as a bind-mount of bash.
-rw-r--r-- | release.nix | 8 | ||||
-rw-r--r-- | src/libstore/globals.cc | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/release.nix b/release.nix index 1f91e23b5d00..c43925792575 100644 --- a/release.nix +++ b/release.nix @@ -93,6 +93,14 @@ let --sysconfdir=/etc ''; + # Provide a default value for the ‘build-chroot-dirs’ setting + # that includes /bin/sh pointing to bash. + preHook = lib.optionalString stdenv.isLinux ( + let sh = stdenv.shell; in + '' + NIX_CFLAGS_COMPILE+=" -DDEFAULT_CHROOT_DIRS=\"/bin/sh=${sh}:$(tr '\n' ':' < ${writeReferencesToFile sh})\"" + ''); + enableParallelBuilding = true; makeFlags = "profiledir=$(out)/etc/profile.d"; diff --git a/src/libstore/globals.cc b/src/libstore/globals.cc index e9fe0beca4ef..77f25005b85f 100644 --- a/src/libstore/globals.cc +++ b/src/libstore/globals.cc @@ -48,6 +48,9 @@ Settings::Settings() useSubstitutes = true; buildUsersGroup = getuid() == 0 ? "nixbld" : ""; useChroot = false; +#ifdef DEFAULT_CHROOT_DIRS + dirsInChroot = tokenizeString<StringSet>(DEFAULT_CHROOT_DIRS, ":"); +#endif useSshSubstituter = true; impersonateLinux26 = false; keepLog = true; |