Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2006-10-19 | * Special derivation attribute `allowedReferences' that causes Nix to | Eelco Dolstra | 1 | -0/+31 | |
check that the references of the output of a derivation are in the specified set. For instance, allowedReferences = []; specifies that the output cannot have any references. (This is useful, for instance, for the generation of bootstrap binaries for stdenv-linux, which must not have any references for purity). It could also be used to guard against undesired runtime dependencies, e.g., {gcc, dynlib}: derivation { ... allowedReferences = [dynlib]; } says that the output can refer to the path of `dynlib' but not `gcc'. A `forbiddedReferences' attribute would be more useful for this, though. | |||||
2006-10-16 | * Big cleanup of the semantics of paths, strings, contexts, string | Eelco Dolstra | 1 | -12/+2 | |
concatenation and string coercion. This was a big mess (see e.g. NIX-67). Contexts are now folded into strings, so that they don't cause evaluation errors when they're not expected. The semantics of paths has been clarified (see nixexpr-ast.def). toString() and coerceToString() have been merged. Semantic change: paths are now copied to the store when they're in a concatenation (and in most other situations - that's the formalisation of the meaning of a path). So "foo " + ./bla evaluates to "foo /nix/store/hash...-bla", not "foo /path/to/current-dir/bla". This prevents accidental impurities, and is more consistent with the treatment of derivation outputs, e.g., `"foo " + bla' where `bla' is a derivation. (Here `bla' would be replaced by the output path of `bla'.) | |||||
2006-10-13 | * A helpful message. | Eelco Dolstra | 1 | -0/+2 | |
2006-10-13 | * Don't crash when upgrading the Berkeley DB environment. | Eelco Dolstra | 1 | -1/+6 | |
2006-09-22 | * Use a bounded amount of memory in scanForReferences() by not reading | Eelco Dolstra | 1 | -9/+26 | |
regular files into memory all at once. | |||||
2006-09-22 | * Don't allocate the buffer twice. | Eelco Dolstra | 1 | -7/+9 | |
2006-09-22 | * Don't allocate more than SIZE_MAX bytes. | Eelco Dolstra | 1 | -0/+7 | |
2006-09-14 | * Fix a huge gaping hole in nix-env w.r.t. the garbage collector. | Eelco Dolstra | 2 | -10/+15 | |
Nix-env failed to call addPermRoot(), which is necessary to safely add a new root. So if nix-env started after and finished before the garbage collector, the user environment (plus all other new stuff) it built might be garbage collected, leading to a dangling symlink chain in ~/.nix-profile... * Be more explicit if we block on the GC lock ("waiting for the big garbage collector lock..."). * Don't loop trying to create a new generation. It's not necessary anymore since profiles are locked nowadays. | |||||
2006-09-04 | * Install header files in /nix/include/nix. | Eelco Dolstra | 1 | -6/+8 | |
2006-09-04 | * Remove unnecessary inclusions of aterm2.h. | Eelco Dolstra | 3 | -1/+5 | |
2006-09-04 | * Use a proper namespace. | Eelco Dolstra | 18 | -82/+193 | |
* Optimise header file usage a bit. * Compile the parser as C++. | |||||
2006-09-04 | * Store the Nix libraries in ${libdir}/nix instead of ${libdir}. | Eelco Dolstra | 1 | -1/+1 | |
2006-08-15 | On cygwin, disable the check that the output is not group or world | Martin Bravenboer | 1 | -0/+2 | |
writable. File permissions on Cygwin are rather complex, and in this case this check introduced a problem with build jobs invoke from outside of Cygwin (MSYS). It seemed almost impossible to fix the permissions of the directory, so for now this safety check is disabled on Cygwin. | |||||
2006-08-11 | * `nix-store --gc --print-dead': print the total size of the store | Eelco Dolstra | 1 | -0/+9 | |
objects that would be freed. | |||||
2006-08-11 | * Don't assume that paths returned by the runtime root finder are | Eelco Dolstra | 1 | -1/+1 | |
valid. | |||||
2006-08-01 | * Show some progress. | Eelco Dolstra | 1 | -0/+1 | |
2006-07-20 | * Use $(libexecdir) to find find-runtime-roots.pl. | Eelco Dolstra | 3 | -1/+6 | |
2006-07-20 | * Use debug(). | Eelco Dolstra | 1 | -1/+1 | |
2006-07-20 | * Call find-runtime-roots.pl from the garbage collector to prevent | Eelco Dolstra | 2 | -16/+36 | |
running applications etc. from being garbage collected. | |||||
2006-07-06 | * Allow the canonical system name to be specified at runtime in the | Eelco Dolstra | 2 | -1/+5 | |
Nix config file. | |||||
2006-06-20 | * Concurrent GC on Cygwin. | Eelco Dolstra | 3 | -73/+146 | |
2006-06-19 | * Oops. | Eelco Dolstra | 1 | -1/+2 | |
2006-06-19 | * _exit() doesn't seem to work right on Cygwin. | Eelco Dolstra | 1 | -0/+11 | |
2006-06-19 | * On Windows we cannot delete open (lock) files, so we delete lock | Eelco Dolstra | 1 | -4/+47 | |
files after we've closed them. Since this only succeeds if the lock is no longer opened by any process, the token trick used on Unix is not necessary. | |||||
2006-06-16 | * Show when we're blocked waiting for a lock. | Eelco Dolstra | 1 | -4/+4 | |
2006-06-15 | * In `nix-env -i|-u|-e', lock the profile to prevent races between | Eelco Dolstra | 2 | -6/+11 | |
concurrent nix-env operations on the same profile. Fixes NIX-7. | |||||
2006-06-01 | * Minor cleanup. | Eelco Dolstra | 1 | -7/+3 | |
2006-05-31 | * For fixed-output derivations, pass the environment variables listed | Eelco Dolstra | 1 | -3/+20 | |
in the attribute variable `impureEnvVars' from the caller to the builder. | |||||
2006-05-30 | * Not all platforms have sys/select.h. | Eelco Dolstra | 1 | -1/+1 | |
2006-05-29 | * Disable the concurrent garbage collector on Cygwin for now. | Eelco Dolstra | 1 | -0/+8 | |
2006-05-24 | * Some Cygwin fixes. | Eelco Dolstra | 1 | -0/+1 | |
2006-05-12 | * Support for srcdir != builddir (NIX-41). | Eelco Dolstra | 1 | -5/+5 | |
2006-05-11 | * 64-bit compatibility fixes (for problems revealed by building on an Athlon | Eelco Dolstra | 4 | -5/+5 | |
64 running 64-bit SUSE). A patched ATerm library is required to run Nix succesfully. | |||||
2006-05-02 | * Removed a bunch of ATreverses. | Eelco Dolstra | 1 | -16/+19 | |
2006-03-10 | * Allow `make check' to work in directories that have symlink | Eelco Dolstra | 1 | -0/+20 | |
components. | |||||
2006-03-06 | * `nix-env (-i|-u) --dry-run' now shows exactly which missing paths | Eelco Dolstra | 6 | -20/+82 | |
will be built or substituted. | |||||
2006-03-01 | * db.hh shouldn't depend on the Berkeley DB headers. | Eelco Dolstra | 3 | -3/+10 | |
2006-03-01 | * Close the database before the destructor runs. | Eelco Dolstra | 3 | -0/+12 | |
2006-03-01 | * Wrong delete. Thanks valgrind. | Eelco Dolstra | 1 | -1/+1 | |
2006-03-01 | * Remove dead code. | Eelco Dolstra | 1 | -30/+0 | |
2006-02-16 | * Allow the size of the GC reserved file to be specified in nix.conf | Eelco Dolstra | 3 | -9/+18 | |
through the new `gc-reserved-space' option. | |||||
2006-02-16 | * A simple hack to fix NIX-18: the garbage collector cannot run when | Eelco Dolstra | 2 | -3/+23 | |
the disk is full (because to delete something from the Nix store, we need a Berkeley DB transaction, which takes up disk space). Under normal operation, we make sure that there exists a file /nix/var/nix/db/reserved of 1 MB. When running the garbage collector, we delete that file before we open the Berkeley DB environment. | |||||
2006-02-03 | * Use setsid instead of setpgrp in child processes. This not only | Eelco Dolstra | 1 | -6/+8 | |
creates a new process group but also a new session. New sessions have no controlling tty, so child processes like ssh cannot open /dev/tty (which is bad). | |||||
2006-02-02 | * When killing a build hook, kill the entire process group (as | Eelco Dolstra | 1 | -0/+1 | |
intended). This ensures that any ssh child processes to remote machines are also killed, and thus the Nix process on the remote machine also exits. Without this, the remote Nix process will continue until it exists or until its stdout buffer gets full and it locks up. (Partially fixes NIX-35.) | |||||
2005-12-25 | * More GCC 2.95 compatibility. | Eelco Dolstra | 1 | -1/+1 | |
2005-12-25 | * Hack around a GCC 2.95 bug. | Eelco Dolstra | 1 | -2/+2 | |
2005-12-24 | * GCC 2.95 compatibility. | Eelco Dolstra | 1 | -1/+1 | |
2005-12-23 | * Added a flag `--ignore-liveness' to `nix-store --delete'. It | Eelco Dolstra | 2 | -3/+4 | |
deletes a path even if it is reachable from a root. However, it won't delete a path that still has referrers (since that would violate store invariants). Don't try this at home. It's a useful hack for recovering from certain situations in a somewhat clean way (e.g., holes in closures due to disk corruption). | |||||
2005-12-23 | * Revived the old "nix-store --delete" operation that deletes the | Eelco Dolstra | 2 | -10/+22 | |
specified paths from the Nix store. However, this operation is safe: it refuses to delete anything that the garbage collector wouldn't delete. | |||||
2005-12-15 | * `nix-store --gc' prints out the number of bytes freed on stdout | Eelco Dolstra | 4 | -6/+12 | |
(even when it is interrupted by a signal). |