guix/nix/libstore
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
..
.gitignore build: Include a copy of Nix's libstore and daemon; build it. 2012-12-03 23:05:08 +01:00
build.cc daemon: Allow builds to be repeated. 2015-12-08 23:58:12 +01:00
derivations.cc Merge branch 'nix'. 2015-07-03 00:30:55 +02:00
derivations.hh Merge branch 'nix'. 2015-07-03 00:30:55 +02:00
gc.cc Merge branch 'nix'. 2015-07-03 00:30:55 +02:00
globals.cc daemon: Allow builds to be repeated. 2015-12-08 23:58:12 +01:00
globals.hh daemon: Allow builds to be repeated. 2015-12-08 23:58:12 +01:00
local-store.cc daemon: Flush upon '\r' when reading the substituter's stderr. 2015-07-07 01:03:45 +02:00
local-store.hh Merge branch 'nix'. 2015-06-03 22:59:02 +02:00
misc.cc Merge branch 'nix'. 2015-07-03 00:30:55 +02:00
misc.hh Merge branch 'nix'. 2015-07-03 00:30:55 +02:00
optimise-store.cc daemon: optimizePath: Detect some .links corruptions. 2015-12-02 19:37:59 +02:00
pathlocks.cc Merge branch 'nix'. 2015-06-03 22:59:02 +02:00
pathlocks.hh Merge branch 'nix' into 'master'. 2014-12-19 22:47:37 +01:00
references.cc Merge branch 'nix' into 'master'. 2014-12-19 22:47:37 +01:00
references.hh Merge branch 'nix' into 'master'. 2014-12-19 22:47:37 +01:00
remote-store.cc daemon: Add 'buildMode' parameter to 'buildPaths' RPC. 2015-12-02 19:37:59 +02:00
remote-store.hh Merge branch 'nix'. 2015-06-03 22:59:02 +02:00
schema.sql Merge branch 'nix' into 'master'. 2014-12-19 22:47:37 +01:00
store-api.cc Merge branch 'nix' into 'master'. 2014-12-19 22:47:37 +01:00
store-api.hh daemon: Allow builds to be repeated. 2015-12-08 23:58:12 +01:00
worker-protocol.hh daemon: Add 'buildMode' parameter to 'buildPaths' RPC. 2015-12-02 19:37:59 +02:00