Commit graph

  • 2d54312f87 * Rewrote nix-build in Perl, since sh is just too limited (turns out that arrays are a bash extension, so it didn't work on FreeBSD). Also fixes NIX-8 (readlink(1) dependency). Eelco Dolstra 2006-03-03 14:15:02 +0000
  • 78d84f5631 * Tests for fixed-output derivations (and attribute selection, incidentally). Eelco Dolstra 2006-03-01 18:26:21 +0000
  • 2167bf6b72 * Tests to prevent a repeat of the parseHash32 debacle. Eelco Dolstra 2006-03-01 18:11:41 +0000
  • 70dee0f8ca * Flags --to-base32' and --to-base16' to convert between hex and base-32 hashes. Eelco Dolstra 2006-03-01 18:05:47 +0000
  • e136532800 * Ouch, parseHash32 was completely broken. All digits >= 4 were parsed as 4. Eelco Dolstra 2006-03-01 17:59:08 +0000
  • 74166f2f44 * db.hh shouldn't depend on the Berkeley DB headers. Eelco Dolstra 2006-03-01 17:44:28 +0000
  • 1bdceb421f * Doh! Eelco Dolstra 2006-03-01 16:52:55 +0000
  • d822bf32e4 * Close the database before the destructor runs. Eelco Dolstra 2006-03-01 16:36:35 +0000
  • fa95f4be3f * More test coverage. Eelco Dolstra 2006-03-01 16:26:13 +0000
  • 80b5c71684 * Doh! Eelco Dolstra 2006-03-01 16:03:32 +0000
  • e3daee919d * Test `nix-store -q --binding'. Eelco Dolstra 2006-03-01 15:46:22 +0000
  • ea9c35d3cc * Test nix-store --add' and nix-store -q --hash'. Eelco Dolstra 2006-03-01 15:43:37 +0000
  • 30d051ff14 * New suppressions. Eelco Dolstra 2006-03-01 15:40:01 +0000
  • b6780b9e10 * Uninitialised variable. Fixes the --delete test. Eelco Dolstra 2006-03-01 14:39:42 +0000
  • b602d2dfdf * Wrong delete. Thanks valgrind. Eelco Dolstra 2006-03-01 14:39:10 +0000
  • b90787290d * TDD! Woohoo! Eelco Dolstra 2006-03-01 14:26:03 +0000
  • 089c41a0c2 * Oops! Eelco Dolstra 2006-03-01 14:17:00 +0000
  • ca0b23c831 * Test the nix-store --gc subflags. Eelco Dolstra 2006-03-01 14:00:27 +0000
  • 5cb6c42088 * Test nix-build. This also tests indirect roots. Eelco Dolstra 2006-03-01 13:49:12 +0000
  • 8cd646b6af * Clear the substitutes prior to running the test. Eelco Dolstra 2006-03-01 13:33:12 +0000
  • e48bd8c8b5 * Add a test for nix-log2xml. Eelco Dolstra 2006-03-01 13:25:08 +0000
  • 458820df6c * Generate valid HTML. Eelco Dolstra 2006-03-01 13:24:47 +0000
  • 6b8bb8d74a * Remove dead code. Eelco Dolstra 2006-03-01 12:51:39 +0000
  • 84c4631221 * Simplification. Eelco Dolstra 2006-03-01 12:51:18 +0000
  • a4c63c6e8e * Make it easy to run individual tests from the command line. Eelco Dolstra 2006-03-01 12:15:33 +0000
  • 85793fa438 * Remove debug statement. Eelco Dolstra 2006-02-24 17:10:38 +0000
  • e2f16b9cae * A script to remove from a manifest those patches whose base or target no longer applies to any available release. This is a partial fix for NIX-34 (when producing linear patch sequences between releases, the number of patches grows without bound). Eelco Dolstra 2006-02-24 16:05:55 +0000
  • 5168f9bb00 * Canonicalise manifests a bit by sorting them. Eelco Dolstra 2006-02-24 16:02:36 +0000
  • 9d3bee50ad * Aha! Eelco Dolstra 2006-02-22 15:20:11 +0000
  • 17f39049cf * WTF? Eelco Dolstra 2006-02-22 15:09:47 +0000
  • 43fa1c20e7 * Separate the cache reading code. Eelco Dolstra 2006-02-22 14:35:19 +0000
  • 928cce5922 * Directory for nix.cs.uu.nl manifest / cache maintenance scripts. Eelco Dolstra 2006-02-22 14:13:02 +0000
  • fcec32a2c5 * Use right directories for NAR files and patches. * Print errors to STDERR. Eelco Dolstra 2006-02-22 14:10:02 +0000
  • f0d6318dd1 * More tests. Eelco Dolstra 2006-02-22 14:02:44 +0000
  • ddb78dfc3d * Check whether "nix-store -q --graph" generates a valid dot graph. * Test "nix-store -q --tree" as well. Eelco Dolstra 2006-02-22 13:55:41 +0000
  • 46f0cb0869 * In "nix-env -i", print a warning if there are multiple derivations 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.: Eelco Dolstra 2006-02-17 18:11:45 +0000
  • 7a3e715980 * Fix for NIX-31: "nix-env -i foo" installing all derivations named foo. Now it will only install the one with the highest version number. Eelco Dolstra 2006-02-17 17:47:54 +0000
  • 58fc420b36 * And another test. Eelco Dolstra 2006-02-17 17:05:34 +0000
  • 4ddd5ff39c * Regression test for NIX-31. Eelco Dolstra 2006-02-17 17:03:19 +0000
  • 889ef564fd * Fix the infamous NIX-17: nix-env -i prints misleading messages ("installing foo'" followed by "uninstalling foo'"). Eelco Dolstra 2006-02-17 16:26:28 +0000
  • 345a95afe9 * Allow the size of the GC reserved file to be specified in nix.conf through the new `gc-reserved-space' option. Eelco Dolstra 2006-02-16 13:58:10 +0000
  • 651ab439cf * A simple hack to fix NIX-18: the garbage collector cannot run when 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. Eelco Dolstra 2006-02-16 13:19:15 +0000
  • d6f586d0ea * Optional switch "--with-openssl=<PATH>" to use OpenSSL's 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. Eelco Dolstra 2006-02-13 19:52:43 +0000
  • e8475bbd5b * Use a union. Eelco Dolstra 2006-02-13 18:00:08 +0000
  • 2d2e28d02c * Override YYMALLOC and YYFREE so that we can call AT[un]protectMemory on the Bison parse stack. Otherwise, a garbage collect during parsing could lead to a crash. Eelco Dolstra 2006-02-13 13:09:23 +0000
  • 0ca0a4da9f * Valgrind suppressions for the ATerm library. The ATerm library uses a conservative garbage collector that scans the stack and parts of the heap for pointers to ATerms. This scan can touch uninitialised memory, which is harmless. Use: Eelco Dolstra 2006-02-13 12:48:59 +0000
  • da0a6b6499 * Doh. Eelco Dolstra 2006-02-12 21:00:36 +0000
  • 982399bb14 * Enable the --attr in nix-build as well (and add -A as an alias). Example: Eelco Dolstra 2006-02-10 17:37:35 +0000
  • c6120352b3 * In nix-instantiate, allow us to specify a "path" to the derivation(s) we're interested, e.g., Eelco Dolstra 2006-02-10 17:25:59 +0000
  • b505f9eaf5 * Document that nix-instantiate can read from stdin. Eelco Dolstra 2006-02-10 15:29:17 +0000
  • 9e51abc7dc * Make --parse-only work when *not* reading from stdin. Eelco Dolstra 2006-02-10 15:28:47 +0000
  • f848a45739 * Cleanup: use the code shared with nix-env. Eelco Dolstra 2006-02-10 15:14:57 +0000
  • 4eb637c799 * When querying all derivations, filter out syntactically equal derivations. Eelco Dolstra 2006-02-08 16:15:07 +0000
  • 8688e83194 * When evaluating, automatically call functions with default arguments. Eelco Dolstra 2006-02-08 15:22:30 +0000
  • f8aadf14c3 * Test-driven development, woohoo! nix-env should work on functions, provided that all arguments have defaults. Eelco Dolstra 2006-02-08 15:21:57 +0000
  • 287d0ef41c * Oops, fix breakage. Eelco Dolstra 2006-02-08 14:32:33 +0000
  • e771e59178 * Tests for nix-env, finally! Eelco Dolstra 2006-02-08 14:32:06 +0000
  • 39f50db731 * Refactoring: move derivation evaluation to libexpr. Eelco Dolstra 2006-02-08 13:21:16 +0000
  • 4db4b61380 * Don't install nix.conf (so it won't be overriden when you upgrade an RPM). Eelco Dolstra 2006-02-07 14:47:26 +0000
  • 81de538e46 * Use setsid instead of setpgrp in child processes. This not only 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). Eelco Dolstra 2006-02-03 14:20:59 +0000
  • b90daaaf6c * When killing a build hook, kill the entire process group (as 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.) Eelco Dolstra 2006-02-02 16:27:31 +0000
  • 6e2eaaec96 * Print a better error message when writing the patched file (e.g., "No space left on device" instead of "Success"). Reported by Karina Olmos. Eelco Dolstra 2006-02-01 17:28:13 +0000
  • d9d6ff9f8e * Doh. Eelco Dolstra 2006-02-01 16:49:52 +0000
  • 8291f6d968 * bsdiff updated to 4.3. This makes Nix depend on libbz2. Eelco Dolstra 2006-02-01 16:48:49 +0000
  • 9e4ffc43a2 * The "S" bit should be based on the output path, not the derivation path. Eelco Dolstra 2006-02-01 16:47:51 +0000
  • 3eba483692 * Use Berkeley DB 4.4.20. Eelco Dolstra 2006-02-01 14:52:58 +0000
  • 151f10dbc7 * Add @bindir@. Eelco Dolstra 2006-02-01 12:41:54 +0000
  • 83424eb71b * Don't force a build of derivations. Eelco Dolstra 2006-01-26 23:18:46 +0000
  • db2275cb99 * Oops, the "I" bit in "nix-env -qas" was broken. Reported by Nicolae Vintila. Eelco Dolstra 2006-01-26 23:18:26 +0000
  • 1029716a8a * Don't show cycles, they're not very useful. Eelco Dolstra 2006-01-19 15:35:34 +0000
  • e4d4969ae9 * New tools nix-pack-closure and nix-unpack-closure. These provide a useful way to transfer the closure of a store path to another machine. Eelco Dolstra 2006-01-12 15:17:51 +0000
  • 5b527901ae * dirOf: return "/", not "", for paths in the root directory. Fixes NIX-26. Eelco Dolstra 2006-01-09 14:52:46 +0000
  • 04be39734f * Resolve all symlink components in the location of the temporary build directory (TMPDIR, i.e., /tmp). Fixes NIX-26. Eelco Dolstra 2006-01-08 17:16:03 +0000
  • 0f8d3c871b * More GCC 2.95 compatibility. Eelco Dolstra 2005-12-25 11:29:12 +0000
  • 52d20ef124 * Hack around a GCC 2.95 bug. Eelco Dolstra 2005-12-25 02:02:29 +0000
  • 1440419b45 * GCC 2.95 compatibility. Eelco Dolstra 2005-12-24 23:32:59 +0000
  • 1d2460ee5d * Documentation fixes. Eelco Dolstra 2005-12-24 23:22:05 +0000
  • f96d2dea26 * Added a flag --ignore-liveness' to nix-store --delete'. It 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). Eelco Dolstra 2005-12-23 21:36:44 +0000
  • 4b9e7f59ca * Revived the old "nix-store --delete" operation that deletes the specified paths from the Nix store. However, this operation is safe: it refuses to delete anything that the garbage collector wouldn't delete. Eelco Dolstra 2005-12-23 21:08:42 +0000
  • 3c5619c7e4 * Begin release notes. Eelco Dolstra 2005-12-15 21:11:55 +0000
  • 530b27df1e * `nix-store --gc' prints out the number of bytes freed on stdout (even when it is interrupted by a signal). Eelco Dolstra 2005-12-15 21:11:39 +0000
  • 5144f750c4 * Typo. Eelco Dolstra 2005-12-15 17:04:02 +0000
  • b1eed6b586 * Split the database upgrade into multiple transactions to prevent Berkeley DB from running out of locks. Eelco Dolstra 2005-12-15 16:53:21 +0000
  • 11a8dc76d6 * Doh! Eelco Dolstra 2005-12-15 13:45:10 +0000
  • ab5c6bb3a3 * Change referer' to referrer' throughout. In particular, the 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). Eelco Dolstra 2005-12-13 21:04:48 +0000
  • d87549c1c7 * Automatically delete the old referers table. Eelco Dolstra 2005-12-12 19:14:38 +0000
  • 8463f27d8c * Fix NIX-23: quadratic complexity in maintaining the referers mapping. The referer table is replaced by a referrer table (note spelling fix) that stores each referrer separately. That is, instead of having Eelco Dolstra 2005-12-12 18:24:42 +0000
  • 18bbcb1214 * Add a test to demonstrate the quadratic complexity of referrer (de)registration, in particular garbage collection (NIX-23). Eelco Dolstra 2005-12-11 19:25:48 +0000
  • a33b561a6b * Use Berkeley DB 4.4's process registry feature to recover from crashed Nix instances, and toss out our own recovery code. Eelco Dolstra 2005-12-09 22:55:07 +0000
  • eb268a7f95 * Apply the patch. Eelco Dolstra 2005-12-08 22:14:15 +0000
  • dfffd92568 * A patch to make the DB_REGISTER feature work when debug info is not on. Eelco Dolstra 2005-12-08 18:18:20 +0000
  • 760264bffe * Require Berkeley DB 4.4. * Checkpoint after an upgrade. Eelco Dolstra 2005-12-06 15:00:04 +0000
  • dc528128cc * FreeBSD compatibility fix. Eelco Dolstra 2005-11-17 13:58:23 +0000
  • 44409f52c1 * "Fix" the test, since we cannot feasibly support the intended semantics. Eelco Dolstra 2005-11-17 11:58:22 +0000
  • b7f008fc35 * Did something useful while waiting at IAD: reference scanning is now much faster. Eelco Dolstra 2005-11-16 08:27:06 +0000
  • 9311ab76a5 * Install signal handlers for SIGTERM and SIGHUP. This ensures that 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. Eelco Dolstra 2005-11-04 15:34:09 +0000
  • 5bf939885a * Memoise checkVarDefs since internally produced terms (i.e., not the result of parsing) can have very heavy sharing, causing exponential complexity if we naively recurse into them. ATerms are graphs, not trees! Eelco Dolstra 2005-11-04 15:17:05 +0000
  • 1f285cf556 * Scoping bug in `with'. Eelco Dolstra 2005-11-04 14:50:33 +0000
  • 221c79013f * Turn off build hooks in nix-push because of an impurity (NIX-21). Eelco Dolstra 2005-10-29 18:17:45 +0000
  • f0856fd905 * Repair the referers table from the references table. Rob Vermaas 2005-10-29 15:44:02 +0000