lix/src/libutil
Eelco Dolstra f8cd904e05 * Disallow the Nix store or any of its parents from being symlinks.
This is because the contents of these symlinks are not incorporated
  into the hashes of derivations, and could therefore cause a mismatch
  between the build system and the target system.  E.g., if
  `/nix/store' is a symlink to `/data/nix/store', then a builder could
  expand this path and store the result.  If on the target system
  `/nix/store' is not a symlink, or is a symlink that points somewhere
  else, we have a dangling pointer.

  The trigger for this change is that gcc 3.3.3 does exactly that (it
  applies realpath() to some files, such as libraries, which causes
  our impurity checker to bail out.)

  An annoying side-effect of this change is that it makes it harder to
  move the Nix store to a different file system.  On Linux, bind
  mounts can be used instead of symlink for this purpose (e.g., `mount
  -o bind /data/nix/store /nix/store').
2004-03-27 17:58:04 +00:00
..
archive.cc * Catch SIGINT to terminate cleanly when the user tries to interrupt 2004-01-15 20:23:55 +00:00
archive.hh * Source tree refactoring. 2003-11-18 10:47:59 +00:00
aterm.cc * Allow integer bindings in derivations. 2003-11-25 12:05:48 +00:00
aterm.hh * Allow integer bindings in derivations. 2003-11-25 12:05:48 +00:00
hash.cc * Source tree refactoring. 2003-11-18 10:47:59 +00:00
hash.hh * Source tree refactoring. 2003-11-18 10:47:59 +00:00
Makefile.am * Allow linking against an external Berkeley DB / ATerm library. 2004-02-16 16:37:16 +00:00
md5.c * Source tree refactoring. 2003-11-18 10:47:59 +00:00
md5.h * Source tree refactoring. 2003-11-18 10:47:59 +00:00
test-aterm.cc * Source tree refactoring. 2003-11-18 10:47:59 +00:00
util.cc * Do not close a nesting level twice after close() has been 2004-03-27 15:33:19 +00:00
util.hh * Disallow the Nix store or any of its parents from being symlinks. 2004-03-27 17:58:04 +00:00