Eelco Dolstra
4d728bc3e6
* Security: make sure the lock files used by build-remote.pl are not
...
readable to other users. Otherwise, any user can open the lock file
for reading and lock it, thus DoSing the remote build mechanism.
2011-12-21 19:11:58 +00:00
Eelco Dolstra
69d6f0936a
* Use a lock to ensure that only one build-remote instance can copy a
...
closure to a given machine at the same time. This prevents the case
where multiple instances try to copy the same missing store path to
the target machine, which is very wasteful.
2011-12-21 18:59:25 +00:00
Eelco Dolstra
3877619888
* Add some accidentally committed files.
2011-12-21 11:47:52 +00:00
Eelco Dolstra
273b288a7e
* importPath() -> importPaths(). Because of buffering of the input
...
stream it's now necessary for the daemon to process the entire
sequence of exported paths, rather than letting the client do it.
2011-12-16 22:31:25 +00:00
Eelco Dolstra
8d3dfa2c17
* Avoid expensive conversions from char arrays to STL strings.
2011-12-16 21:29:46 +00:00
Eelco Dolstra
e0bd307802
* Make the import operation through the daemon much more efficient
...
(way fewer roundtrips) by allowing the client to send data in bigger
chunks.
* Some refactoring.
2011-12-16 19:44:13 +00:00
Eelco Dolstra
78598d06f0
* Clean up exception handling.
2011-12-16 15:45:42 +00:00
Eelco Dolstra
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).
2011-12-15 16:19:53 +00:00
Eelco Dolstra
a67b8ae224
* Typo.
2011-12-15 14:04:35 +00:00
Eelco Dolstra
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).
2011-12-15 12:32:08 +00:00
Eelco Dolstra
3a48282b06
* Buffer writes in FdSink. This significantly reduces the number of
...
system calls / context switches when dumping a NAR and in the worker
protocol.
2011-12-14 23:30:06 +00:00
Eelco Dolstra
893cac1402
* Remove the terminate handler, which was only really needed because
...
of Berkeley DB (see r8632).
2011-12-14 22:41:10 +00:00
Eelco Dolstra
23bf700196
* Oops, the daemon test wasn't actually using the daemon.
2011-12-14 22:31:31 +00:00
Eelco Dolstra
c8c0380744
* Remove unnecessary quotes. showPaths() already adds quotes.
2011-12-05 21:04:20 +00:00
Eelco Dolstra
000160f5b9
* In ‘nix-store --verify --check-contents’, repair missing hashes
...
rather than complain about them.
2011-12-02 17:52:18 +00:00
Eelco Dolstra
3964d95abf
* nix-prefetch-url: rewritten in Perl.
2011-12-02 12:09:50 +00:00
Eelco Dolstra
92d6a5ed73
* Add some more functions to the Perl bindings.
2011-12-02 12:09:24 +00:00
Eelco Dolstra
49f59dceca
* Move parseHash16or32 into libutil, and use in nix-hash.
2011-12-02 11:47:06 +00:00
Eelco Dolstra
b12b21825c
* Allow '<nixexpr>' syntax to be used in nix-instantiate, nix-build
...
and nix-env, e.g.,
$ nix-env -f '<nixpkgs>' -i patchelf
or
$ nix-build '<nixos/tests>' -A login.test
2011-12-01 16:41:43 +00:00
Eelco Dolstra
23c38a04cc
* Slight improvement.
2011-12-01 13:51:05 +00:00
Eelco Dolstra
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.
2011-12-01 13:48:48 +00:00
Peter Simons
be9be4c147
doc/manual/nix-env.xml: fixed "nix-env -qaA" typo
2011-12-01 08:03:30 +00:00
Peter Simons
3c7ec8fc1b
doc/manual/nix-env.xml: stripped trailing whitespace
2011-12-01 08:02:37 +00:00
Eelco Dolstra
f35c4351e5
* Don't require a specific Perl version.
2011-11-29 22:15:07 +00:00
Eelco Dolstra
4d0407ba08
* Fix make check.
2011-11-29 13:38:52 +00:00
Eelco Dolstra
1749a7b0ae
* download-using-manifests: use the Perl bindings.
2011-11-29 13:01:24 +00:00
Eelco Dolstra
b1eb8f4249
* Get rid of some superfluous error messages if a substituter fails.
...
* Say "fetch" instead of "substitute".
2011-11-29 13:00:41 +00:00
Eelco Dolstra
216440b3ff
* For consistency with "nix-store -q --hash", produce hashes in
...
base-32. (This affects Hydra manifests.)
2011-11-29 12:32:55 +00:00
Eelco Dolstra
1df120cb05
* Get rid of the shell in ssh calls.
2011-11-29 10:51:22 +00:00
Eelco Dolstra
784083176a
* Fix race.
2011-11-25 17:04:26 +00:00
Eelco Dolstra
f3bc98b001
2011-11-23 15:39:54 +00:00
Eelco Dolstra
10e2b2b79e
* Document the --include-outputs option.
2011-11-23 15:39:02 +00:00
Eelco Dolstra
d5ac78e0d6
* Add bzip2 and xz support to nix-copy-closure.
2011-11-23 15:29:58 +00:00
Eelco Dolstra
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.)
2011-11-23 15:13:37 +00:00
Eelco Dolstra
ab20af3e6f
* build-remote.pl: drop a hard-coded reference to /nix/etc/nix.
2011-11-23 12:21:35 +00:00
Eelco Dolstra
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.
2011-11-22 17:28:41 +00:00
Rob Vermaas
4e1ea17052
nix: add /etc/hosts with localhost entry to chroot builds.
2011-11-21 15:19:51 +00:00
Eelco Dolstra
4de3e2a0db
* Doh.
2011-11-21 13:22:34 +00:00
Eelco Dolstra
23e933b3b3
* Put back the "sys_name" variable which got removed somewhere. This
...
broke building on Cygwin and Solaris.
2011-11-21 12:23:48 +00:00
Eelco Dolstra
a6abade8e8
* Escape the [ and ] characters in the sed call, otherwise autoconf
...
will eat them.
2011-11-21 12:18:26 +00:00
Eelco Dolstra
964399c079
* "sed" on FreeBSD doesn't know the "+" operator.
2011-11-20 19:23:50 +00:00
Eelco Dolstra
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".
2011-11-18 17:25:40 +00:00
Ludovic Courtès
42164d6de4
configure: Change i*86 to i686 as has always been done.
2011-11-16 20:58:21 +00:00
Ludovic Courtès
45ec69cbdf
configure: Rely on `AC_CANONICAL_HOST' to determine the Nix system name.
...
This should be more robust and also plays better with
cross-compilation---it uses the host name, instead of using the build
name.
2011-11-16 20:39:59 +00:00
Eelco Dolstra
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).
2011-11-16 16:41:48 +00:00
Eelco Dolstra
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.
2011-11-16 16:25:38 +00:00
Eelco Dolstra
63ee5e4d2a
* Remove obsolete line.
2011-11-16 11:56:19 +00:00
Eelco Dolstra
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.
2011-11-16 11:37:40 +00:00
Eelco Dolstra
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.
2011-11-07 21:11:59 +00:00
Eelco Dolstra
a6a3f3a8c2
* Fix race condition in the test.
2011-11-05 21:23:01 +00:00