build-hook: If there are no machines defined, quit permanently

This commit is contained in:
Eelco Dolstra 2017-05-02 12:16:29 +02:00
parent 70581b6363
commit 174b68a2a2
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE
2 changed files with 14 additions and 2 deletions

View file

@ -150,6 +150,11 @@ int main (int argc, char * * argv)
auto machines = readConf();
debug("got %d remote builders", machines.size());
if (machines.empty()) {
std::cerr << "# decline-permanently\n";
return;
}
string drvPath;
string storeUri;
for (string line; getline(cin, line);) {

View file

@ -1598,8 +1598,15 @@ HookReply DerivationGoal::tryBuildHook()
debug(format("hook reply is %1%") % reply);
if (reply == "decline" || reply == "postpone")
return reply == "decline" ? rpDecline : rpPostpone;
if (reply == "decline")
return rpDecline;
else if (reply == "decline-permanently") {
settings.useBuildHook = false;
worker.hook = 0;
return rpDecline;
}
else if (reply == "postpone")
return rpPostpone;
else if (reply != "accept")
throw Error(format("bad hook reply %1%") % reply);