Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2006-03-01 | * Flags `--to-base32' and `--to-base16' to convert between hex and | Eelco Dolstra | 1 | -2/+19 | |
base-32 hashes. | |||||
2006-03-01 | * Ouch, parseHash32 was completely broken. All digits >= 4 were | Eelco Dolstra | 1 | -1/+1 | |
parsed as 4. For a moment I worried that printHash32 was broken, and that would have been really, *really* bad ;-) | |||||
2006-03-01 | * db.hh shouldn't depend on the Berkeley DB headers. | Eelco Dolstra | 5 | -3/+13 | |
2006-03-01 | * Close the database before the destructor runs. | Eelco Dolstra | 4 | -0/+15 | |
2006-03-01 | * Uninitialised variable. Fixes the --delete test. | Eelco Dolstra | 1 | -1/+1 | |
2006-03-01 | * Wrong delete. Thanks valgrind. | Eelco Dolstra | 1 | -1/+1 | |
2006-03-01 | * Generate valid HTML. | Eelco Dolstra | 1 | -15/+22 | |
2006-03-01 | * Remove dead code. | Eelco Dolstra | 1 | -30/+0 | |
2006-02-17 | * In "nix-env -i", print a warning if there are multiple derivations | Eelco Dolstra | 1 | -24/+16 | |
with the same name *and* version number, and pick the first one (this means that the order in which channels appear in ~/.nix-channels matters). E.g.: $ nix-env ii aterm warning: there are multiple derivations named `aterm-2.4.2'; using the first one installing `aterm-2.4.2' | |||||
2006-02-17 | * Fix for NIX-31: "nix-env -i foo" installing all derivations named | Eelco Dolstra | 1 | -8/+62 | |
foo. Now it will only install the one with the highest version number. | |||||
2006-02-17 | * Fix the infamous NIX-17: nix-env -i prints misleading messages | Eelco Dolstra | 1 | -7/+9 | |
("installing `foo'" followed by "uninstalling `foo'"). | |||||
2006-02-16 | * Allow the size of the GC reserved file to be specified in nix.conf | Eelco Dolstra | 3 | -9/+18 | |
through the new `gc-reserved-space' option. | |||||
2006-02-16 | * A simple hack to fix NIX-18: the garbage collector cannot run when | Eelco Dolstra | 3 | -4/+24 | |
the disk is full (because to delete something from the Nix store, we need a Berkeley DB transaction, which takes up disk space). Under normal operation, we make sure that there exists a file /nix/var/nix/db/reserved of 1 MB. When running the garbage collector, we delete that file before we open the Berkeley DB environment. | |||||
2006-02-13 | * Optional switch "--with-openssl=<PATH>" to use OpenSSL's | Eelco Dolstra | 6 | -40/+48 | |
implementations of MD5, SHA-1 and SHA-256. The main benefit is that we get assembler-optimised implementations of MD5 and SHA-1 (though not SHA-256 (at least on x86), unfortunately). OpenSSL's SHA-1 implementation on Intel is twice as fast as ours. | |||||
2006-02-13 | * Use a union. | Eelco Dolstra | 1 | -2/+1 | |
2006-02-13 | * Override YYMALLOC and YYFREE so that we can call AT[un]protectMemory | Eelco Dolstra | 1 | -0/+20 | |
on the Bison parse stack. Otherwise, a garbage collect during parsing could lead to a crash. | |||||
2006-02-10 | * Enable the --attr in nix-build as well (and add -A as an alias). | Eelco Dolstra | 1 | -1/+1 | |
Example: $ nix-build ./all-packages.nix -A xlibs.libX11 So finally it's easy to perform a test build of a Nix expression! | |||||
2006-02-10 | * In nix-instantiate, allow us to specify a "path" to the | Eelco Dolstra | 3 | -31/+87 | |
derivation(s) we're interested, e.g., $ nix-instantiate ./all-packages.nix --attr xlibs.libX11 List elements can also be selected: $ nix-instantiate ./build-for-release.nix --attr 0.subversion This allows a non-ambiguous specification of a derivation. Of course, this should also be added to nix-env and nix-build. | |||||
2006-02-10 | * Make --parse-only work when *not* reading from stdin. | Eelco Dolstra | 1 | -2/+4 | |
2006-02-10 | * Cleanup: use the code shared with nix-env. | Eelco Dolstra | 1 | -64/+15 | |
2006-02-08 | * When querying all derivations, filter out syntactically equal derivations. | Eelco Dolstra | 1 | -12/+36 | |
2006-02-08 | * When evaluating, automatically call functions with default arguments. | Eelco Dolstra | 1 | -4/+23 | |
2006-02-08 | * Oops, fix breakage. | Eelco Dolstra | 1 | -0/+2 | |
2006-02-08 | * Refactoring: move derivation evaluation to libexpr. | Eelco Dolstra | 4 | -187/+209 | |
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.) | |||||
2006-02-01 | * Print a better error message when writing the patched file (e.g., | Eelco Dolstra | 1 | -2/+21 | |
"No space left on device" instead of "Success"). Reported by Karina Olmos. | |||||
2006-02-01 | * bsdiff updated to 4.3. This makes Nix depend on libbz2. | Eelco Dolstra | 13 | -522/+448 | |
2006-02-01 | * The "S" bit should be based on the output path, not the derivation path. | Eelco Dolstra | 1 | -1/+1 | |
2006-01-26 | * Oops, the "I" bit in "nix-env -qas" was broken. Reported by Nicolae Vintila. | Eelco Dolstra | 1 | -1/+1 | |
2006-01-19 | * Don't show cycles, they're not very useful. | Eelco Dolstra | 1 | -2/+4 | |
2006-01-09 | * dirOf: return "/", not "", for paths in the root directory. Fixes NIX-26. | Eelco Dolstra | 2 | -3/+3 | |
2006-01-08 | * Resolve all symlink components in the location of the temporary | Eelco Dolstra | 2 | -4/+25 | |
build directory (TMPDIR, i.e., /tmp). Fixes NIX-26. | |||||
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-24 | * Documentation fixes. | Eelco Dolstra | 1 | -2/+2 | |
2005-12-23 | * Added a flag `--ignore-liveness' to `nix-store --delete'. It | Eelco Dolstra | 3 | -6/+12 | |
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 | 4 | -11/+45 | |
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 | 7 | -11/+45 | |
(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 | 7 | -49/+50 | |
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 | 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-10-29 | * Turn off build hooks in nix-push because of an impurity (NIX-21). | Eelco Dolstra | 1 | -1/+1 | |