From 8d2dd4b0e4d73af878eeba80fc8db7fb292bfc35 Mon Sep 17 00:00:00 2001 From: Kristina Chodorow Date: Fri, 9 Sep 2016 14:09:50 +0000 Subject: Set workspace name for sandbox dirs This is required for #1262, as execution roots for external repos will be accessed via ../reponame under the exec root. I'm trying to break up the change into several small CLs. This should have no impact on the sandbox's behavior. -- MOS_MIGRATED_REVID=132671034 --- .../com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java | 2 +- .../com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java | 2 +- .../java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) (limited to 'src/main/java/com/google/devtools') diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java index 4c8f0c3897..f84b5b9e2b 100644 --- a/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java +++ b/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java @@ -166,7 +166,7 @@ public class DarwinSandboxedStrategy extends SandboxStrategy { // Each invocation of "exec" gets its own sandbox. Path sandboxPath = SandboxHelpers.getSandboxRoot(blazeDirs, productName, uuid, execCounter); - Path sandboxExecRoot = sandboxPath.getRelative("execroot"); + Path sandboxExecRoot = sandboxPath.getRelative("execroot").getRelative(execRoot.getBaseName()); if (errWriter != null) { errWriter.printf("sandbox root is %s\n", sandboxPath.toString()); diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java index e16c6dc9e4..48892132cb 100644 --- a/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java +++ b/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java @@ -100,7 +100,7 @@ public class LinuxSandboxedStrategy extends SandboxStrategy { // Each invocation of "exec" gets its own sandbox. Path sandboxPath = SandboxHelpers.getSandboxRoot(blazeDirs, productName, uuid, execCounter); - Path sandboxExecRoot = sandboxPath.getRelative("execroot"); + Path sandboxExecRoot = sandboxPath.getRelative("execroot").getRelative(execRoot.getBaseName()); Set writableDirs = getWritableDirs(sandboxExecRoot, spawn.getEnvironment()); diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java index 004c8dffbc..8573ad5fa7 100644 --- a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java +++ b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java @@ -128,6 +128,7 @@ final class SandboxHelpers { return blazeDirs .getOutputBase() .getRelative(productName + "-sandbox") - .getRelative(uuid + "-" + execCounter.getAndIncrement()); + .getRelative(uuid + "-" + execCounter.getAndIncrement()) + .getRelative(blazeDirs.getExecRoot().getBaseName()); } } -- cgit v1.2.3