Commit graph

  • 5a1b9ed0aa * Refactoring: move sink/source buffering into separate classes. * Buffer the HashSink. This speeds up hashing a bit because it prevents lots of calls to the hash update functions (e.g. nix-hash went from 9.3s to 8.7s of user time on the closure of my /var/run/current-system). Eelco Dolstra 2011-12-15 16:19:53 +0000
  • a67b8ae224 * Typo. Eelco Dolstra 2011-12-15 14:04:35 +0000
  • a3e0656cbb * Buffer reads in FdSource. Together with write buffering, this significantly cuts down the number of syscalls (e.g., for "nix-store -qR /var/run/current-system" via the daemon, it reduced the number of syscalls in the client from 29134 to 4766 and in the daemon from 44266 to 20666). Eelco Dolstra 2011-12-15 12:32:08 +0000
  • 3a48282b06 * Buffer writes in FdSink. This significantly reduces the number of system calls / context switches when dumping a NAR and in the worker protocol. Eelco Dolstra 2011-12-14 23:30:06 +0000
  • 893cac1402 * Remove the terminate handler, which was only really needed because of Berkeley DB (see r8632). Eelco Dolstra 2011-12-14 22:41:10 +0000
  • 23bf700196 * Oops, the daemon test wasn't actually using the daemon. Eelco Dolstra 2011-12-14 22:31:31 +0000
  • c8c0380744 * Remove unnecessary quotes. showPaths() already adds quotes. Eelco Dolstra 2011-12-05 21:04:20 +0000
  • 000160f5b9 * In ‘nix-store --verify --check-contents’, repair missing hashes rather than complain about them. Eelco Dolstra 2011-12-02 17:52:18 +0000
  • 3964d95abf * nix-prefetch-url: rewritten in Perl. Eelco Dolstra 2011-12-02 12:09:50 +0000
  • 92d6a5ed73 * Add some more functions to the Perl bindings. Eelco Dolstra 2011-12-02 12:09:24 +0000
  • 49f59dceca * Move parseHash16or32 into libutil, and use in nix-hash. Eelco Dolstra 2011-12-02 11:47:06 +0000
  • b12b21825c * Allow '<nixexpr>' syntax to be used in nix-instantiate, nix-build and nix-env, e.g., Eelco Dolstra 2011-12-01 16:41:43 +0000
  • 23c38a04cc * Slight improvement. Eelco Dolstra 2011-12-01 13:51:05 +0000
  • 24f863d86b * When doing "nix-store --add-fixed" without "--recursive" via the Nix daemon (which is an error), print a nicer error message than "Connection reset by peer" or "broken pipe". * In the daemon, log errors that occur during request parameter processing. Eelco Dolstra 2011-12-01 13:48:48 +0000
  • be9be4c147 doc/manual/nix-env.xml: fixed "nix-env -qaA" typo Peter Simons 2011-12-01 08:03:30 +0000
  • 3c7ec8fc1b doc/manual/nix-env.xml: stripped trailing whitespace Peter Simons 2011-12-01 08:02:37 +0000
  • f35c4351e5 * Don't require a specific Perl version. Eelco Dolstra 2011-11-29 22:15:07 +0000
  • 4d0407ba08 * Fix make check. Eelco Dolstra 2011-11-29 13:38:52 +0000
  • 1749a7b0ae * download-using-manifests: use the Perl bindings. Eelco Dolstra 2011-11-29 13:01:24 +0000
  • b1eb8f4249 * Get rid of some superfluous error messages if a substituter fails. * Say "fetch" instead of "substitute". Eelco Dolstra 2011-11-29 13:00:41 +0000
  • 216440b3ff * For consistency with "nix-store -q --hash", produce hashes in base-32. (This affects Hydra manifests.) Eelco Dolstra 2011-11-29 12:32:55 +0000
  • 1df120cb05 * Get rid of the shell in ssh calls. Eelco Dolstra 2011-11-29 10:51:22 +0000
  • 784083176a * Fix race. Eelco Dolstra 2011-11-25 17:04:26 +0000
  • f3bc98b001 Eelco Dolstra 2011-11-23 15:39:54 +0000
  • 10e2b2b79e * Document the --include-outputs option. Eelco Dolstra 2011-11-23 15:39:02 +0000
  • d5ac78e0d6 * Add bzip2 and xz support to nix-copy-closure. Eelco Dolstra 2011-11-23 15:29:58 +0000
  • 5bbd693cae * Add an API function exportPaths() that provides the functionality of ‘nix-store --export’. * Add a Perl module that provides the functionality of ‘nix-copy-closure --to’. This is used by build-remote.pl so it no longer needs to start a separate nix-copy-closure process. Also, it uses the Perl API to do the export, so it doesn't need to start a separate nix-store process either. As a result, nix-copy-closure and build-remote.pl should no longer fail on very large closures due to an "Argument list too long" error. (Note that having very many dependencies in a single derivation can still fail because the environment can become too large. Can't be helped though.) Eelco Dolstra 2011-11-23 15:13:37 +0000
  • ab20af3e6f * build-remote.pl: drop a hard-coded reference to /nix/etc/nix. Eelco Dolstra 2011-11-23 12:21:35 +0000
  • 993fa94fb4 * Move initialisation of variables like nixConfDir from libmain to libstore so that the Perl bindings can use it as well. It's vital that the Perl bindings use the configuration file, because otherwise nix-copy-closure will fail with a ‘database locked’ message if the value of ‘use-sqlite-wal’ is changed from the default. Eelco Dolstra 2011-11-22 17:28:41 +0000
  • 4e1ea17052 nix: add /etc/hosts with localhost entry to chroot builds. Rob Vermaas 2011-11-21 15:19:51 +0000
  • 4de3e2a0db * Doh. Eelco Dolstra 2011-11-21 13:22:34 +0000
  • 23e933b3b3 * Put back the "sys_name" variable which got removed somewhere. This broke building on Cygwin and Solaris. Eelco Dolstra 2011-11-21 12:23:48 +0000
  • a6abade8e8 * Escape the [ and ] characters in the sed call, otherwise autoconf will eat them. Eelco Dolstra 2011-11-21 12:18:26 +0000
  • 964399c079 * "sed" on FreeBSD doesn't know the "+" operator. Eelco Dolstra 2011-11-20 19:23:50 +0000
  • b92f76374f * In the platform, canonicalise "amd64" to "x86_64". FreeBSD 8.2's uname reports amd64. * Drop the FreeBSD version number, e.g. "i686-freebsd" instead of "i686-freebsd8.2". Eelco Dolstra 2011-11-18 17:25:40 +0000
  • 42164d6de4 configure: Change i*86 to i686 as has always been done. Ludovic Courtès 2011-11-16 20:58:21 +0000
  • 45ec69cbdf configure: Rely on `AC_CANONICAL_HOST' to determine the Nix system name. Ludovic Courtès 2011-11-16 20:39:59 +0000
  • f8e609c341 * nix-pull: update the Nix manifest cache if necessary. Also, don't read the manifest just to check the version and print the number of paths. This makes nix-pull very fast for the cached cache (speeding up nixos-rebuild without the ‘--no-pull’ or ‘--fast’ options). Eelco Dolstra 2011-11-16 16:41:48 +0000
  • d7d7910ba4 * Don't decompress the manifests in /nix/var/nix/manifest. This saves disk space, and, since they're typically only decompressed once (to fill the manifest cache), doesn't make things slower. Eelco Dolstra 2011-11-16 16:25:38 +0000
  • 63ee5e4d2a * Remove obsolete line. Eelco Dolstra 2011-11-16 11:56:19 +0000
  • a5952405d2 * Re-use prepared statements across insertions into the manifest cache DB. This speeds up creating the cache from 16.1s to 7.9s on my system. Eelco Dolstra 2011-11-16 11:37:40 +0000
  • c0b706213d * Boldly make SQLite WAL mode the default again. Hopefully the intermittent problems are gone by now. WAL mode is preferrable because it does way fewer fsyncs. Eelco Dolstra 2011-11-07 21:11:59 +0000
  • 3c3107da86 There's no need to mess with drvPath at all Shea Levy 2011-11-06 07:18:19 +0000
  • 2ab29be70c Fix faulty reversion of my changes to unsafeDiscardOutputDependency Shea Levy 2011-11-06 07:03:14 +0000
  • ca0d47a70c Respect all outputs passed to the derivation, not just the last one Shea Levy 2011-11-06 06:54:05 +0000
  • 24b65937e1 Remove the unused sCurrentOutput symbol Shea Levy 2011-11-06 06:28:34 +0000
  • 3522730316 Embed output name into the context of the *OutPath attributes and extract it for input derivations Shea Levy 2011-11-06 06:28:30 +0000
  • 46876ff203 Fix stupid typo in multiple outputs test Shea Levy 2011-11-06 06:28:25 +0000
  • af2e53fd48 Include all outputs of derivations in the closure of explicitly-passed derivation paths Shea Levy 2011-11-06 06:28:20 +0000
  • 981edeab7b The 'insert output between = signs' approach was not helpful Shea Levy 2011-11-06 06:28:14 +0000
  • f883afa1a1 The nixinstantiate and nixstore env vars are no longer set in common.sh Shea Levy 2011-11-06 06:28:08 +0000
  • 2721e9f56f Merge from trunk Shea Levy 2011-11-06 00:13:09 +0000
  • a6a3f3a8c2 * Fix race condition in the test. Eelco Dolstra 2011-11-05 21:23:01 +0000
  • fa69ff5726 * Fix the broken reference to bunzip2 in the channel unpack script. Eelco Dolstra 2011-11-05 21:06:24 +0000
  • daed9aeac5 Eelco Dolstra 2011-11-03 19:22:24 +0000
  • d7b87bebe3 * The Nix configuration file is usually /etc/nix/nix.conf. Eelco Dolstra 2011-11-03 18:47:10 +0000
  • 325b5a8aee * Fix permission on /nix/store in the manual for multi-user installs (reported by Silvio Frischknecht). Eelco Dolstra 2011-11-02 19:14:54 +0000
  • a12095d3be * In printValueAsXML, handle the case where a "type" attribute is not a string. This happens in the NixOS option system. * Remove a bogus comparison of a unsigned integer with -1. Eelco Dolstra 2011-10-27 19:06:23 +0000
  • 00b41e46ed * Print a consistent message. Eelco Dolstra 2011-10-19 21:34:13 +0000
  • f186a9141e * nix-copy-closure: support ‘--dry-run’ and ‘--include-outputs’. Eelco Dolstra 2011-10-18 21:21:22 +0000
  • 6761757428 * Use the Store API bindings in nix-copy-closure. Eelco Dolstra 2011-10-11 15:41:13 +0000
  • d43a148204 * Add a test for nix-copy-closure. Eelco Dolstra 2011-10-11 13:58:47 +0000
  • 2492914fbc * Move the remote building test from the NixOS tree to the Nix tree. Eelco Dolstra 2011-10-11 13:06:59 +0000
  • c362e4d718 * Move SSH.pm. Eelco Dolstra 2011-10-11 11:45:36 +0000
  • 7d314b8c95 * Work around a race condition starting the Nix daemon. Eelco Dolstra 2011-10-11 11:14:30 +0000
  • 5193db048e * Set svn:ignore. Eelco Dolstra 2011-10-11 09:32:34 +0000
  • a2a317eb0b * Distribute GeneratePatches.pm. Eelco Dolstra 2011-10-11 09:31:55 +0000
  • 5090c34ee1 * Set the executable bit on scripts. Eelco Dolstra 2011-10-10 22:40:17 +0000
  • 8af7d766f0 * Refactoring: remove unnecessary variables from the tests. Eelco Dolstra 2011-10-10 21:32:34 +0000
  • cd6d02c366 Eelco Dolstra 2011-10-10 21:30:59 +0000
  • 6fcdbcac20 * Install NixManifest.pm, NixConfig.pm and GeneratePatches.pm under the Nix:: namespace. Eelco Dolstra 2011-10-10 21:11:08 +0000
  • 659c427caa * Hopefully perl-devel contains the required headers (untested). Eelco Dolstra 2011-10-10 18:58:49 +0000
  • 73fe6871c4 * Include the Nix Perl bindings in Nix itself. This will allow the bindings to be used in Nix's own Perl scripts. Eelco Dolstra 2011-10-10 18:12:40 +0000
  • bffe35aced Update gitignore Shea Levy 2011-09-19 04:36:49 +0000
  • 6c38cc9025 Ignore everything created during build Shea Levy 2011-09-19 04:15:26 +0000
  • 55481c44d4 * Don't assume that we want a shared Nix store. Eelco Dolstra 2011-09-17 09:53:31 +0000
  • e81c09edbf Remove the current output metadata from the string for unsaveDiscardOutputDependency Shea Levy 2011-09-16 11:31:00 +0000
  • bf50d6ad32 Add information about which output is active to drvPath's context Shea Levy 2011-09-16 11:30:52 +0000
  • ffa038f66d Add an sCurrentOutput member to EvalState Shea Levy 2011-09-16 11:30:44 +0000
  • f3e410d4bf Add a currentOutput attribute to derivations keep track of which output is active Shea Levy 2011-09-16 11:30:03 +0000
  • 8f28a3ba25 Add a test for multiple outputs Shea Levy 2011-09-14 05:59:29 +0000
  • c172d16b00 First attempt at the output-as-derivation semantics Shea Levy 2011-09-14 05:59:17 +0000
  • 0b34e57eb8 Create a branch for me to play around with finishing off the multiple outputs implementation Shea Levy 2011-09-14 00:41:02 +0000
  • 13114daa3e * Ouch. A store upgrade could cause a substituter to be triggered, causing a deadlock. Eelco Dolstra 2011-09-12 09:07:43 +0000
  • 281e3ed059 bootstrap: Simplify & make more robust. Ludovic Courtès 2011-09-06 12:11:05 +0000
  • e6cb3d0a0d * Added a command ‘nix-store --verify-paths PATHS’ to check whether the contents of any of the given store paths have been modified. E.g. Eelco Dolstra 2011-09-06 12:06:30 +0000
  • 82710f96f7 * Add some -f flags, never hurts. Eelco Dolstra 2011-09-06 12:00:11 +0000
  • 93227ff65c * Eliminate all uses of the global variable ‘store’ from libstore. This should also fix: Eelco Dolstra 2011-08-31 21:11:50 +0000
  • 5bcdc7e351 * Update the cleanup script. Eelco Dolstra 2011-08-27 16:59:32 +0000
  • a95ba4cdd9 * Use last_insert_id instead of sqlite_last_insert_rowid, which you're not really supposed to use according to the DBD::SQLite docs, and fails on some systems (e.g. http://hydra.nixos.org/build/1246662). Eelco Dolstra 2011-08-17 14:17:19 +0000
  • da18b11b05 * On FreeBSD, ‘touch’ is not in the test $PATH, so don't use it. Eelco Dolstra 2011-08-08 14:08:38 +0000
  • 76e0029f7a * Add perl-DBD-SQLite as a dependency of the RPM builds. Eelco Dolstra 2011-08-08 14:06:10 +0000
  • d374be551d * Add DBD-SQLite as a dependency to the Debian/Ubuntu builds. * Drop some old Fedora/Debian/Ubuntu releases. Eelco Dolstra 2011-08-08 13:19:00 +0000
  • 2d663b502d * Cache the result of file evaluation (i.e, memoize evalFile()). This prevents files from being evaluated and stored as values multiple times. For instance, evaluation of the ‘system’ attribute in NixOS causes ‘nixpkgs/pkgs/lib/lists.nix’ to be evaluated 2019 times. Eelco Dolstra 2011-08-06 19:45:43 +0000
  • 510033e783 * Handle <path> syntax. Eelco Dolstra 2011-08-06 18:54:29 +0000
  • 9d091ee99a * Handle the case where the search path element is a regular file. Eelco Dolstra 2011-08-06 18:45:28 +0000
  • 00a724ebc6 * Remove a debug statement. Eelco Dolstra 2011-08-06 18:24:43 +0000
  • 07340b8be7 * Add the Nix corepkgs to the end of the search path. This makes it possible for other Nix expressions to use corepkgs (mostly useful for the buildenv function). Eelco Dolstra 2011-08-06 18:23:38 +0000
  • c7101dac0b * Allow redirections in search path entries. E.g. if you have a directory Eelco Dolstra 2011-08-06 17:48:57 +0000
  • 1578b2261d * Add lang/dir* to the distribution. Eelco Dolstra 2011-08-06 16:18:54 +0000