sandbox_linux: set CCACHE_DIR as a writable path
Fixes "Read-only file system" error when using ccache.
NOTE: This is only required when both ccache exec and dir are on the
same partition.
Change-Id: I99afe644c8ee0e0b881c1643fef0cb31b83bcd17
diff --git a/ui/build/sandbox_linux.go b/ui/build/sandbox_linux.go
index edb3b66..ce0d174 100644
--- a/ui/build/sandbox_linux.go
+++ b/ui/build/sandbox_linux.go
@@ -228,6 +228,13 @@
sandboxArgs = append(sandboxArgs, "-N")
}
+ if ccacheExec := os.Getenv("CCACHE_EXEC"); ccacheExec != "" {
+ bytes, err := exec.Command(ccacheExec, "-k", "cache_dir").Output()
+ if err == nil {
+ sandboxArgs = append(sandboxArgs, "-B", strings.TrimSpace(string(bytes)))
+ }
+ }
+
// Stop nsjail from parsing arguments
sandboxArgs = append(sandboxArgs, "--")