about summary refs log tree commit diff
path: root/src/libstore
AgeCommit message (Collapse)AuthorFilesLines
2005-10-17 * Also kill all processes of the build user after the build. This isEelco Dolstra1-0/+8
critical to prevent certain kinds of 0wnage.
2005-10-17 * Before starting a build under some uid, kill all current processesEelco Dolstra1-0/+48
running under that uid.
2005-10-17 * Check that the build result is owned by the build user, and thatEelco Dolstra1-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 theEelco Dolstra1-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 asEelco Dolstra3-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 Dolstra1-4/+6
2005-09-22 * Parse multi-valued options.Eelco Dolstra2-15/+34
2005-09-21 * Configuration options for trusted local builds.Eelco Dolstra2-5/+12
2005-09-20 * Typo.Eelco Dolstra1-1/+1
2005-07-22 * Build dynamic libraries.Eelco Dolstra1-2/+2
2005-05-10 * Ignore (with a warning) invalid garbage collector roots.Eelco Dolstra1-1/+6
2005-05-10 * Typo.Eelco Dolstra1-1/+1
2005-05-09 * Automatically upgrade the Berkeley DB environment if necessary.Eelco Dolstra2-106/+133
2005-05-07 * Don't try to register GC roots in read-only mode.Eelco Dolstra1-2/+2
2005-05-04 * Idem (constness fix).Eelco Dolstra1-2/+2
* `compare' in GCC 2.95 is broken.
2005-05-04 * GCC 2.95 compatibility fix in constness; strangely, I think thisEelco Dolstra1-1/+1
should not have worked at all.
2005-04-13 * Remove redundant message.Eelco Dolstra1-4/+0
2005-04-12 * Garbage collector fix: allow deletion of paths that have invalidEelco Dolstra1-4/+4
(but substitutable) referers.
2005-04-11 * Slightly nicer message.Eelco Dolstra1-3/+3
2005-04-07 * `nix-store --add-fixed' to preload the outputs of fixed-outputEelco Dolstra2-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 Dolstra1-1/+4
2005-03-25 * `nix-store --verify': repair bad referer mappings.Eelco Dolstra1-6/+16
2005-03-24 * Create missing log and temproots directories automatically (reportedEelco Dolstra2-13/+12
by Rob).
2005-03-23 * Export the references graph to the build hook.Eelco Dolstra1-14/+30
2005-03-23 * `nix-store --register-validity': allow a path to refer to a pathEelco Dolstra2-13/+50
listed later in the list of new valid paths.
2005-03-23 * nix-store: `--isvalid' -> `--check-validity', `--validpath' ->Eelco Dolstra2-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 Dolstra1-1/+2
2005-03-03 * Don't use fork() in copyPath(), but a string buffer.Eelco Dolstra1-47/+14
2005-03-03 * Increase Berkeley DB limits a bit more.Eelco Dolstra2-7/+26
* Maintain the cleanup invariant in clearSubstitutes().
2005-03-02 * `nix-store -q --hash' to quickly query the hash of the contents of aEelco Dolstra2-0/+11
store path (which is stored in the database).
2005-02-23 * When multiple derivations are specified in `nix-store -r', don'tEelco Dolstra1-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 theEelco Dolstra1-14/+26
NAR dump of the path).
2005-02-22 * Compatibility hack so that Nixpkgs can continue to do hash checkingEelco Dolstra1-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 instantiatedEelco Dolstra1-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 aEelco Dolstra1-2/+5
setuid installation.
2005-02-17 * Put build logs in $prefix/var/nix/log/drvs/.Eelco Dolstra1-1/+1
2005-02-14 * It is now possible to add store derivations or paths directly to aEelco Dolstra2-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 Dolstra1-1/+14
2005-02-14 * Global configuration option `env-keep-derivations' to store pointerEelco Dolstra3-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.
2005-02-14 * Type error in constructor call (caught by GCC 3.3, but not 3.4!).Eelco Dolstra1-1/+1
2005-02-11 * Input sources should be in the set of all referenceable paths too.Eelco Dolstra2-6/+6
2005-02-09 * Commit more often to prevent out-of-memory errors.Eelco Dolstra3-4/+22
2005-02-09 * Propagate the deriver of a path through the substitute mechanism.Eelco Dolstra3-7/+18
* 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-09 * Automatically upgrade <= 0.7 Nix stores to the new schema (so thatEelco Dolstra5-22/+141
existing user environments continue to work). * `nix-store --verify': detect incomplete closures.
2005-02-08 * Subflag in `--verify': `nix-store --verify --check-contents' checksEelco Dolstra2-10/+36
that the contents of store paths has not changed by comparing hashes of their current contents to the hashes stored in the database.
2005-02-08 * Updated `nix-store --verify' to the new schema.Eelco Dolstra5-24/+104
2005-02-07 * `nix-store -qb' to query derivation environment bindings. UsefulEelco Dolstra3-5/+28
for finding build-time dependencies (possibly after a build). E.g., $ nix-store -qb aterm $(nix-store -qd $(which strc)) /nix/store/jw7c7s65n1gwhxpn35j9rgcci6ilzxym-aterm-2.3.1 * Arguments to nix-store can be files within store objects, e.g., /nix/store/jw7c...-aterm-2.3.1/bin/baffle. * Idem for garbage collector roots.
2005-02-07 * Maintain a database table (`derivers') that maps output paths to theEelco Dolstra3-11/+59
derivation that produced them. * `nix-store -qd PATH' prints out the derivation that produced a path.
2005-02-01 * A GC setting `gc-keep-outputs' to specify whether output paths ofEelco Dolstra3-7/+75
derivations should be kept.
2005-02-01 * Move root finding from `nix-collect-garbage' to `nix-store --gc'.Eelco Dolstra2-14/+69
This was necessary becase root finding must be done after acquisition of the global GC lock. This makes `nix-collect-garbage' obsolete; it is now just a wrapper around `nix-store --gc'. * Automatically remove stale GC roots (i.e., indirect GC roots that point to non-existent paths).