Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
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). | |||||
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. |