guix-devel/nix
Eelco Dolstra b23b4d394a daemon: Allow builds to be repeated.
This makes it easy to detect non-deterministic builds.

* nix/libstore/build.cc (DerivationGoal): Remove 'InodesSeen'; add
'curRound', 'nrRound', and 'prevInfos'.
(DerivationGoal::inputsRealised): Initialize 'nrRound'.
(NotDeterministic): New error type.
(DerivationGoal::buildDone): Check whether we need to repeat.
(DerivationGoal::startBuilder): Adjust message.
(DerivationGoal::registerOutputs): Check whether we get the same result.
* nix/libstore/globals.cc (Settings::get(const string & name, int def)):
New method.
* nix/libstore/globals.hh (Settings): Add it.
* nix/libstore/store-api.hh (ValidPathInfo): Add operator ==.
* nix/nix-daemon/nix-daemon.cc (performOp): Allow "build-repeat" for
"untrusted" users.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2015-12-08 23:58:12 +01:00
..
boost Merge branch 'nix' into 'master'. 2014-12-19 22:47:37 +01:00
guix-register guix-register: Use C++11 range 'for' loop instead of 'foreach' macro. 2015-06-10 13:55:23 +02:00
libstore daemon: Allow builds to be repeated. 2015-12-08 23:58:12 +01:00
libutil daemon: Fix namespace issue. 2015-12-02 19:37:59 +02:00
nix-daemon daemon: Allow builds to be repeated. 2015-12-08 23:58:12 +01:00
scripts Rename 'guix substitute-binary' to 'guix substitute'. 2015-03-25 10:46:22 +01:00
.gitignore build: Include a copy of Nix's libstore and daemon; build it. 2012-12-03 23:05:08 +01:00
AUTHORS Merge branch 'nix' into 'master'. 2014-12-19 22:47:37 +01:00
COPYING Merge branch 'nix' into 'master'. 2014-12-19 22:47:37 +01:00