aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA. Cody Schuffelen <schuffelen@google.com>2023-11-30 20:22:56 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-11-30 20:22:56 +0000
commit29ffda22e18e308aade520ccba1ac5558b278cd3 (patch)
treea6ae5cac60d6662c084ecf14400ed2a03e464547
parent2177821b0e9b9659cfa88ee42f17ae0a7627f166 (diff)
parent812828e09e90ffcc34e31babd1e03c353c8b784f (diff)
downloadsandboxed-api-29ffda22e18e308aade520ccba1ac5558b278cd3.tar.gz
Start a sandbox2 target, embedding the forkserver executable. am: 812828e09e
Original change: https://android-review.googlesource.com/c/platform/external/sandboxed-api/+/2850155 Change-Id: I770b7dd3e3ba70b2d6cdef1f63cbbbc7dc58dff5 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--Android.bp125
-rw-r--r--android/placeholder_exe0
2 files changed, 119 insertions, 6 deletions
diff --git a/Android.bp b/Android.bp
index ad5423c..4b241af 100644
--- a/Android.bp
+++ b/Android.bp
@@ -81,6 +81,29 @@ cc_defaults {
defaults: ["sandboxed_api_defaults"],
}
+cc_library {
+ name: "sandboxed_api_shared_with_filewrapper",
+ srcs: [
+ "sandboxed_api/util/file_helpers.cc",
+ "sandboxed_api/util/fileops.cc",
+ "sandboxed_api/util/path.cc",
+ "sandboxed_api/util/raw_logging.cc",
+ "sandboxed_api/util/status.cc",
+ "sandboxed_api/util/strerror.cc",
+ ],
+ defaults: ["sandboxed_api_cc_defaults"],
+}
+
+cc_binary {
+ name: "sandboxed_api_filewrapper",
+ srcs: [
+ "sandboxed_api/tools/filewrapper/filewrapper.cc",
+ ],
+ static_libs: [
+ "sandboxed_api_shared_with_filewrapper",
+ ],
+ defaults: ["sandboxed_api_cc_defaults"],
+}
cc_library {
name: "sandboxed_api_shared_with_forkserver",
@@ -91,6 +114,7 @@ cc_library {
"sandboxed_api/sandbox2/buffer.cc",
"sandboxed_api/sandbox2/client.cc",
"sandboxed_api/sandbox2/comms.cc",
+ "sandboxed_api/sandbox2/fork_client.cc",
"sandboxed_api/sandbox2/forkserver.cc",
"sandboxed_api/sandbox2/ipc.cc",
"sandboxed_api/sandbox2/logserver.cc",
@@ -110,14 +134,11 @@ cc_library {
"sandboxed_api/sandbox2/util/maps_parser.cc",
"sandboxed_api/sandbox2/util/minielf.cc",
"sandboxed_api/sandbox2/util/syscall_trap.cc",
- "sandboxed_api/util/file_helpers.cc",
- "sandboxed_api/util/fileops.cc",
- "sandboxed_api/util/path.cc",
- "sandboxed_api/util/raw_logging.cc",
- "sandboxed_api/util/status.cc",
- "sandboxed_api/util/strerror.cc",
"sandboxed_api/util/temp_file.cc",
],
+ static_libs: [
+ "sandboxed_api_shared_with_filewrapper",
+ ],
defaults: ["sandboxed_api_cc_defaults"],
}
@@ -127,6 +148,98 @@ cc_binary {
"sandboxed_api/sandbox2/forkserver_bin.cc",
],
static_libs: [
+ "sandboxed_api_shared_with_filewrapper",
+ "sandboxed_api_shared_with_forkserver",
+ ],
+ defaults: ["sandboxed_api_cc_defaults"],
+}
+
+cc_genrule {
+ name: "sandboxed_api_embed_forkserver_cc",
+ arch: { // `enabled: false` doesn't appear to work here
+ arm: {
+ srcs: ["android/placeholder_exe"],
+ },
+ arm64: {
+ srcs: [":sandboxed_api_forkserver"],
+ },
+ x86: {
+ srcs: ["android/placeholder_exe"],
+ },
+ },
+ target: {
+ linux_x86_64: {
+ srcs: [":sandboxed_api_forkserver"],
+ },
+ windows: {
+ srcs: ["android/placeholder_exe"],
+ },
+ },
+ cmd: "$(location sandboxed_api_filewrapper) " +
+ "'' " +
+ "forkserver_bin_embed " +
+ "'' " +
+ "$(genDir)/forkserver_bin_embed.h " +
+ "$(genDir)/forkserver_bin_embed.cc " +
+ "$(in)",
+ device_supported: false,
+ host_supported: true,
+ out: ["forkserver_bin_embed.cc"],
+ tools: ["sandboxed_api_filewrapper"],
+}
+
+cc_genrule {
+ name: "sandboxed_api_embed_forkserver_h",
+ arch: { // `enabled: false` doesn't appear to work here
+ arm: {
+ srcs: ["android/placeholder_exe"],
+ },
+ arm64: {
+ srcs: [":sandboxed_api_forkserver"],
+ },
+ x86: {
+ srcs: ["android/placeholder_exe"],
+ },
+ },
+ target: {
+ linux_x86_64: {
+ srcs: [":sandboxed_api_forkserver"],
+ },
+ windows: {
+ srcs: ["android/placeholder_exe"],
+ },
+ },
+ cmd: "mkdir -p $(genDir)/sandboxed_api/sandbox2/ && " +
+ "$(location sandboxed_api_filewrapper) " +
+ "'' " +
+ "forkserver_bin_embed " +
+ "'' " +
+ "$(genDir)/forkserver_bin_embed.h " +
+ "$(genDir)/forkserver_bin_embed.cc " +
+ "$(in) && " +
+ "cp $(genDir)/forkserver_bin_embed.h $(genDir)/sandboxed_api/sandbox2/",
+ device_supported: false,
+ host_supported: true,
+ out: [
+ "forkserver_bin_embed.h",
+ "sandboxed_api/sandbox2/forkserver_bin_embed.h",
+ ],
+ tools: ["sandboxed_api_filewrapper"],
+}
+
+cc_library {
+ name: "sandboxed_api_sandbox2",
+ export_include_dirs: ["."],
+ generated_headers: ["sandboxed_api_embed_forkserver_h"],
+ generated_sources: ["sandboxed_api_embed_forkserver_cc"],
+ srcs: [
+ "sandboxed_api/embed_file.cc",
+ "sandboxed_api/sandbox2/executor.cc",
+ "sandboxed_api/sandbox2/global_forkclient.cc",
+ ],
+ visibility: ["//device/google/cuttlefish:__subpackages__"],
+ whole_static_libs: [
+ "sandboxed_api_shared_with_filewrapper",
"sandboxed_api_shared_with_forkserver",
],
defaults: ["sandboxed_api_cc_defaults"],
diff --git a/android/placeholder_exe b/android/placeholder_exe
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/android/placeholder_exe