Wouter den Breejen
bcf9d3ab2f
2007-06-04 16:51:15 +00:00
Wouter den Breejen
25117fd165
the command /nixstate/nix/bin/nix-state --run /nix/store/sig2qgvaayydrwy5hn6b2dm5r2ayhv5s-hellohardcodedstateworld-1.0 now causes state to be checked and comitted
2007-05-30 17:16:25 +00:00
Wouter den Breejen
86b053dd80
Fixed backwards compatible hack & added state creation call after build
2007-05-22 13:19:27 +00:00
Wouter den Breejen
802d7f40bd
Small fix
2007-05-21 21:56:34 +00:00
Wouter den Breejen
5cac336820
Repositorys are created, state dirs are checked out automatically
2007-05-21 21:34:49 +00:00
Wouter den Breejen
3fc0b0da58
build error
2007-05-20 12:29:55 +00:00
Wouter den Breejen
8a7874d77d
in the middle of adding nixStoreState ...
2007-05-18 19:50:58 +00:00
Eelco Dolstra
8ab229ddf2
* Terminate build hooks and substitutes with a TERM signal, not a KILL
...
signal. This is necessary because those processes may have joined
the BDB environment, so they have to be given a chance to clean up.
(NIX-85)
2007-03-19 12:48:45 +00:00
Eelco Dolstra
43c4d18c6a
* nix-store --import': import an archive created by nix-store
...
--export' into the Nix store, and optionally check the cryptographic
signatures against /nix/etc/nix/signing-key.pub. (TODO: verify
against a set of public keys.)
2007-02-21 15:45:32 +00:00
Eelco Dolstra
46e0919ced
* `nix-store --export --sign': sign the Nix archive using the RSA key
...
in /nix/etc/nix/signing-key.sec
2007-02-21 14:31:42 +00:00
Eelco Dolstra
a82d80ddeb
* Move setuidCleanup() to libutil.
2006-12-07 16:40:41 +00:00
Eelco Dolstra
6a07ff1ec0
* Change the ownership of store paths to the Nix account before
...
deleting them using the setuid helper.
2006-12-07 14:14:35 +00:00
Eelco Dolstra
6a8e60913a
* Move killUser() to libutil so that the setuid helper can use it.
2006-12-07 00:16:07 +00:00
Eelco Dolstra
29cf434a35
* The determination of the root set should be made by the privileged
...
process, so forward the operation.
* Spam the user about GC misconfigurations (NIX-71).
* findRoots: skip all roots that are unreadable - the warnings with
which we spam the user should be enough.
2006-12-05 01:31:45 +00:00
Eelco Dolstra
0130ef88ea
* Daemon mode (`nix-worker --daemon'). Clients connect to the server
...
via the Unix domain socket in /nix/var/nix/daemon.socket. The
server forks a worker process per connection.
* readString(): use the heap, not the stack.
* Some protocol fixes.
2006-12-04 17:17:13 +00:00
Eelco Dolstra
363f40022f
* Pid::kill() should be interruptable.
2006-12-03 02:12:26 +00:00
Eelco Dolstra
7951c3c546
* Some hackery to propagate the worker's stderr and exceptions to the
...
client.
2006-12-03 02:08:13 +00:00
Eelco Dolstra
e25fad691a
* Move addTempRoot() to the store API, and add another function
...
syncWithGC() to allow clients to register GC roots without needing
write access to the global roots directory or the GC lock.
2006-12-02 16:41:36 +00:00
Eelco Dolstra
536595b072
* Remove most of the old setuid code.
...
* Much simpler setuid code for the worker in slave mode.
2006-12-02 15:45:51 +00:00
Eelco Dolstra
9c9cdb06d0
* Remove SwitchToOriginalUser, we're not going to need it anymore.
2006-12-02 14:34:14 +00:00
Eelco Dolstra
80b742dd52
* Don't spam.
2006-11-29 22:07:49 +00:00
Roy van den Broek
92417600a1
* Example script to set permissions for setuid operation.
2006-11-29 21:58:09 +00:00
Eelco Dolstra
71e867c5f5
* Remove --enable-setuid, --with-nix-user and --with-nix-group.
...
Rather, setuid support is now always compiled in (at least on
platforms that have the setresuid system call, e.g., Linux and
FreeBSD), but it must enabled by chowning/chmodding the Nix
binaries.
2006-11-29 21:06:58 +00:00
Eelco Dolstra
c6a97e3b74
* Doh! Path sizes need to be computed recursively of course.
...
(NIX-70)
2006-11-24 20:24:14 +00:00
Eelco Dolstra
8478cd260f
* readFile: don't overflow the stack on large files.
2006-10-30 11:56:09 +00:00
Eelco Dolstra
4ad6fb7ea3
* Fix setuid builds.
2006-09-27 21:04:07 +00:00
Eelco Dolstra
bafc1690fc
* Move setuid stuff to libutil.
...
* Install libexpr header files.
2006-09-04 22:55:28 +00:00
Eelco Dolstra
75068e7d75
* Use a proper namespace.
...
* Optimise header file usage a bit.
* Compile the parser as C++.
2006-09-04 21:06:23 +00:00
Eelco Dolstra
2132d9ddeb
* Fix the ~ operator.
2006-08-29 15:29:38 +00:00
Eelco Dolstra
8a6080eb14
* Refactoring.
2006-08-26 16:48:01 +00:00
Eelco Dolstra
dcff8cdb76
* Weird issue on Cygwin with the include file order.
2006-08-04 16:01:26 +00:00
Eelco Dolstra
c15f544356
* Call find-runtime-roots.pl from the garbage collector to prevent
...
running applications etc. from being garbage collected.
2006-07-20 12:17:25 +00:00
Eelco Dolstra
d51aede4af
* Allow the canonical system name to be specified at runtime in the
...
Nix config file.
2006-07-06 15:30:37 +00:00
Eelco Dolstra
0e783e5579
* Write messages to stderr in a slightly more atomic way. Useful when
...
there are several parallel processes.
2006-06-19 14:37:35 +00:00
Eelco Dolstra
b454977909
* Fix for a problem with BSD's group ownership semantics when the user
...
is not in the "wheel" group.
2006-06-14 11:53:55 +00:00
Eelco Dolstra
9d72bf8835
* 64-bit compatibility fixes (for problems revealed by building on an Athlon
...
64 running 64-bit SUSE). A patched ATerm library is required to run Nix
succesfully.
2006-05-11 02:19:43 +00:00
Eelco Dolstra
9088dee9e2
* Some refactoring of the exception handling code so that we can catch
...
Nix expression assertion failures.
2006-03-08 14:11:19 +00:00
Eelco Dolstra
5b527901ae
* dirOf: return "/", not "", for paths in the root directory. Fixes NIX-26.
2006-01-09 14:52:46 +00:00
Eelco Dolstra
04be39734f
* Resolve all symlink components in the location of the temporary
...
build directory (TMPDIR, i.e., /tmp). Fixes NIX-26.
2006-01-08 17:16:03 +00:00
Eelco Dolstra
530b27df1e
* `nix-store --gc' prints out the number of bytes freed on stdout
...
(even when it is interrupted by a signal).
2005-12-15 21:11:39 +00:00
Eelco Dolstra
4578a490ce
* Parse multi-valued options.
2005-09-22 15:43:22 +00:00
Eelco Dolstra
ae6d9033a1
* The eof() state isn't guaranteed to be set non-lazily. GCC 2.95
...
compatibility fix.
2005-05-04 16:29:44 +00:00
Eelco Dolstra
c6178f0b03
* Create missing log and temproots directories automatically (reported
...
by Rob).
2005-03-24 17:46:38 +00:00
Eelco Dolstra
582e01c06f
* Automatically upgrade <= 0.7 Nix stores to the new schema (so that
...
existing user environments continue to work).
* `nix-store --verify': detect incomplete closures.
2005-02-09 09:50:29 +00:00
Eelco Dolstra
a37338815d
* A GC setting `gc-keep-outputs' to specify whether output paths of
...
derivations should be kept.
2005-02-01 22:07:48 +00:00
Eelco Dolstra
630ae0c9d7
* nix-build: use an indirection scheme to make it easier for users to
...
get rid of GC roots. Nix-build places a symlink `result' in the
current directory. Previously, removing that symlink would not
remove the store path being linked to as a GC root. Now, the GC
root created by nix-build is actually a symlink in
`/nix/var/nix/gcroots/auto' to `result'. So if that symlink is
removed the GC root automatically becomes invalid (since it can no
longer be resolved). The root itself is not automatically removed -
the garbage collector should delete dangling roots.
2005-02-01 13:48:46 +00:00
Eelco Dolstra
252c9c91ab
* Topologically sort paths under the references relation to ensure
...
that they are deleted in an order that maintains the closure
invariant.
* Presence of a path in a temporary roots file does not imply that all
paths in its closure are also present, so add the closure.
2005-01-31 14:00:43 +00:00
Eelco Dolstra
1328aa3307
* Start of concurrent garbage collection. Processes write temporary
...
roots to a per-process temporary file in /nix/var/nix/temproots
while holding a write lock on that file. The garbage collector
acquires read locks on all those files, thus blocking further
progress in other Nix processes, and reads the sets of temporary
roots.
2005-01-31 10:27:25 +00:00
Eelco Dolstra
59682e6188
* Make lock removal safe by signalling to blocked processes that the
...
lock they are waiting on has become stale (we do this by writing a
meaningless token to the unlinked file).
2005-01-27 12:19:25 +00:00
Eelco Dolstra
05f0430de1
* Another change to low-level derivations. The last one this year, I
...
promise :-) This allows derivations to specify on *what* output
paths of input derivations they are dependent. This helps to
prevent unnecessary downloads. For instance, a build might be
dependent on the `devel' and `lib' outputs of some library
component, but not the `docs' output.
2005-01-20 14:10:19 +00:00