Commit graph

  • 67958f21df * Be sure to clean up the daemon if the test fails. Eelco Dolstra 2008-12-04 16:55:22 +0000
  • d91dc086bb Eelco Dolstra 2008-12-04 16:51:36 +0000
  • 9ac3f5df9c * Propagate --max-silent-time to remote machines. Eelco Dolstra 2008-12-04 16:51:16 +0000
  • bcfe98acff * Prefer building on a remote machine over a local machine. This makes more sense for the build farm, otherwise every nix-store invocation will lead to at least one local build. Will come up with a better solution later... Eelco Dolstra 2008-12-04 16:35:47 +0000
  • 9850262a72 * Build RPMs, Debs, coverage analysis. Eelco Dolstra 2008-12-04 15:25:28 +0000
  • 909fbb9de1 * When using build hooks, for any nix-store -r build operation, it is necessary that at least one build hook doesn't return "postpone", otherwise nix-store will barf ("waiting for a build slot, yet there are no running children"). So inform the build hook when this is the case, so that it can start a build even when that would exceed the maximum load on a machine. Eelco Dolstra 2008-12-04 14:29:41 +0000
  • 5dfba0b4db * Force allocation of a pseudo-terminal to clean up the remote nix-store process when the connection is interrupted. Eelco Dolstra 2008-12-04 13:36:52 +0000
  • 9ccdb80de3 * Don't ignore errors from writing to stderr. That way, when nix-store -r (or some other operation) is started via ssh, it will at least have a chance of terminating quickly when the connection is killed. Right now it just runs to completion, because it never notices that stderr is no longer connected to anything. Of course it would be better if sshd would just send a SIGHUP, but it doesn't (https://bugzilla.mindrot.org/show_bug.cgi?id=396). Eelco Dolstra 2008-12-04 13:13:31 +0000
  • 9fd9c4c635 * Support multiple system types per remote machine, e.g. a machine list like Eelco Dolstra 2008-12-04 12:20:06 +0000
  • 63b8f09d8d Eelco Dolstra 2008-12-04 10:45:47 +0000
  • f8713e1287 * Dirty hack to make nix-push work properly on derivations: the derivation should be a source rather than a derivation dependency of the call to the NAR derivation. Otherwise the derivation (and all its dependencies) will be built as a side-effect, which may not even succeed. Eelco Dolstra 2008-12-04 10:40:41 +0000
  • 82ae85de27 * addToStore() in nix-worker: don't write the NAR dump received from the client to a temporary directory, as that is highly inefficient. Eelco Dolstra 2008-12-03 18:05:14 +0000
  • 5eaf644c99 * A simple API for parsing NAR archives. Eelco Dolstra 2008-12-03 17:30:32 +0000
  • cdee317419 * Backwards compatibility. Eelco Dolstra 2008-12-03 17:02:29 +0000
  • d95b68fde3 Eelco Dolstra 2008-12-03 16:15:38 +0000
  • ff762fb499 * Pass HashType values instead of strings. Eelco Dolstra 2008-12-03 16:10:17 +0000
  • 1307b22223 * Made addToStore() a lot more efficient: it no longer reads the path being copied 3 times in the worst case. It doesn't run in constant space, but it didn't do that anyway. Eelco Dolstra 2008-12-03 15:51:17 +0000
  • 64519cfd65 * Unify the treatment of sources copied to the store, and recursive SHA-256 outputs of fixed-output derivations. I.e. they now produce the same store path: Eelco Dolstra 2008-12-03 15:06:30 +0000
  • 09bc0c502c * Install the release notes. Eelco Dolstra 2008-11-29 00:31:39 +0000
  • 5d4eb9dd07 * Moved the build farm job for building Nix to the Nix tree. Eelco Dolstra 2008-11-26 01:13:29 +0000
  • 0c478d2f4d * Ignore carriage returns. Eelco Dolstra 2008-11-25 02:30:35 +0000
  • 5024bde8f4 * Handle prematurely ended logfiles, i.e. make sure we emit enough close tags. Eelco Dolstra 2008-11-25 01:06:15 +0000
  • 2ab09a55cf * Bump the version number. Eelco Dolstra 2008-11-20 21:51:58 +0000
  • 6bbff48079 Eelco Dolstra 2008-11-20 17:22:42 +0000
  • b8eb32f4d2 * Urgh. Eelco Dolstra 2008-11-20 16:42:52 +0000
  • bba87589cc Eelco Dolstra 2008-11-20 16:28:04 +0000
  • f3e2e6076a Eelco Dolstra 2008-11-20 16:10:55 +0000
  • 53cca4a445 Eelco Dolstra 2008-11-20 16:06:13 +0000
  • 4213b8d8ec * Urgh. Eelco Dolstra 2008-11-20 15:44:59 +0000
  • eb86b6f5a5 Eelco Dolstra 2008-11-20 15:08:39 +0000
  • 3d2035ea86 * Blindly doing a replacement of occurences of $bindir (when running the tests) is a bad idea when $bindir = /usr and some programs (like perl) live there. Fortunately it doesn't seem to be needed anymore. Eelco Dolstra 2008-11-20 15:08:34 +0000
  • 285d26374a * Don't set the prefix to /nix by default, rather use the Autoconf default of /usr/local. However, localstatedir and storedir are set to /nix/var/nix and /nix/store respectively unless they're explicitly overriden. Eelco Dolstra 2008-11-20 14:14:35 +0000
  • a55113411f * Nix daemon: reload the configuration file after forking (NIX-100). Eelco Dolstra 2008-11-20 12:25:11 +0000
  • c202523e53 Eelco Dolstra 2008-11-20 12:01:05 +0000
  • aab530e971 * Primop builtins.storePath for declaring a store path as a dependency. storePath /nix/store/bla' gives exactly the same result as toPath /nix/store/bla', except that the former includes /nix/store/bla in the dependency context of the string. Eelco Dolstra 2008-11-19 23:26:19 +0000
  • 60564410ef * Patterns. Eelco Dolstra 2008-11-19 17:50:25 +0000
  • 2668a43388 Eelco Dolstra 2008-11-19 17:27:52 +0000
  • 63ccd72496 * Updated the manual. Eelco Dolstra 2008-11-19 17:00:32 +0000
  • e13da525a7 * Files in the info directory starting with "." are temporary files and don't indicate path validity. Eelco Dolstra 2008-11-19 16:27:07 +0000
  • 5d250ad1ea * nix-store --dump-db: be more streamy. Eelco Dolstra 2008-11-19 16:26:34 +0000
  • 7509d70f9d * Documented some of the sharing mechanisms. Eelco Dolstra 2008-11-19 15:20:46 +0000
  • 2369b122d1 * Install documentation in $(docdir) (i.e. share/doc/nix). Eelco Dolstra 2008-11-19 13:19:09 +0000
  • 6c2c771af7 * Removed obsolete option. Eelco Dolstra 2008-11-19 13:18:46 +0000
  • 07d3a38726 * Remove references to Berkeley DB, including most of the troubleshooting section. W00t. Eelco Dolstra 2008-11-19 11:58:33 +0000
  • f5325d292d * Release notes. Eelco Dolstra 2008-11-19 10:59:36 +0000
  • fa791116a3 * Get rid of nix-pack-closure / nix-unpack-closure, they're redundant. Eelco Dolstra 2008-11-18 14:43:40 +0000
  • 3f4ed681c2 * Prevent zombies. Previous the SIGCHLD handler only reaped one zombie at a time, so if multiple children died before the handler got to run, some of them would not be cleaned up. Eelco Dolstra 2008-11-14 16:50:01 +0000
  • 6fedb7aa0f * Restore SIGPIPE to SIG_DFL when running the builder. This prevents subtle and often hard-to-reproduce bugs where programs in pipes either barf with a "Broken pipe" message or not, depending on the exact timing conditions. This particularly happened in GNU M4 (and Bison, which uses M4). Eelco Dolstra 2008-11-14 15:46:45 +0000
  • a519bb0635 * Some somewhat ad hoc mechanism to allow the build farm to monitor build progress. Eelco Dolstra 2008-11-12 11:08:27 +0000
  • 96598e7b06 * Pass the --no-build-output flag to the daemon. Eelco Dolstra 2008-11-11 15:11:10 +0000
  • 4166b11a53 * Add /dev/pts to the default nix.conf. Eelco Dolstra 2008-11-11 14:59:20 +0000
  • 2b7c839b4e * Typo. Eelco Dolstra 2008-11-11 14:58:37 +0000
  • 709b55ee02 * Put the chroots under /nix/var/nix/chroots to reduce the risk of disasters involving `rm -rf' on bind mounts. Will try the definitive fix (per-process mounts, apparently possible via the CLONE_NEWNS flag in clone()) some other time. Eelco Dolstra 2008-10-29 15:34:48 +0000
  • c98ea254dc libstore: Always mount `/dev/pts' individually. Ludovic Courtès 2008-10-16 21:04:32 +0000
  • 9d6d50269b * Bug fix for building on some old installations (contributed by Pjotr). Eelco Dolstra 2008-10-16 14:16:03 +0000
  • fa61ee70ee * Fix `--from-profile'. Eelco Dolstra 2008-09-18 09:08:54 +0000
  • f32fef1b07 * GC option --max-atime' that specifies an upper limit to the last accessed time of paths that may be deleted. Anything more recently used won't be deleted. The time is specified in time_t, e.g. seconds since 1970-01-01 00:00:00 UTC; use date +%s' to convert to time_t from the command line. Eelco Dolstra 2008-09-17 14:52:35 +0000
  • 4af2fdba6d * Typo. Eelco Dolstra 2008-09-17 13:00:55 +0000
  • c987061aa4 * Some refactoring. Better output with `-v' for --use-atime. Eelco Dolstra 2008-09-17 12:54:07 +0000
  • 77afd97a99 * nix-store --gc / --delete: show how many store paths were deleted. Eelco Dolstra 2008-09-17 12:53:33 +0000
  • 7ab68961e4 * Garbage collector: added an option `--use-atime' to delete paths in order of ascending last access time. This is useful in conjunction with --max-freed or --max-links to prefer deleting non-recently used garbage, which is good (especially in the build farm) since garbage may become live again. Eelco Dolstra 2008-09-17 10:02:55 +0000
  • 2b2aa8a820 * Doh. Eelco Dolstra 2008-09-08 11:02:15 +0000
  • 7933cdc6dc * When writing the user environment manifest, filter out non-string attributes from the meta attribute. Not doing so caused nix-env to barf on the "psi" package, which has a meta.function attribute, the textual serialisation of which causes a gigantic string to be produced --- so big that it causes nix-env to run out of memory. Eelco Dolstra 2008-09-02 09:21:38 +0000
  • 0f0dbe8c0c * Extend the ATerm suppressions to 64-bit. Eelco Dolstra 2008-08-29 14:38:04 +0000
  • 311c222f47 Eelco Dolstra 2008-08-29 13:59:03 +0000
  • 2a01d06da6 Added nix-http-export.cgi to extra distributed scripts; so it can be installed from releases, not only from SVN. Michael Raskin 2008-08-29 08:34:38 +0000
  • 7718b19389 * Explicitly set PWD to prevent problems with chroot builds. In particular, dietlibc cannot figure out the cwd because the inode of the current directory doesn't appear in .. (because getdents returns the inode of the mount point). Eelco Dolstra 2008-08-27 17:20:25 +0000
  • 9cc0da8453 * Create a /tmp with 1777 permission in the chroot. Some builders need a writable /tmp (they don't respect $TMPDIR). Eelco Dolstra 2008-08-27 16:03:03 +0000
  • 99dc3e613a * Require that __overrides is defined as a non-recursive attribute (which means it can only be defined via "inherit"), otherwise we get scoping bugs, since __overrides can't be recursive (or at least, it would be hard). Eelco Dolstra 2008-08-26 14:05:59 +0000
  • d06be428f6 * Disable chroot builds for fixed-output derivations so that we don't need /etc in the chroot (in particular, /etc/resolv.conf for fetchurl). Not having /etc/resolv.conf in the chroot is a good thing, since we don't want normal derivations to download files. Eelco Dolstra 2008-08-25 15:49:22 +0000
  • abec1c0004 * Evaluate attributes in sorted order for better determinism. Eelco Dolstra 2008-08-25 14:31:29 +0000
  • c4f1c2114b * Minor simplification. Eelco Dolstra 2008-08-25 14:15:56 +0000
  • 49829da8b4 * Doh. Eelco Dolstra 2008-08-25 13:32:27 +0000
  • b428adc267 * Strip off the .nix' suffix from the attribute name for files in ~/.nix-defexpr, otherwise the attribute cannot be selected with the -A' option. Useful if you want to stick a Nix expression directly in ~/.nix-defexpr. Eelco Dolstra 2008-08-25 13:31:57 +0000
  • cc826dc03e * Simplify the Valgrind suppressions using wildcards. Eelco Dolstra 2008-08-22 14:32:29 +0000
  • 51e2dda58c * Some more ATerm Valgrind suppressions. Eelco Dolstra 2008-08-19 12:46:43 +0000
  • b7ff182b6e Fixing an obvious typo in override code. I do not know whether it works correctly after the change, but at least it ca nbe compiled now. Michael Raskin 2008-08-14 22:01:43 +0000
  • ca07f3e370 * Another experimental feature: a way to truly override attributes in a rec. This will be very useful to allow end-user customisation of all-packages.nix, for instance globally overriding GCC or some other dependency. The // operator doesn't cut it: you could replace the "gcc" attribute, but all other attributes would continue to reference the original value due to the substitution semantics of rec. Eelco Dolstra 2008-08-14 16:59:37 +0000
  • 9279174dde * Added an experimental feature suggested by Andres: ellipses ("...") in attribute set pattern matches. This allows defining a function that takes *at least* the listed attributes, while ignoring additional attributes. For instance, Eelco Dolstra 2008-08-14 14:00:44 +0000
  • db4f4a8425 * Backward compatibility check to prevent nixos-rebuild from barfing when upgrading Nix. Eelco Dolstra 2008-08-14 13:02:19 +0000
  • 1b962fc720 * @-patterns as in Haskell. For instance, in a function definition Eelco Dolstra 2008-08-14 12:53:29 +0000
  • e818838412 * "pattern" non-terminal. Eelco Dolstra 2008-08-14 10:14:34 +0000
  • efe4b690ae * Refactoring: combine functions that take an attribute set and functions that take a single argument (plain lambdas) into one AST node (Function) that contains a Pattern node describing the arguments. Current patterns are single lazy arguments (VarPat) and matching against an attribute set (AttrsPat). Eelco Dolstra 2008-08-14 10:04:22 +0000
  • c03b729319 * Increase the sleep periods a bit to make the test less likely to fail on slow machines. Of course it would be better if this test wasn't timing dependent... Eelco Dolstra 2008-08-14 09:26:30 +0000
  • 5664b6d7ba * Removed the "valid values" feature. Nobody uses it anyway. Eelco Dolstra 2008-08-11 13:36:40 +0000
  • b455c4c45c Updates to nix-reduce-build Michael Raskin 2008-08-06 19:43:53 +0000
  • 72f3ea7358 * Moved some stuff to the Nixpkgs manual. * Updated the release notes. Eelco Dolstra 2008-08-05 11:03:05 +0000
  • 98b07466fb * Better error checking of the data from the substituters. Eelco Dolstra 2008-08-05 10:57:53 +0000
  • 339c142009 * Use optimistic profile locking for nix-env operations like -i' and -u'. Instead of acquiring an exclusive lock on the profile for the entire duration of the operation, we just perform the operation optimistically (without an exclusive lock), and check at the end whether the profile changed while we were busy (i.e., the symlink target changed). If so, the operation is restarted. Restarting is generally cheap, since the build results are still in the Nix store. Most of the time, only the user environment has to be rebuilt. Eelco Dolstra 2008-08-04 16:21:45 +0000
  • a87b5256e2 * Fix the tests. Eelco Dolstra 2008-08-04 16:16:49 +0000
  • 001b3f06ec * `nix-env --set': support --dry-run. Eelco Dolstra 2008-08-04 14:58:50 +0000
  • 7592f48c83 * nix-build: `--dry-run' flag. Eelco Dolstra 2008-08-04 13:46:01 +0000
  • a1d310b6b5 * nix-store --realise': print what paths will be built/downloaded, just like nix-env. * nix-store --realise': --dry-run option. Eelco Dolstra 2008-08-04 13:44:46 +0000
  • 42043953c3 * Doh. Eelco Dolstra 2008-08-04 13:15:47 +0000
  • 5adbb0aabe * build.cc: only use a substituter if it returns info for a path. Eelco Dolstra 2008-08-04 13:15:35 +0000
  • 5b1052663a * Always show what paths we're going to build/download (as in --dry-run). Maybe there should be an option to turn this on/off? Eelco Dolstra 2008-08-04 13:11:09 +0000
  • c4f98941ed * nix-env --dry-run: show the total size of the substituter downloads. Eelco Dolstra 2008-08-04 12:29:04 +0000
  • 03427e76f1 * querySubstitutablePathInfo: work properly when run via the daemon. * --dry-run: print the paths that we don't know how to build/substitute. Eelco Dolstra 2008-08-04 11:44:50 +0000
  • b3c26180e3 Updates to nix-reduce-build: only realize fixed derivations if user asks so, or only use substituters. Oh, and add possibility to use : for things like /etc/nixos/nixpkgs:-A:gnused Michael Raskin 2008-08-02 16:43:25 +0000
  • 3c92ea399d * Make nix-env --dry-run print the paths to be substituted correctly again. (After the previous substituter mechanism refactoring I didn't update the code that obtains the references of substitutable paths.) This required some refactoring: the substituter programs are now kept running and receive/respond to info requests via stdin/stdout. Eelco Dolstra 2008-08-02 12:54:35 +0000