Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
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). | |||||
2005-12-15 | * Split the database upgrade into multiple transactions to prevent | Eelco Dolstra | 1 | -2/+11 | |
Berkeley DB from running out of locks. | |||||
2005-12-13 | * Change `referer' to `referrer' throughout. In particular, the | Eelco Dolstra | 5 | -39/+40 | |
nix-store query options `--referer' and `--referer-closure' have been changed to `--referrer' and `--referrer-closure' (but the old ones are still accepted for compatibility). | |||||
2005-12-12 | * Automatically delete the old referers table. | Eelco Dolstra | 3 | -5/+31 | |
2005-12-12 | * Fix NIX-23: quadratic complexity in maintaining the referers | Eelco Dolstra | 4 | -40/+107 | |
mapping. The referer table is replaced by a referrer table (note spelling fix) that stores each referrer separately. That is, instead of having referer[P] = {Q_1, Q_2, Q_3, ...} we store referer[(P, Q_1)] = "" referer[(P, Q_2)] = "" referer[(P, Q_3)] = "" ... To find the referrers of P, we enumerate over the keys with a value lexicographically greater than P. This requires the referrer table to be stored as a B-Tree rather than a hash table. (The tuples (P, Q) are stored as P + null-byte + Q.) Old Nix databases are upgraded automatically to the new schema. | |||||
2005-12-09 | * Use Berkeley DB 4.4's process registry feature to recover from | Eelco Dolstra | 2 | -102/+56 | |
crashed Nix instances, and toss out our own recovery code. | |||||
2005-12-06 | * Require Berkeley DB 4.4. | Eelco Dolstra | 1 | -1/+3 | |
* Checkpoint after an upgrade. | |||||
2005-11-16 | * Did something useful while waiting at IAD: reference scanning is now | Eelco Dolstra | 3 | -30/+45 | |
much faster. | |||||
2005-10-29 | * Repair the referers table from the references table. | Rob Vermaas | 1 | -0/+3 | |
2005-10-20 | * Prevent uids from being used for more than one build | Eelco Dolstra | 1 | -36/+120 | |
simultaneously. We do this using exclusive locks on uid files in /nix/var/nix/userpool, e.g., /nix/var/nix/userpool/123 for uid 123. | |||||
2005-10-19 | * Oops. Fixed-output derivations were broken. | Eelco Dolstra | 1 | -1/+0 | |
2005-10-17 | * Also kill all processes of the build user after the build. This is | Eelco Dolstra | 1 | -0/+8 | |
critical to prevent certain kinds of 0wnage. | |||||
2005-10-17 | * Before starting a build under some uid, kill all current processes | Eelco Dolstra | 1 | -0/+48 | |
running under that uid. | |||||
2005-10-17 | * Check that the build result is owned by the build user, and that | Eelco Dolstra | 1 | -2/+13 | |
nobody else has write permission to the build result. This catches most hack attempts. | |||||
2005-10-17 | * Don't use FIFOs to make Nix create the output path on behalf of the | Eelco Dolstra | 1 | -68/+17 | |
builder. Instead, require that the Nix store has sticky permission (S_ISVTX); everyone can created files in the Nix store, but they cannot delete, rename or modify files created by others. | |||||
2005-10-17 | * Beginning of secure multi-user Nix stores. If Nix is started as | Eelco Dolstra | 3 | -58/+214 | |
root (or setuid root), then builds will be performed under one of the users listed in the `build-users' configuration variables. This is to make it impossible to influence build results externally, allowing locally built derivations to be shared safely between users (see ASE-2005 paper). To do: only one builder should be active per build user. | |||||
2005-09-22 | * Lets not go wild with templates. | Eelco Dolstra | 1 | -4/+6 | |
2005-09-22 | * Parse multi-valued options. | Eelco Dolstra | 2 | -15/+34 | |
2005-09-21 | * Configuration options for trusted local builds. | Eelco Dolstra | 2 | -5/+12 | |
2005-09-20 | * Typo. | Eelco Dolstra | 1 | -1/+1 | |
2005-07-22 | * Build dynamic libraries. | Eelco Dolstra | 1 | -2/+2 | |
2005-05-10 | * Ignore (with a warning) invalid garbage collector roots. | Eelco Dolstra | 1 | -1/+6 | |
2005-05-10 | * Typo. | Eelco Dolstra | 1 | -1/+1 | |
2005-05-09 | * Automatically upgrade the Berkeley DB environment if necessary. | Eelco Dolstra | 2 | -106/+133 | |
2005-05-07 | * Don't try to register GC roots in read-only mode. | Eelco Dolstra | 1 | -2/+2 | |
2005-05-04 | * Idem (constness fix). | Eelco Dolstra | 1 | -2/+2 | |
* `compare' in GCC 2.95 is broken. | |||||
2005-05-04 | * GCC 2.95 compatibility fix in constness; strangely, I think this | Eelco Dolstra | 1 | -1/+1 | |
should not have worked at all. | |||||
2005-04-13 | * Remove redundant message. | Eelco Dolstra | 1 | -4/+0 | |
2005-04-12 | * Garbage collector fix: allow deletion of paths that have invalid | Eelco Dolstra | 1 | -4/+4 | |
(but substitutable) referers. | |||||
2005-04-11 | * Slightly nicer message. | Eelco Dolstra | 1 | -3/+3 | |
2005-04-07 | * `nix-store --add-fixed' to preload the outputs of fixed-output | Eelco Dolstra | 2 | -2/+68 | |
derivations. This is mostly to simplify the implementation of nix-prefetch-{url, svn}, which now work properly in setuid installations. * Enforce valid store names in `nix-store --add / --add-fixed'. | |||||
2005-03-25 | * When finding live paths, the deriver need not be valid. | Eelco Dolstra | 1 | -1/+4 | |
2005-03-25 | * `nix-store --verify': repair bad referer mappings. | Eelco Dolstra | 1 | -6/+16 | |
2005-03-24 | * Create missing log and temproots directories automatically (reported | Eelco Dolstra | 2 | -13/+12 | |
by Rob). | |||||
2005-03-23 | * Export the references graph to the build hook. | Eelco Dolstra | 1 | -14/+30 | |
2005-03-23 | * `nix-store --register-validity': allow a path to refer to a path | Eelco Dolstra | 2 | -13/+50 | |
listed later in the list of new valid paths. | |||||
2005-03-23 | * nix-store: `--isvalid' -> `--check-validity', `--validpath' -> | Eelco Dolstra | 2 | -1/+2 | |
`--register-validity'. * `nix-store --register-validity': read arguments from stdin, and allow the references and deriver to be set. | |||||
2005-03-14 | * Bug in clearSubstitutes(). | Eelco Dolstra | 1 | -1/+2 | |
2005-03-03 | * Don't use fork() in copyPath(), but a string buffer. | Eelco Dolstra | 1 | -47/+14 | |
2005-03-03 | * Increase Berkeley DB limits a bit more. | Eelco Dolstra | 2 | -7/+26 | |
* Maintain the cleanup invariant in clearSubstitutes(). | |||||
2005-03-02 | * `nix-store -q --hash' to quickly query the hash of the contents of a | Eelco Dolstra | 2 | -0/+11 | |
store path (which is stored in the database). | |||||
2005-02-23 | * When multiple derivations are specified in `nix-store -r', don't | Eelco Dolstra | 1 | -62/+50 | |
continue building when one fails unless `--keep-going' is specified. * When `--keep-going' is specified, print out the set of failing derivations at the end (otherwise it can be hard to find out which failed). | |||||
2005-02-22 | * Support for fixed-output hashes over directory trees (i.e., over the | Eelco Dolstra | 1 | -14/+26 | |
NAR dump of the path). | |||||
2005-02-22 | * Compatibility hack so that Nixpkgs can continue to do hash checking | Eelco Dolstra | 1 | -0/+9 | |
in `fetchurl' in Nix <= 0.7, but doesn't in Nix 0.8. | |||||
2005-02-18 | * Subtle bug in the builder: if a subgoal that is instantiated | Eelco Dolstra | 1 | -31/+30 | |
multiple times is also a top-level goal, then the second and later instantiations would never be created because there would be a stable pointer to the first one that would keep it alive in the WeakGoalMap. * Some tracing code for debugging this kind of problem. | |||||
2005-02-17 | * Switch to the calling user context for some more operations in a | Eelco Dolstra | 1 | -2/+5 | |
setuid installation. | |||||
2005-02-17 | * Put build logs in $prefix/var/nix/log/drvs/. | Eelco Dolstra | 1 | -1/+1 | |
2005-02-14 | * It is now possible to add store derivations or paths directly to a | Eelco Dolstra | 2 | -0/+14 | |
user environment, e.g., $ nix-env -i /nix/store/z58v41v21xd3ywrqk1vmvdwlagjx7f10-aterm-2.3.1.drv or $ nix-env -i /nix/store/hsyj5pbn0d9iz7q0aj0fga7cpaadvp1l-aterm-2.3.1 This is useful because it allows Nix expressions to be bypassed entirely. For instance, if only a nix-pull manifest is provided, plus the top-level path of some component, it can be installed without having to supply the Nix expression (e.g., for obfuscation, or to be independent of Nix expression language changes or context dependencies). | |||||
2005-02-14 | * Implement the `gc-keep-derivations' global configuretion flag. | Eelco Dolstra | 1 | -1/+14 | |
2005-02-14 | * Global configuration option `env-keep-derivations' to store pointer | Eelco Dolstra | 3 | -3/+15 | |
to derivations in user environments. Nice for developers (since it prevents build-time-only dependencies from being GC'ed, in conjunction with `gc-keep-outputs'). Turned off by default. |