Eelco Dolstra
154aa7f71a
Set a few more close-on-exec flags
2012-04-15 00:42:16 +02:00
Eelco Dolstra
8be1979f1a
Remove the --max-links GC option
...
We don't need this anymore now that current filesystems support more
than 32,000 files in a directory.
2012-03-26 20:00:02 +02:00
Eelco Dolstra
bd50c01972
Ensure that Perl processes delete their entry in the temproots directory
...
By moving the destructor object to libstore.so, it's also run when
download-using-manifests and nix-prefetch-url exit. This prevents
them from cluttering /nix/var/nix/temproots with stale files.
2012-03-13 17:07:49 +01:00
Eelco Dolstra
1d487dc6a6
nix-worker: put the pid of the caller in argv[1]
...
This is useful for debugging.
2012-03-05 19:19:29 +01:00
Eelco Dolstra
d5a5a83ad4
Use data() instead of c_str() where appropriate
2012-02-09 18:27:45 +01: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
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
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
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
Shea Levy
af2e53fd48
Include all outputs of derivations in the closure of explicitly-passed derivation paths
...
This required adding a queryOutputDerivationNames function in the store API
2011-11-06 06:28:20 +00:00
Eelco Dolstra
b1eb252172
* Propagate the "100" exit status for failed builds through the Nix
...
daemon.
2010-12-17 11:28:26 +00:00
Eelco Dolstra
d7ca6f44eb
* Update some comments.
2010-12-13 13:19:46 +00:00
Eelco Dolstra
bdf089f463
* Before a build, show the disk space that the downloaded store paths
...
will approximately require.
2010-11-17 14:31:42 +00:00
Eelco Dolstra
1db6259076
* Implement RemoteStore::queryPathInfo().
2010-11-17 12:08:01 +00:00
Eelco Dolstra
955d11aae7
* Sync with the trunk.
2010-08-24 09:56:28 +00:00
Eelco Dolstra
6846ed8b44
* Make --cores work when building through the Nix daemon.
2010-08-12 09:21:50 +00:00
Eelco Dolstra
587dc8aa00
* Sync with the trunk.
2010-08-04 17:48:29 +00:00
Peter Simons
a17071fef1
Include <cstring> to ensure that strcpy(), strlen(), and memset() are declared.
...
An "using namespace std" was added locally in those functions that refer to
names from <cstring>. That is not pretty, but it's a very portable solution,
because strcpy() and friends will be found in both the 'std' and in the global
namespace.
2010-06-24 17:51:04 +00:00
Eelco Dolstra
f92c9a0ac5
* Allow unprivileged users to do `nix-store --clear-failed-paths' and
...
`nix-store --query-failed-paths'.
2010-05-04 10:45:10 +00:00
Eelco Dolstra
f3b8833a48
* Drop the dependency on the ATerm library.
2010-04-19 14:51:58 +00:00
Eelco Dolstra
594eaddd11
* When using the included sqlite/aterm libraries, build with
...
--enable-shared.
* In libutil/libstore/libexpr etc., link against sqlite and aterm.
* Some more header file hygiene.
2010-03-02 15:58:13 +00:00
Eelco Dolstra
24035b98b1
* Implement RemoteStore::queryValidPaths().
2010-02-26 12:05:01 +00:00
Eelco Dolstra
e42401ee7b
* Implement RemoteStore::queryDerivationOutputs().
2010-02-25 15:52:22 +00:00
Eelco Dolstra
fefd467539
* `helpText' is now zero-terminated.
2010-02-24 13:24:27 +00:00
Eelco Dolstra
fae0427324
* ADDITIONAL_NETWORK_LIBS -> LIBS.
2010-02-24 12:25:48 +00:00
Eelco Dolstra
fa6a4fcb11
* Add ${sqlite_lib} everywhere. Just adding it in `libstore' doesn't
...
work on x86_64 when sqlite is compiled statically.
2010-02-24 12:18:48 +00:00
Eelco Dolstra
8824d60fe5
* Remove the --use-atime / --max-atime garbage collector flags. Many
...
(Linux) machines no longer maintain the atime because it's too
expensive, and on the machines where --use-atime is useful (like the
buildfarm), reading the atimes on the entire Nix store takes way too
much time to make it practical.
2009-11-20 17:12:38 +00:00
Eelco Dolstra
327a232c85
* Remove support for old (before Nix 0.12pre12020) databases.
2009-11-06 01:15:44 +00:00
Sander van der Burg
53a4981fa2
Added optional parameter which adds -lnsl -lsocket to make the Nix package manager work on OpenSolaris
2009-10-08 14:50:37 +00:00
Eelco Dolstra
96f1517831
* Support platforms that don't have O_ASYNC (e.g. OpenSolaris
...
apparently).
2009-09-30 11:32:04 +00:00
Eelco Dolstra
3a87163b24
* Shut up a GCC warning.
2009-03-23 13:52:52 +00:00
Eelco Dolstra
60ec75048a
* Pass --use-atime / --max-atime to the daemon.
2008-12-16 12:23:35 +00:00
Eelco Dolstra
9122dcecbb
* We can't use string objects in signal handlers because they might
...
allocate memory, which is verboten in signal handlers. This caused
random failures in the test suite on Mac OS X (triggered by the spurious
SIGPOLL signals on Mac OS X, which should also be fixed).
2008-12-12 12:59:27 +00:00
Eelco Dolstra
82ae85de27
* addToStore() in nix-worker: don't write the NAR dump received from
...
the client to a temporary directory, as that is highly inefficient.
2008-12-03 18:05:14 +00:00
Eelco Dolstra
cdee317419
* Backwards compatibility.
2008-12-03 17:02:29 +00:00
Eelco Dolstra
ff762fb499
* Pass HashType values instead of strings.
2008-12-03 16:10:17 +00:00
Eelco Dolstra
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:
$ nix-store --add x
/nix/store/j2fq9qxvvxgqymvpszhs773ncci45xsj-x
$ nix-store --add-fixed --recursive sha256 x
/nix/store/j2fq9qxvvxgqymvpszhs773ncci45xsj-x
the latter being the same as the path that a derivation
derivation {
name = "x";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "...";
...
};
produces.
This does change the output path for such fixed-output derivations.
Fortunately they are quite rare. The most common use is fetchsvn
calls with SHA-256 hashes. (There are a handful of those is
Nixpkgs, mostly unstable development packages.)
* Documented the computation of store paths (in store-api.cc).
2008-12-03 15:06:30 +00:00
Eelco Dolstra
a55113411f
* Nix daemon: reload the configuration file after forking (NIX-100).
2008-11-20 12:25:11 +00:00
Eelco Dolstra
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.
2008-11-14 16:50:01 +00:00
Eelco Dolstra
a519bb0635
* Some somewhat ad hoc mechanism to allow the build farm to monitor
...
build progress.
2008-11-12 11:08:27 +00:00
Eelco Dolstra
96598e7b06
* Pass the --no-build-output flag to the daemon.
2008-11-11 15:11:10 +00:00
Eelco Dolstra
03427e76f1
* querySubstitutablePathInfo: work properly when run via the daemon.
...
* --dry-run: print the paths that we don't know how to build/substitute.
2008-08-04 11:44:50 +00:00
Eelco Dolstra
a72709afd8
* Some refactoring: put the GC options / results in separate structs.
...
* The garbage collector now also prints the number of blocks freed.
2008-06-18 09:34:17 +00:00
Eelco Dolstra
f351834f77
* nix-worker: clean up the temporary root for the worker processes
...
in /nix/var/nix/temproots.
2008-06-14 16:03:02 +00:00
Eelco Dolstra
b0e92f6d47
* Merged the no-bdb branch (-r10900:HEAD
...
https://svn.nixos.org/repos/nix/nix/branches/no-bdb ).
2008-06-09 13:52:45 +00:00