diff options
author | aszlig <aszlig@nix.build> | 2017-11-25T00·03+0100 |
---|---|---|
committer | aszlig <aszlig@nix.build> | 2017-11-25T00·34+0100 |
commit | 6567ab95a0b5cdca3f8b22dbbcd98ec5d18b63b0 (patch) | |
tree | f91f5e506c891d118c99a29fed50a2d3eb8b21b6 /src | |
parent | 549c3706a5d63e10d908b43da8479331a844018f (diff) |
build-remote: Fix missing log output
The storeUri variable in the build-remote hook is declared very much to the start of the main function and a bunch of lines later, the same variable gets checked via hasPrefix() but it gets assigned *after* that check when the most suitable machine for the build was choosen. So I guess this was just a typo in d16fd2497374671c92cb877f9570d65783a7 and what we really want is to either checkd the prefix *after* assigning storeUri or use bestMachine->storeUri directly. I choose the latter, because the former could introduce even more regressions if the try block where the variable gets assigned terminates early. Nevertheless, the reason why the log output didn't work is because hasPrefix() checked for "ssh://" in front of storeUri, but if the storeUri isn't set correctly (or at all), we don't get the log file descriptor set up properly, leading to no log output. I've adjusted the remote-builds test to include a regression test for this, so that we can make sure we get a build output when using remote builds. In addition to that I've tested this with two of my build farms and the build logs are emitted correctly again. Signed-off-by: aszlig <aszlig@nix.build>
Diffstat (limited to 'src')
-rw-r--r-- | src/build-remote/build-remote.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/build-remote/build-remote.cc b/src/build-remote/build-remote.cc index 6e05e165545d..445006b327fd 100644 --- a/src/build-remote/build-remote.cc +++ b/src/build-remote/build-remote.cc @@ -177,7 +177,7 @@ int main (int argc, char * * argv) Activity act(*logger, lvlTalkative, actUnknown, fmt("connecting to '%s'", bestMachine->storeUri)); Store::Params storeParams; - if (hasPrefix(storeUri, "ssh://")) { + if (hasPrefix(bestMachine->storeUri, "ssh://")) { storeParams["max-connections"] ="1"; storeParams["log-fd"] = "4"; if (bestMachine->sshKey != "") |