84 ChrootPath(
Path source =
"",
bool optional =
false)
85 : source(source), optional(optional)
88 typedef map<Path, ChrootPath> PathsInChroot;
89 PathsInChroot pathsInChroot;
91 typedef map<std::string, std::string> Environment;
95 typedef std::string SandboxProfile;
96 SandboxProfile additionalSandboxProfile;
103 typedef map<StorePath, StorePath> RedirectedOutputs;
104 RedirectedOutputs redirectedOutputs;
133 const static Path homeDir;
211 int getChildStatus() override;
242 void cleanupPreChildKill() override;
243 void cleanupPostChildKill() override;
244 bool cleanupDecideWhetherDiskFull() override;
245 void cleanupPostOutputsRegisteredModeCheck() override;
246 void cleanupPostOutputsRegisteredModeNonCheck() override;
286 using DerivationGoal::DerivationGoal;
300 throw Error(
"sandboxing builds is not supported on this platform");
328 virtual void execBuilder(std::string builder, Strings args, Strings envStrs);
338 virtual bool respectsTimeouts()
override
Definition file-descriptor.hh:51
Definition local-store.hh:78
Definition processes.hh:24
Definition file-descriptor.hh:79
std::map< OutputName, Realisation > SingleDrvOutputs
Definition realisation.hh:89
std::string_view OutputNameView
Definition outputs-spec.hh:26
Definition derivations.hh:274
Definition derivation-goal.hh:249
std::unique_ptr< Derivation > drv
Definition derivation-goal.hh:166
OutputsSpec wantedOutputs
Definition derivation-goal.hh:98
StorePath drvPath
Definition derivation-goal.hh:88
const bool isDependency
Definition goal.hh:61
Worker & worker
Definition goal.hh:54
Definition local-derivation-goal.hh:11
kj::Promise< Result< void > > writeStructuredAttrs()
Definition local-derivation-goal.cc:1027
void chownToBuilder(const Path &path)
Definition local-derivation-goal.cc:1056
Path tmpDirRoot
Definition local-derivation-goal.hh:32
bool usingUserNamespace
Definition local-derivation-goal.hh:59
virtual Pid startChild(std::function< void()> openSlave)
Definition local-derivation-goal.cc:907
void closeReadPipes() override
Definition local-derivation-goal.cc:319
std::vector< std::thread > daemonWorkerThreads
Definition local-derivation-goal.hh:138
void signRealisation(Realisation &) override
Definition local-derivation-goal.cc:2207
bool privateNetwork
Definition local-derivation-goal.hh:76
void finalizeTmpDir(bool force, bool duringDestruction=false)
Definition local-derivation-goal.cc:2477
void cleanupHookFinally() override
Definition local-derivation-goal.cc:330
bool useChroot
Definition local-derivation-goal.hh:64
kj::Promise< Result< SingleDrvOutputs > > registerOutputs() override
Definition local-derivation-goal.cc:1626
std::map< Path, ValidPathInfo > prevInfos
Definition local-derivation-goal.hh:128
kj::Promise< Result< WorkResult > > tryLocalBuild() noexcept override
Definition local-derivation-goal.cc:169
void initTmpDir()
Definition local-derivation-goal.cc:915
virtual bool needsHashRewrite()
Definition local-derivation-goal.cc:126
std::optional< Path > cgroup
Definition local-derivation-goal.hh:27
std::shared_ptr< AutoDelete > autoDelChroot
Definition local-derivation-goal.hh:71
virtual void execBuilder(std::string builder, Strings args, Strings envStrs)
Definition local-derivation-goal.cc:1620
AutoCloseFD builderOutPTY
Definition local-derivation-goal.hh:48
static std::unique_ptr< LocalDerivationGoal > makeLocalDerivationGoal(const StorePath &drvPath, const OutputsSpec &wantedOutputs, Worker &worker, bool isDependency, BuildMode buildMode)
Definition platform.cc:28
virtual void setupSyscallFilter()
Definition local-derivation-goal.hh:322
bool runPasta
Definition local-derivation-goal.hh:292
OutputPathMap scratchOutputs
Definition local-derivation-goal.hh:120
Pipe userNamespaceSync
Definition local-derivation-goal.hh:53
void killChild() override final
Definition local-derivation-goal.cc:140
void runChild()
Definition local-derivation-goal.cc:1071
kj::Promise< Result< void > > checkOutputs(const std::map< std::string, ValidPathInfo > &outputs, const std::map< std::string, StorePath > &alreadyRegisteredOutputs)
Definition local-derivation-goal.cc:2213
virtual void prepareSandbox()
Definition local-derivation-goal.hh:298
std::unique_ptr< UserLock > buildUser
Definition local-derivation-goal.hh:17
StorePath makeFallbackPath(const StorePath &path)
Definition local-derivation-goal.cc:2513
AutoCloseFD tmpDirRootFd
Definition local-derivation-goal.hh:37
kj::Promise< Result< void > > startBuilder()
Definition local-derivation-goal.cc:414
virtual bool supportsUidRange()
Definition local-derivation-goal.hh:333
Pid pid
Definition local-derivation-goal.hh:22
void initEnv()
Definition local-derivation-goal.cc:969
StringMap inputRewrites
Definition local-derivation-goal.hh:102
Path tmpDirInSandbox
Definition local-derivation-goal.hh:42
virtual std::string rewriteResolvConf(std::string fromHost)
Definition local-derivation-goal.hh:307
virtual void killSandbox(bool getStats)
Definition local-derivation-goal.cc:159
Definition outputs-spec.hh:28
Definition realisation.hh:49
Definition path-info.hh:83
std::string Path
Definition types.hh:28