Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
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-11 | * Add a test to demonstrate the quadratic complexity of referrer | Eelco Dolstra | 2 | -1/+16 | |
(de)registration, in particular garbage collection (NIX-23). | |||||
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-08 | * Apply the patch. | Eelco Dolstra | 1 | -0/+1 | |
2005-12-08 | * A patch to make the DB_REGISTER feature work when debug info is not on. | Eelco Dolstra | 1 | -0/+84 | |
2005-12-06 | * Require Berkeley DB 4.4. | Eelco Dolstra | 2 | -4/+6 | |
* Checkpoint after an upgrade. | |||||
2005-11-17 | * FreeBSD compatibility fix. | Eelco Dolstra | 1 | -1/+2 | |
2005-11-17 | * "Fix" the test, since we cannot feasibly support the intended semantics. | Eelco Dolstra | 1 | -1/+1 | |
2005-11-16 | * Did something useful while waiting at IAD: reference scanning is now | Eelco Dolstra | 5 | -31/+52 | |
much faster. | |||||
2005-11-04 | * Install signal handlers for SIGTERM and SIGHUP. This ensures that | Eelco Dolstra | 1 | -0/+4 | |
Nix is properly shut down when it receives those signals. In particular this ensures that killing the garbage collector doesn't cause a subsequent database recovery. | |||||
2005-11-04 | * Memoise checkVarDefs since internally produced terms (i.e., not the | Eelco Dolstra | 1 | -9/+24 | |
result of parsing) can have very heavy sharing, causing exponential complexity if we naively recurse into them. ATerms are graphs, not trees! | |||||
2005-11-04 | * Scoping bug in `with'. | Eelco Dolstra | 2 | -0/+14 | |
2005-10-29 | * Turn off build hooks in nix-push because of an impurity (NIX-21). | Eelco Dolstra | 2 | -2/+12 | |
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 | 2 | -37/+122 | |
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-18 | * Oops, that should be Berkeley DB 4.3. Reported by Gerco Ballintijn. | Eelco Dolstra | 1 | -1/+1 | |
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 | 4 | -58/+219 | |
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-10-11 | add @coreutils@ to correctly use coreutils to create a profile. This is needed | Armijn Hemel | 1 | -1/+1 | |
for NixOS, where we might not know our PATH in advance. | |||||
2005-10-11 | * Use ATerm 2.4.2. | Eelco Dolstra | 1 | -4/+4 | |
2005-10-06 | * Swap the system and version comparion columns. | Eelco Dolstra | 1 | -2/+2 | |
2005-10-06 | * Document `nix-env --compare-versions'. | Eelco Dolstra | 1 | -10/+69 | |
2005-10-06 | * Only colorise if we are attached to a terminal. | Eelco Dolstra | 1 | -0/+3 | |
2005-10-06 | * New query option: `--compare-versions' or `-c' to compare installed | Eelco Dolstra | 2 | -19/+89 | |
versions to available versions, or vice versa. For example, the following compares installed versions to available versions: $ nix-env -qc autoconf-2.59 = 2.59 automake-1.9.4 < 1.9.6 f-spot-0.0.10 - ? firefox-1.0.4 < 1.0.7 ... I.e., there are newer versions available (in the current default Nix expression) for Automake and Firefox, but not for Autoconf, and F-Spot is missing altogether. Conversely, the available versions can be compared to the installed versions: $ nix-env -qac autoconf-2.59 = 2.59 automake-1.9.6 > 1.9.4 bash-3.0 - ? firefox-1.0.7 > 1.0.4 ... Note that bash is available but no version of it is installed. If multiple versions are available for comparison, then the highest is used. E.g., if Subversion 1.2.0 is installed, and Subversion 1.1.4 and 1.2.3 are available, then `nix-env -qc' will print `< 1.2.3', not `> 1.1.4'. If higher versions are available, the version column is printed in red (using ANSI escape codes). | |||||
2005-10-05 | * Update NEWS in the root directory properly. | Eelco Dolstra | 1 | -1/+1 | |
2005-10-05 | * log2xml -> nix-log2xml. | Eelco Dolstra | 8 | -2/+2 | |
2005-10-05 | * Install the XSL stylesheets for log to html conversion. | Eelco Dolstra | 1 | -6/+14 | |
2005-09-28 | * Use "source" instead of ".". | Eelco Dolstra | 1 | -4/+4 | |
2005-09-22 | * Lets not go wild with templates. | Eelco Dolstra | 1 | -4/+6 | |
2005-09-22 | * Parse multi-valued options. | Eelco Dolstra | 5 | -16/+54 | |
2005-09-22 | * Merge release notes. | Eelco Dolstra | 1 | -0/+35 | |
2005-09-21 | * Remove other uses of IPC::Open2. | Eelco Dolstra | 1 | -20/+8 | |
2005-09-21 | * Don't use IPC::Open2, it has a subtle race bug on Mac OS X 10.4. If | Eelco Dolstra | 1 | -8/+2 | |
the parent runs before the child, it closes some pipe file descriptors which causes the child to fail due to a bad file descriptor. So we just use the normal open() function instead. This fixes NIX-14 (intermittent nix-pull failures). | |||||
2005-09-21 | * This doesn't parse for now. | Eelco Dolstra | 1 | -1/+1 | |
2005-09-21 | * Configuration options for trusted local builds. | Eelco Dolstra | 3 | -5/+43 | |
2005-09-21 | * Use -all_load on Mac OS X. | Eelco Dolstra | 1 | -0/+7 | |
2005-09-20 | * Typo. | Eelco Dolstra | 1 | -1/+1 | |
2005-09-18 | * Use a statically linked ATerm library and build it at -O1, since | Eelco Dolstra | 1 | -1/+2 | |
higher optimisation levels cause statically linked libraries to barf. | |||||
2005-09-16 | * Bump the version number to 0.10. | Eelco Dolstra | 1 | -1/+1 | |
2005-09-16 | * Updated release notes. | Eelco Dolstra | 1 | -1/+19 | |
2005-09-16 | * svn:ignores. | Eelco Dolstra | 1 | -1/+1 | |
* Add missing file to dist. | |||||
2005-09-16 | * svn:ignore. | Eelco Dolstra | 0 | -0/+0 | |
2005-09-16 | * Remove dead file. | Eelco Dolstra | 1 | -2/+0 | |
2005-09-16 | * Set the current directory to something well-defined. Might help in | Eelco Dolstra | 1 | -0/+2 | |
setuid installations. | |||||
2005-09-16 | * Include the release notes in the manual. | Eelco Dolstra | 1 | -0/+5 | |
2005-09-15 | * Force release notes in ASCII, not UTF-8. | Eelco Dolstra | 1 | -1/+1 | |