mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
daemon: Client settings no longer override daemon settings.
Fixes <http://bugs.gnu.org/20217>. * nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0x161. * nix/nix-daemon/nix-daemon.cc (performOp): "build-max-jobs", "build-max-silent-time", and "build-cores" are no longer read upfront; instead, read them from the key/value list at the end. * nix/nix-daemon/guix-daemon.cc (main): Explicitly set 'settings.maxBuildJobs'. * guix/store.scm (%protocol-version): Bump to #x161. (set-build-options): #:max-build-jobs, #:max-silent-time, and #:build-cores now default to #f. Adjust handshake to new protocol. * tests/store.scm ("build-cores"): New test. * tests/guix-daemon.sh: Add test for default "build-cores" value.
This commit is contained in:
parent
09cadc8e78
commit
deac976d3d
6 changed files with 95 additions and 18 deletions
|
@ -549,8 +549,12 @@ static void performOp(bool trusted, unsigned int clientVersion,
|
|||
settings.keepGoing = readInt(from) != 0;
|
||||
settings.set("build-fallback", readInt(from) ? "true" : "false");
|
||||
verbosity = (Verbosity) readInt(from);
|
||||
settings.set("build-max-jobs", std::to_string(readInt(from)));
|
||||
settings.set("build-max-silent-time", std::to_string(readInt(from)));
|
||||
|
||||
if (GET_PROTOCOL_MINOR(clientVersion) < 0x61) {
|
||||
settings.set("build-max-jobs", std::to_string(readInt(from)));
|
||||
settings.set("build-max-silent-time", std::to_string(readInt(from)));
|
||||
}
|
||||
|
||||
if (GET_PROTOCOL_MINOR(clientVersion) >= 2)
|
||||
settings.useBuildHook = readInt(from) != 0;
|
||||
if (GET_PROTOCOL_MINOR(clientVersion) >= 4) {
|
||||
|
@ -558,7 +562,8 @@ static void performOp(bool trusted, unsigned int clientVersion,
|
|||
logType = (LogType) readInt(from);
|
||||
settings.printBuildTrace = readInt(from) != 0;
|
||||
}
|
||||
if (GET_PROTOCOL_MINOR(clientVersion) >= 6)
|
||||
if (GET_PROTOCOL_MINOR(clientVersion) >= 6
|
||||
&& GET_PROTOCOL_MINOR(clientVersion) < 0x61)
|
||||
settings.set("build-cores", std::to_string(readInt(from)));
|
||||
if (GET_PROTOCOL_MINOR(clientVersion) >= 10)
|
||||
settings.set("build-use-substitutes", readInt(from) ? "true" : "false");
|
||||
|
@ -567,7 +572,10 @@ static void performOp(bool trusted, unsigned int clientVersion,
|
|||
for (unsigned int i = 0; i < n; i++) {
|
||||
string name = readString(from);
|
||||
string value = readString(from);
|
||||
if (name == "build-timeout" || name == "build-repeat" || name == "use-ssh-substituter")
|
||||
if (name == "build-timeout" || name == "build-max-silent-time"
|
||||
|| name == "build-max-jobs" || name == "build-cores"
|
||||
|| name == "build-repeat"
|
||||
|| name == "use-ssh-substituter")
|
||||
settings.set(name, value);
|
||||
else
|
||||
settings.set(trusted ? name : "untrusted-" + name, value);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue