(cherry picked from commit e7f2139e251cb73195eea6fb84e2a6167b4db968)
WV4SSAIYM4SVBQ2VISDTAXQJCPKRGTLSVFH44CQFEMC4COWG5OKQC OJFOBJKFLKKL6VO26URHFN46TZVIRKBLHOVXPRFHN64QVPNMAJLAC YE6LD6MFLWQA3HUAKR552GJMGDQI76CNBQKLBCMQA6HTY5IN2RLQC 6LIYTMFU5UXNQWNZP63CXRWTN52AVOLXSHGEXMC2G3RY6L4XA45AC 3YSJ3LYKWE7ZXYGXLJI56CN6CGXXC4QO2ZDDA5VYGDSVXJ5QSIDQC DRC26KFBZIWIFT5CMAVMCHLDYWHUMKC33R3TW2KEZ5NTSVT2AFOAC RNJILKTWUYDBY2AX22BRVYFLT3FIPKEXAKGOAW3PA54XBQDENULQC XZYFFHLQFQUQ5OM4WB7XRA5SSIXQM3ZOUFTNY5JTI6CNKQOKREXQC FJCKDJKBQ3KRQEAQ2GX2HIPLA3NEXBJ4BB4MA6PYDEW7ZRHWAZJQC LENA4O2VYLVQ7HWUAVHPAMD4NM2CB7LUOS2IYGN2L27EFHKMIZYAC SGFLU2VSP5ZBZ5J22XZHFYS2KQBUFQ6NIIIP42GGYVSIQMRPMUXAC INVXGPNKOM33VJULCY7CKPSVAIHSV4EYM4TT3QVL4VBGTMPJ6HHAC WDQJRLNAAXN3YSX3JDB2IRJ2VI2WLDKXWATPEW6LM3KT3LS7NHWAC QAPR72LX6K24XLPX37ZZGAJWOYM2BIHNCHIZZXGKCIC3RWUE43DAC FJ5H26J66SSQBDNQTKOFKGOKND2IBZLGVAR3CIANKZLTQNELTTVAC 2GRQJZT6YNH32ZAXX3OALH7Z3XU3YTPH4SBTMG5ZZ373KHYFXZ7AC WCXHTOWHIRQAGQRDH3VDAVECLUYXU2MNT622II7QIX2INHVGK4XAC PIMGMGAFFP7UQFLLUZIY23G5DGJ5BQ52N3HX5NFKLUKZLHCDTQYQC KNLKTCDMQNYJ2Y4B7PDQ4WLZUSYKU4VV74YDCDJH5OBCYGP7W4VQC FV2M6MOTAP4BJMEKU5XUDVEACWEJGEIRCCE2MRY3F6SF2SFOE3MQC ZVSHXE3KY43J5BBDGERORR2FAVDG4ARANUUSGIYDHUN767SQ4GAQC 4GTOWRFWCVZJHG6ZQTXI5XMQO3QGHBGAV52IQKEDS6NYW5CI343AC 77VF5TC64OAL6CNIDZL7RO3UAAB4Y7CIMWBZGDKL7Z3AGI4DRGGAC 4N5APGRGHTKFMEJ7THSJX6TSYYAP3BUZQG73AJBKCQLXOOEHPATQC GH4S4AWM2RUS3RUDU4E4TVQJF3N3LKM7OQQSZTG6H7NNMH6FKR7AC 24BMQDZAWDQ7VNIA7TIROXSOYLOJBNZ2E4264WHWNJAEN6ZB3UOAC FS3HUMVUIZ2YWZVAO4VWJES23FUSFTQ5TMWWDCJ7KPZBRPXTN35AC KS7NNPQWGV6HRWZLF23H673PPA3EPORWIT75SLRYDKOZIAOWMASQC N4IROACVZ4MU73J5SM6WXJMKQSFR3VN5SOKENNNZNEGMTGB2Q3HAC 5AIYUMTBY6TFQTBRP3MJ2PYWUMRF57I77NIVWYE74UMEVQMBWZVQC HJOEIMLRDVQ2KZI5HGL2HKGBM3AHP7YIKGKDAGFUNKRUXVRB24NAC N2NKSKHSFR6SDMGZO2ALNDVIOLOEE26BPQHCSWUGEFE3DVVVV4MAC V6H6BWMKUGENVYLLCT56NWU7YYPADYI65Q4KSGPOJIZF2LWQRN2QC 73YR46NJNYZQKHA3QDJCAZYAKC2CGEF5LIS44NOIPDZU6FX6BDPQC 7VQ4ALFYKJBFR46T3WZDMGOXNRR3QNJEJQVBYJM4HSJUOOUD6WBQC GTUZLZRHJ6GL5BNXOO3GA6Y3GFO7AXLIVPQHSG26LCF42KC2N7LQC DKJFD6JNNK5LJMRGQABMJZKMFZLGY3ADKJWF6J4BBHEUPY3NB67QC NAYQT2GTCJPBFRSK7CBFX655F2NGTBPICJSCYG2CSCQ5NRDHZG6QC XCDTFZUYSOYEARMJCV4ORVQWG2VWZQ43HU2U63RBECP53OSCM2GQC 6TY4LNHHAUSZNFDN34CHUWMZSQN5I3LNOOSV457M44FDGZB76X4AC MB3TISH2KYBIGY6XJKMN4HO2S6TCN2GORJENMECCKLXGGIRS2O2AC OKEMZJLSKAM23XY7I7APMM3TUSMHE2XMUAANKIVQSBN6JNXI3FJAC GS4BE6TB6GH2JUZJHDPHL6YG7J7YYESF3YOZJZ2CFABXUTO4VYPQC G7KWXSFMFPFSCJ7ZD4Z6RNZSDHMHTOUDO3G6R6GYO6VDUDPMIKDQC BYVRA54QBKHLFOPIRBJKZZI7JYBYHSOK7MIA3TUZTALZQJGG3G7QC LSUX6IQR7TBTTCDQAVD3KDAVARLM7SUD7PPVTR5IOKA3BNZDYA7AC FITVNQ2SVM6KSOF5P3HHWJYQ3WMQYDJGAONCBIZ7OF7CPXGMA36QC SL3WSRACCX2IMJHHLTRAUQT7QDLCOKYLVO2FEHWIHXM5GPKSRJTQC 2PQPKMG7PHKSWDYVLVHO5SJAWQT253NUOPKP6C65TXNUKOPMFQJQC WHULPA6SJJVCXISPL3GAQIRIKQN2DTUSMWGP2ECITWYMLHOON3SQC BAFICF73XUYNAYT6T6X7GQIFHG6CLGPYYNFBMC6ON6SVPNOXO6RAC T5BIOVJEMBIASP7EKQVV2N3VD6I56UXH6LCD5I33BDQEVHJAMGKQC MHVIT4JYWUYD4UCGB2AHLXWLX6B5SYE22BREERNGANT7RGGDUFOAC YR2IM6Y5XA6XDFBWJUFSVNMQQKLIW6A2LDS4F77A3OZLEMBACCRAC LVQXQIYA7QMLVYOANYEFHDBTFAOSE3D2IYAVOG2DXURTASRCUNYQC NKQOEVVPWAT7UQ4JKOK7VWS6H3PKN52DDWT7SEWPK3JS743OGZNQC EPWEMRI23UN6C777AL2GWEOXYZRTPEPFC2SZVZ4JTWUGYVFDL5XAC FHVJYJFEZEGR6DVIQ2HGE7DLWA65QAGAI3K2KACGNM2JTDJTRJ4AC UVNTWTWGQOFKDAJ2ROJYT4U2N4EUXKNWZWPHOM42WPLUL4ALXRJQC BG6PEOB2M2Y56QPVMELU7VNNCGNMSQ2K6ATBUCPJLKPLTDWNJQ5AC OBOTGFG63VKMKWE7AGSTNPDCJ42FGFDIVY6XYLJLS275Y7OE3FSQC YXYXJDMBKFCIM4AIKCGJROUK4U3RBK5OLCBPGLA5AGERRHLGHSGAC O3NM62IZE5EMW4KY56TV53BUZZL2NHAC55W7NBPTD7A4CKT4CHUQC VQISTKOPNAEUS2K2F73CMNNLGZATWUYIURD5CSVNBNF7Q5ZF4PXQC UNVMKJV5VX74A2MLS42AP3SY25HKQSH4S27Y44QFKRQRKPU2MV6QC MSIHMO45JO5V5ICZ7SKVWH6CLINKQY3UTA7274Q5OZCKPRX7SUNQC IWB3F4Z6QZYHQFJ6FWZTGWLCPBYEUTFLUS3F7QT7JOA4DV4YLYGAC DYVETV7LWHTLQXAYFN2FYR6WBQL5BP2JNPCHY4B6H7GYZVQRT4RAC IKJBYIGY3JABFXD2KOAQNA52ULE6VR4PBFKHWAHHBITXX5KC76MAC ZK76B5ZZCEOJQUDOVKDZPE6IN2YIXQONFUIJ633OAXNC73OG3YSAC RND7XFNHXVORJ6JPEHGS7PCIW7DMOTWMZQPTEMXWLR7CZUQ2VCQQC YTAYNN7VNYZNLGUSGY3EF33MGQWMJW76FKV657SBKASQFQC7EB3AC WDGARQ76X6RLSFPJTW52BZYFKBC7DPSTABI7HHIKNYHBYXSUNTHQC 3BKPZ52C6FZZSVYTHLH6DF45P5AW35ROXCFMIGC5I56THD6B5LPQC 2DNPZFPNI2OM5FKYTC2KE5NKKKAP45AQ2VDDYLZZHCJ35X3EBJRQC EJJCY263UXP4F2NAHOARQRBV2V2Z7MK7474RFNOD6LDYTCPMWIPQC EFWDY2V7ILJBFQ6NADBESYZTPHQBXKNO5N4DPNABL7X4XMNNTNYAC 5N7LVAJNE4LN6H7HLPOHTROMDHT3DYJIO6GE4CVSAWZZIDNN66NAC OG3Z3QGCG2FNDGF4VQYWOXLZCF7LGTZCUMGKUCBNAPAQ5FRFHQ2AC 4ZJIJCVFRNMKUEZDVHBLLVLWUM2OHFSVGC3A5HWDR3ZLS2TR77NAC B2L4T3X63XVYJQXEDU4WT5Y4R6PMDXGC6WN2KGOMHRQILSABNQOAC Path root = gcRootsDir + "/" + baseNameOf(drvPath);if (!pathExists(root)) localStore->addPermRoot(drvPath, root, false);
Path root = gcRootsDir + "/" + std::string(baseNameOf(drvPath));if (!pathExists(root))localStore->addPermRoot(localStore->parseStorePath(drvPath), root, false);
hydra_queue_runner_LDADD = $(NIX_LIBS) -lpqxx
hydra_queue_runner_LDADD = $(NIX_LIBS) -lpqxx -lnixrust
if (sendDerivation)to << cmdBuildPaths << PathSet({step->drvPath});elseto << cmdBuildDerivation << step->drvPath << basicDrv;
if (sendDerivation) {to << cmdBuildPaths;writeStorePaths(*localStore, to, singleton(step->drvPath));} else {to << cmdBuildDerivation << localStore->printStorePath(step->drvPath);writeDerivation(to, *localStore, basicDrv);}
printMsg(lvlInfo, format("outputs of ‘%1%’ substituted or already valid on ‘%2%’") % step->drvPath % machine->sshName);
printMsg(lvlInfo, "outputs of ‘%s’ substituted or already valid on ‘%s’",localStore->printStorePath(step->drvPath), machine->sshName);
printMsg(lvlDebug, format("copying outputs of ‘%s’ from ‘%s’ (%d bytes)")% step->drvPath % machine->sshName % totalNarSize);
printMsg(lvlDebug, "copying outputs of ‘%s’ from ‘%s’ (%d bytes)",localStore->printStorePath(step->drvPath), machine->sshName, totalNarSize);
printMsg(lvlError, format("warning: had to wait %d ms for %d memory tokens for %s")% resMs % totalNarSize % step->drvPath);
printMsg(lvlError, "warning: had to wait %d ms for %d memory tokens for %s",resMs, totalNarSize, localStore->printStorePath(step->drvPath));
printMsg(lvlError, format("uncaught exception building ‘%1%’ on ‘%2%’: %3%")% reservation->step->drvPath % reservation->machine->sshName % e.what());
printMsg(lvlError, "uncaught exception building ‘%s’ on ‘%s’: %s",localStore->printStorePath(reservation->step->drvPath),reservation->machine->sshName,e.what());
printMsg(lvlError, format("possibly transient failure building ‘%1%’ on ‘%2%’: %3%")% step->drvPath % machine->sshName % result.errorMsg);
printMsg(lvlError, "possibly transient failure building ‘%s’ on ‘%s’: %s",localStore->printStorePath(step->drvPath), machine->sshName, result.errorMsg);
for (auto & path : step->drv.outputPaths())txn.parameterized("insert into FailedPaths values ($1)")(path).exec();
for (auto & path : step->drv->outputPaths())txn.parameterized("insert into FailedPaths values ($1)")(localStore->printStorePath(path)).exec();
for (auto & path : step->drv.outputPaths())if (!txn.parameterized("select 1 from FailedPaths where path = $1")(path).exec().empty())
for (auto & path : step->drv->outputPaths())if (!txn.parameterized("select 1 from FailedPaths where path = $1")(localStore->printStorePath(path)).exec().empty())
printMsg(lvlChatty, format("added build %1% (top-level step %2%, %3% new steps)")% build->id % step->drvPath % newSteps.size());
printMsg(lvlChatty, "added build %1% (top-level step %2%, %3% new steps)",build->id, localStore->printStorePath(step->drvPath), newSteps.size());
Connection & conn, Build::ptr build, const Path & drvPath,Build::ptr referringBuild, Step::ptr referringStep, std::set<Path> & finishedDrvs,
Connection & conn, Build::ptr build, const StorePath & drvPath,Build::ptr referringBuild, Step::ptr referringStep, std::set<StorePath> & finishedDrvs,
step->drv = readDerivation(drvPath);step->parsedDrv = std::make_unique<ParsedDerivation>(drvPath, step->drv);
step->drv = std::make_unique<Derivation>(readDerivation(*localStore, localStore->printStorePath(drvPath)));step->parsedDrv = std::make_unique<ParsedDerivation>(drvPath.clone(), *step->drv);
printError("while copying/substituting output ‘%s’ of ‘%s’: %s", i.second.path, drvPath, e.what());
printError("while copying/substituting output ‘%s’ of ‘%s’: %s",localStore->printStorePath(i.second.path),localStore->printStorePath(drvPath),e.what());
Connection & conn, Build::ptr build, const nix::Path & drvPath,Build::ptr referringBuild, Step::ptr referringStep, std::set<nix::Path> & finishedDrvs,
Connection & conn, Build::ptr build, const nix::StorePath & drvPath,Build::ptr referringBuild, Step::ptr referringStep, std::set<nix::StorePath> & finishedDrvs,