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
5679041132
* The ‘foo.drvPath’ feature was already broken in read-only mode.
...
Since it's rarely used and fixing it is too much work right now,
just document it.
2011-12-21 18:19:05 +00:00
Shea Levy
f8e54b7874
Make the reference cycle in the cyclic outputs test indirect
2011-12-21 17:34:44 +00:00
Shea Levy
b4cee3f816
Revert previous commit
...
It doesn't detect indirect references
2011-12-21 17:31:34 +00:00
Shea Levy
f3c88f297d
Detect and reject mutually-referential outputs
...
There is probably a more efficient way to do this.
2011-12-21 17:14:28 +00:00
Eelco Dolstra
b19a0f63db
* Simplify the context handling logic.
2011-12-21 15:33:30 +00:00
Eelco Dolstra
4be5a2c096
* Add a test for unsafeDiscardOutputDependency. Not really related to
...
multiple outputs, but good to have anyway.
2011-12-21 14:42:06 +00:00
Eelco Dolstra
179409b911
* Add a test for referring to another derivation's ‘drvPath’. This
...
currently fails in read-only mode.
2011-12-21 13:47:21 +00:00
Eelco Dolstra
3877619888
* Add some accidentally committed files.
2011-12-21 11:47:52 +00:00
Eelco Dolstra
edd9359beb
* Doing a GC after building a derivation with cyclic outputs currently
...
segfaults.
2011-12-20 17:10:39 +00:00
Eelco Dolstra
1f3b0ede7d
* Add a (currently failing) test that checks whether mutually
...
recursive outputs are properly rejected.
* Add a (also failing) test for "nix-build -A <output-name>".
2011-12-20 17:08:43 +00:00
Eelco Dolstra
46e42c92c1
* Refactor a bit so that more tests can be added.
2011-12-20 17:01:02 +00:00
Eelco Dolstra
b5363810bb
* Fix the build.
2011-12-20 16:37:01 +00:00
Eelco Dolstra
194d21f9f6
* Sync with the trunk.
2011-12-16 23:33:01 +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