Eelco Dolstra
a33b561a6b
* Use Berkeley DB 4.4's process registry feature to recover from
...
crashed Nix instances, and toss out our own recovery code.
2005-12-09 22:55:07 +00:00
Eelco Dolstra
760264bffe
* Require Berkeley DB 4.4.
...
* Checkpoint after an upgrade.
2005-12-06 15:00:04 +00:00
Eelco Dolstra
b7f008fc35
* Did something useful while waiting at IAD: reference scanning is now
...
much faster.
2005-11-16 08:27:06 +00:00
Rob Vermaas
f0856fd905
* Repair the referers table from the references table.
2005-10-29 15:44:02 +00:00
Eelco Dolstra
92d599c6a7
* Prevent uids from being used for more than one build
...
simultaneously. We do this using exclusive locks on uid files in
/nix/var/nix/userpool, e.g., /nix/var/nix/userpool/123 for uid 123.
2005-10-20 16:58:34 +00:00
Eelco Dolstra
e932c40f8e
* Oops. Fixed-output derivations were broken.
2005-10-19 14:27:44 +00:00
Eelco Dolstra
13b089c890
* Also kill all processes of the build user after the build. This is
...
critical to prevent certain kinds of 0wnage.
2005-10-17 17:43:21 +00:00
Eelco Dolstra
f1b3a418fa
* Before starting a build under some uid, kill all current processes
...
running under that uid.
2005-10-17 17:35:37 +00:00
Eelco Dolstra
439823ae80
* Check that the build result is owned by the build user, and that
...
nobody else has write permission to the build result. This catches
most hack attempts.
2005-10-17 16:59:25 +00:00
Eelco Dolstra
7ef574e5d0
* Don't use FIFOs to make Nix create the output path on behalf of the
...
builder. Instead, require that the Nix store has sticky permission
(S_ISVTX); everyone can created files in the Nix store, but they
cannot delete, rename or modify files created by others.
2005-10-17 16:52:29 +00:00
Eelco Dolstra
32282abcea
* Beginning of secure multi-user Nix stores. If Nix is started as
...
root (or setuid root), then builds will be performed under one of
the users listed in the `build-users' configuration variables. This
is to make it impossible to influence build results externally,
allowing locally built derivations to be shared safely between
users (see ASE-2005 paper).
To do: only one builder should be active per build user.
2005-10-17 15:33:24 +00:00
Eelco Dolstra
ebfe57166d
* Lets not go wild with templates.
2005-09-22 17:23:43 +00:00
Eelco Dolstra
4578a490ce
* Parse multi-valued options.
2005-09-22 15:43:22 +00:00
Eelco Dolstra
8d06842a76
* Configuration options for trusted local builds.
2005-09-21 12:19:39 +00:00
Eelco Dolstra
ef9e2c8e73
* Typo.
2005-09-20 16:14:00 +00:00
Eelco Dolstra
4c20a08293
* Build dynamic libraries.
2005-07-22 14:52:45 +00:00
Eelco Dolstra
109cde6706
* Ignore (with a warning) invalid garbage collector roots.
2005-05-10 14:56:10 +00:00
Eelco Dolstra
456f3251d2
* Typo.
2005-05-10 14:21:46 +00:00
Eelco Dolstra
8f57634c14
* Automatically upgrade the Berkeley DB environment if necessary.
2005-05-09 15:25:47 +00:00
Eelco Dolstra
6057b51835
* Don't try to register GC roots in read-only mode.
2005-05-07 21:33:31 +00:00
Eelco Dolstra
5dea0622d1
* Idem (constness fix).
...
* `compare' in GCC 2.95 is broken.
2005-05-04 16:31:49 +00:00
Eelco Dolstra
4a266e35d4
* GCC 2.95 compatibility fix in constness; strangely, I think this
...
should not have worked at all.
2005-05-04 16:31:24 +00:00
Eelco Dolstra
f913283570
* Remove redundant message.
2005-04-13 09:20:27 +00:00
Eelco Dolstra
f3660b1c8c
* Garbage collector fix: allow deletion of paths that have invalid
...
(but substitutable) referers.
2005-04-12 10:51:00 +00:00
Eelco Dolstra
cab7816b56
* Slightly nicer message.
2005-04-11 08:07:41 +00:00
Eelco Dolstra
c815aff21b
* `nix-store --add-fixed' to preload the outputs of fixed-output
...
derivations. This is mostly to simplify the implementation of
nix-prefetch-{url, svn}, which now work properly in setuid
installations.
* Enforce valid store names in `nix-store --add / --add-fixed'.
2005-04-07 14:01:51 +00:00
Eelco Dolstra
298dd487bb
* When finding live paths, the deriver need not be valid.
2005-03-25 14:31:12 +00:00
Eelco Dolstra
7eaf038763
* `nix-store --verify': repair bad referer mappings.
2005-03-25 14:21:49 +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
0df9f08078
* Export the references graph to the build hook.
2005-03-23 13:16:36 +00:00
Eelco Dolstra
3f236f01ae
* `nix-store --register-validity': allow a path to refer to a path
...
listed later in the list of new valid paths.
2005-03-23 13:07:28 +00:00
Eelco Dolstra
f20f081560
* nix-store: --isvalid' ->
--check-validity', `--validpath' ->
...
`--register-validity'.
* `nix-store --register-validity': read arguments from stdin, and
allow the references and deriver to be set.
2005-03-23 11:25:20 +00:00
Eelco Dolstra
c757d16c8c
* Bug in clearSubstitutes().
2005-03-14 18:54:40 +00:00
Eelco Dolstra
4bbdcfbb45
* Don't use fork() in copyPath(), but a string buffer.
2005-03-03 13:58:02 +00:00
Eelco Dolstra
86cb3cc554
* Increase Berkeley DB limits a bit more.
...
* Maintain the cleanup invariant in clearSubstitutes().
2005-03-03 13:10:44 +00:00
Eelco Dolstra
07b4399fb6
* `nix-store -q --hash' to quickly query the hash of the contents of a
...
store path (which is stored in the database).
2005-03-02 15:57:06 +00:00
Eelco Dolstra
bfaf83a0fd
* When multiple derivations are specified in `nix-store -r', don't
...
continue building when one fails unless `--keep-going' is
specified.
* When `--keep-going' is specified, print out the set of failing
derivations at the end (otherwise it can be hard to find out which
failed).
2005-02-23 11:19:27 +00:00
Eelco Dolstra
3a2c3f0cf2
* Support for fixed-output hashes over directory trees (i.e., over the
...
NAR dump of the path).
2005-02-22 21:14:41 +00:00
Eelco Dolstra
eda2c3c253
* Compatibility hack so that Nixpkgs can continue to do hash checking
...
in `fetchurl' in Nix <= 0.7, but doesn't in Nix 0.8.
2005-02-22 15:23:24 +00:00
Eelco Dolstra
3c1630131e
* Subtle bug in the builder: if a subgoal that is instantiated
...
multiple times is also a top-level goal, then the second and later
instantiations would never be created because there would be a
stable pointer to the first one that would keep it alive in the
WeakGoalMap.
* Some tracing code for debugging this kind of problem.
2005-02-18 09:50:20 +00:00
Eelco Dolstra
8a3a96dd5b
* Switch to the calling user context for some more operations in a
...
setuid installation.
2005-02-17 13:55:18 +00:00
Eelco Dolstra
88273f9574
* Put build logs in $prefix/var/nix/log/drvs/.
2005-02-17 13:54:45 +00:00
Eelco Dolstra
8992fce3da
* It is now possible to add store derivations or paths directly to a
...
user environment, e.g.,
$ nix-env -i /nix/store/z58v41v21xd3ywrqk1vmvdwlagjx7f10-aterm-2.3.1.drv
or
$ nix-env -i /nix/store/hsyj5pbn0d9iz7q0aj0fga7cpaadvp1l-aterm-2.3.1
This is useful because it allows Nix expressions to be bypassed
entirely. For instance, if only a nix-pull manifest is provided,
plus the top-level path of some component, it can be installed
without having to supply the Nix expression (e.g., for obfuscation,
or to be independent of Nix expression language changes or context
dependencies).
2005-02-14 17:35:10 +00:00
Eelco Dolstra
a04a5de8f7
* Implement the `gc-keep-derivations' global configuretion flag.
2005-02-14 14:16:56 +00:00
Eelco Dolstra
6a8ef36fe6
* Global configuration option `env-keep-derivations' to store pointer
...
to derivations in user environments. Nice for developers (since it
prevents build-time-only dependencies from being GC'ed, in
conjunction with `gc-keep-outputs'). Turned off by default.
2005-02-14 13:07:09 +00:00
Eelco Dolstra
32429142cd
* Type error in constructor call (caught by GCC 3.3, but not 3.4!).
2005-02-14 09:53:11 +00:00
Eelco Dolstra
80870d9291
* Input sources should be in the set of all referenceable paths too.
2005-02-11 16:03:47 +00:00
Eelco Dolstra
3a99616968
* Commit more often to prevent out-of-memory errors.
2005-02-09 14:37:24 +00:00
Eelco Dolstra
98df735b51
* Propagate the deriver of a path through the substitute mechanism.
...
* Removed some dead code (successor stuff) from nix-push.
* Updated terminology in the tests (store expr -> drv path).
* Check that the deriver is set properly in the tests.
2005-02-09 12:57:13 +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