guix-devel/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.cc daemon: Allow builds to be repeated. 2015-12-08 23:58:12 +01:00
derivations.cc
derivations.hh
gc.cc
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
local-store.hh
misc.cc
misc.hh
optimise-store.cc daemon: optimizePath: Detect some .links corruptions. 2015-12-02 19:37:59 +02:00
pathlocks.cc
pathlocks.hh
references.cc
references.hh
remote-store.cc daemon: Add 'buildMode' parameter to 'buildPaths' RPC. 2015-12-02 19:37:59 +02:00
remote-store.hh
schema.sql
store-api.cc
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