aboutsummaryrefslogtreecommitdiff
path: root/src/libstore
AgeCommit message (Collapse)Author
2006-11-13* Remove the undocumented `noscan' feature. It's no longer necessaryEelco Dolstra
now that reference scanning is sufficiently streamy.
2006-11-13* Magic attribute `exportReferencesGraph' that allows the referencesEelco Dolstra
graph to be passed to a builder. This attribute should be a list of pairs [name1 path1 name2 path2 ...]. The references graph of each `pathN' will be stored in a text file `nameN' in the temporary build directory. The text files have the format used by `nix-store --register-validity'. However, the deriver fields are left empty. `exportReferencesGraph' is useful for builders that want to do something with the closure of a store path. Examples: the builders that make initrds and ISO images for NixOS. `exportReferencesGraph' is entirely pure. It's necessary because otherwise the only way for a builder to get this information would be to call `nix-store' directly, which is not allowed (though unfortunately possible).
2006-10-28* `nix-store --read-log / -l PATH' shows the build log of PATH, ifEelco Dolstra
available. For instance, $ nix-store -l $(which svn) | less lets you read the build log of the Subversion instance in your profile. * `nix-store -qb': if applied to a non-derivation, take the deriver.
2006-10-19* Special derivation attribute `allowedReferences' that causes Nix toEelco Dolstra
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, stringEelco Dolstra
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
2006-10-13* Don't crash when upgrading the Berkeley DB environment.Eelco Dolstra
2006-09-22* Use a bounded amount of memory in scanForReferences() by not readingEelco Dolstra
regular files into memory all at once.
2006-09-22* Don't allocate the buffer twice.Eelco Dolstra
2006-09-22* Don't allocate more than SIZE_MAX bytes.Eelco Dolstra
2006-09-14* Fix a huge gaping hole in nix-env w.r.t. the garbage collector.Eelco Dolstra
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
2006-09-04* Remove unnecessary inclusions of aterm2.h.Eelco Dolstra
2006-09-04* Use a proper namespace.Eelco Dolstra
* 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
2006-08-15On cygwin, disable the check that the output is not group or worldMartin Bravenboer
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 storeEelco Dolstra
objects that would be freed.
2006-08-11* Don't assume that paths returned by the runtime root finder areEelco Dolstra
valid.
2006-08-01* Show some progress.Eelco Dolstra
2006-07-20* Use $(libexecdir) to find find-runtime-roots.pl.Eelco Dolstra
2006-07-20* Use debug().Eelco Dolstra
2006-07-20* Call find-runtime-roots.pl from the garbage collector to preventEelco Dolstra
running applications etc. from being garbage collected.
2006-07-06* Allow the canonical system name to be specified at runtime in theEelco Dolstra
Nix config file.
2006-06-20* Concurrent GC on Cygwin.Eelco Dolstra
2006-06-19* Oops.Eelco Dolstra
2006-06-19* _exit() doesn't seem to work right on Cygwin.Eelco Dolstra
2006-06-19* On Windows we cannot delete open (lock) files, so we delete lockEelco Dolstra
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
2006-06-15* In `nix-env -i|-u|-e', lock the profile to prevent races betweenEelco Dolstra
concurrent nix-env operations on the same profile. Fixes NIX-7.
2006-06-01* Minor cleanup.Eelco Dolstra
2006-05-31* For fixed-output derivations, pass the environment variables listedEelco Dolstra
in the attribute variable `impureEnvVars' from the caller to the builder.
2006-05-30* Not all platforms have sys/select.h.Eelco Dolstra
2006-05-29* Disable the concurrent garbage collector on Cygwin for now.Eelco Dolstra
2006-05-24* Some Cygwin fixes.Eelco Dolstra
2006-05-12* Support for srcdir != builddir (NIX-41).Eelco Dolstra
2006-05-11* 64-bit compatibility fixes (for problems revealed by building on an AthlonEelco Dolstra
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
2006-03-10* Allow `make check' to work in directories that have symlinkEelco Dolstra
components.
2006-03-06* `nix-env (-i|-u) --dry-run' now shows exactly which missing pathsEelco Dolstra
will be built or substituted.
2006-03-01* db.hh shouldn't depend on the Berkeley DB headers.Eelco Dolstra
2006-03-01* Close the database before the destructor runs.Eelco Dolstra
2006-03-01* Wrong delete. Thanks valgrind.Eelco Dolstra
2006-03-01* Remove dead code.Eelco Dolstra
2006-02-16* Allow the size of the GC reserved file to be specified in nix.confEelco Dolstra
through the new `gc-reserved-space' option.
2006-02-16* A simple hack to fix NIX-18: the garbage collector cannot run whenEelco Dolstra
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 onlyEelco Dolstra
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 (asEelco Dolstra
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
2005-12-25* Hack around a GCC 2.95 bug.Eelco Dolstra
2005-12-24* GCC 2.95 compatibility.Eelco Dolstra