Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2006-07-20 | * Call find-runtime-roots.pl from the garbage collector to prevent | Eelco Dolstra | 1 | -16/+5 | |
running applications etc. from being garbage collected. | |||||
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-16 | * Show when we're blocked waiting for a lock. | Eelco Dolstra | 1 | -4/+4 | |
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-24 | * Some Cygwin fixes. | Eelco Dolstra | 1 | -0/+1 | |
2006-03-06 | * `nix-env (-i|-u) --dry-run' now shows exactly which missing paths | Eelco Dolstra | 1 | -0/+1 | |
will be built or substituted. | |||||
2006-03-01 | * db.hh shouldn't depend on the Berkeley DB headers. | Eelco Dolstra | 1 | -1/+2 | |
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-11-16 | * Did something useful while waiting at IAD: reference scanning is now | Eelco Dolstra | 1 | -4/+1 | |
much faster. | |||||
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 | 1 | -45/+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-20 | * Typo. | Eelco Dolstra | 1 | -1/+1 | |
2005-05-10 | * Typo. | Eelco Dolstra | 1 | -1/+1 | |
2005-04-13 | * Remove redundant message. | Eelco Dolstra | 1 | -4/+0 | |
2005-04-11 | * Slightly nicer message. | Eelco Dolstra | 1 | -3/+3 | |
2005-03-24 | * Create missing log and temproots directories automatically (reported | Eelco Dolstra | 1 | -1/+7 | |
by Rob). | |||||
2005-03-23 | * Export the references graph to the build hook. | Eelco Dolstra | 1 | -14/+30 | |
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 | * Put build logs in $prefix/var/nix/log/drvs/. | Eelco Dolstra | 1 | -1/+1 | |
2005-02-11 | * Input sources should be in the set of all referenceable paths too. | Eelco Dolstra | 1 | -4/+4 | |
2005-02-09 | * Propagate the deriver of a path through the substitute mechanism. | Eelco Dolstra | 1 | -1/+2 | |
* Removed some dead code (successor stuff) from nix-push. * Updated terminology in the tests (store expr -> drv path). * Check that the deriver is set properly in the tests. | |||||
2005-02-08 | * Updated `nix-store --verify' to the new schema. | Eelco Dolstra | 1 | -2/+2 | |
2005-02-07 | * Maintain a database table (`derivers') that maps output paths to the | Eelco Dolstra | 1 | -2/+3 | |
derivation that produced them. * `nix-store -qd PATH' prints out the derivation that produced a path. | |||||
2005-02-01 | * Add missing files to dist. | Eelco Dolstra | 1 | -2/+4 | |
* Fix GC and substitute bugs related to self-references. Add a regression test. | |||||
2005-01-31 | * Start of concurrent garbage collection. Processes write temporary | Eelco Dolstra | 1 | -1/+7 | |
roots to a per-process temporary file in /nix/var/nix/temproots while holding a write lock on that file. The garbage collector acquires read locks on all those files, thus blocking further progress in other Nix processes, and reads the sets of temporary roots. | |||||
2005-01-27 | * Fix and simplify the garbage collector (it's still not concurrent, | Eelco Dolstra | 1 | -2/+2 | |
though). In particular it's now much easier to register a GC root. Just place a symlink to whatever store path it is that you want to keep in /nix/var/nix/gcroots. | |||||
2005-01-25 | * Maintain the references/referers relation also for derivations. | Eelco Dolstra | 1 | -3/+2 | |
This simplifies garbage collection and `nix-store --query --requisites' since we no longer need to treat derivations specially. * Better maintaining of the invariants, e.g., setReferences() can only be called on a valid/substitutable path. | |||||
2005-01-25 | * Simplification: registerSubstitutes -> registerSubstitute. We no | Eelco Dolstra | 1 | -1/+0 | |
longer need the former since there we no longer have the substitutes-rev table (which triggered a O(n^2) cost in updating them). | |||||
2005-01-25 | * Really fix the substitute mechanism, i.e., ensure the closure | Eelco Dolstra | 1 | -7/+32 | |
invariant by registering references through the manifest. * Added a test for nix-pull. | |||||
2005-01-25 | * Fix the `--fallback' switch. | Eelco Dolstra | 1 | -0/+6 | |
* Fix the substitutes tests. | |||||
2005-01-25 | * Fix the build hook mechanism; pass the pointer graph to the hook. | Eelco Dolstra | 1 | -2/+24 | |
2005-01-25 | * In nix-store: change `--build' back to `--realise'. Also brought | Eelco Dolstra | 1 | -37/+57 | |
back the query flag `--force-realise'. * Fixed some of the tests. | |||||
2005-01-20 | * Terminology fixes. | Eelco Dolstra | 1 | -9/+9 | |
2005-01-20 | * Another change to low-level derivations. The last one this year, I | Eelco Dolstra | 1 | -11/+17 | |
promise :-) This allows derivations to specify on *what* output paths of input derivations they are dependent. This helps to prevent unnecessary downloads. For instance, a build might be dependent on the `devel' and `lib' outputs of some library component, but not the `docs' output. | |||||
2005-01-19 | * Renamed `normalise.cc' -> `build.cc', `storeexprs.cc' -> | Eelco Dolstra | 1 | -0/+1758 | |
`derivations.cc', etc. * Store the SHA-256 content hash of store paths in the database after they have been built/added. This is so that we can check whether the store has been messed with (a la `rpm --verify'). * When registering path validity, verify that the closure property holds. |