Add BUILD_BROKEN_USES_NETWORK
Some people apparently still talk to the network during their build.
Allow this temporarily with a BUILD_BROKEN_USES_NETWORK check.
Bug: 129992021
Test: attempt to talk to the network during the build with and without
this flag.
Change-Id: Ifb967c656aa24c4599e7232d0f1b5a303b5bac52
diff --git a/ui/build/config.go b/ui/build/config.go
index 64270f8..7eb3a72 100644
--- a/ui/build/config.go
+++ b/ui/build/config.go
@@ -55,6 +55,7 @@
brokenDupRules bool
brokenPhonyTargets bool
+ brokenUsesNetwork bool
pathReplaced bool
}
@@ -622,6 +623,14 @@
return c.brokenPhonyTargets
}
+func (c *configImpl) SetBuildBrokenUsesNetwork(val bool) {
+ c.brokenUsesNetwork = val
+}
+
+func (c *configImpl) BuildBrokenUsesNetwork() bool {
+ return c.brokenUsesNetwork
+}
+
func (c *configImpl) SetTargetDeviceDir(dir string) {
c.targetDeviceDir = dir
}
diff --git a/ui/build/dumpvars.go b/ui/build/dumpvars.go
index 7f0b784..3e387c1 100644
--- a/ui/build/dumpvars.go
+++ b/ui/build/dumpvars.go
@@ -203,6 +203,9 @@
// Used to turn on --werror_ options in Kati
"BUILD_BROKEN_PHONY_TARGETS",
+ // Whether to enable the network during the build
+ "BUILD_BROKEN_USES_NETWORK",
+
// Not used, but useful to be in the soong.log
"BOARD_VNDK_VERSION",
"BUILD_BROKEN_ANDROIDMK_EXPORTS",
@@ -238,4 +241,5 @@
config.SetPdkBuild(make_vars["TARGET_BUILD_PDK"] == "true")
config.SetBuildBrokenDupRules(make_vars["BUILD_BROKEN_DUP_RULES"] == "true")
config.SetBuildBrokenPhonyTargets(make_vars["BUILD_BROKEN_PHONY_TARGETS"] == "true")
+ config.SetBuildBrokenUsesNetwork(make_vars["BUILD_BROKEN_USES_NETWORK"] == "true")
}
diff --git a/ui/build/sandbox_linux.go b/ui/build/sandbox_linux.go
index 85c4a9a..b94db74 100644
--- a/ui/build/sandbox_linux.go
+++ b/ui/build/sandbox_linux.go
@@ -26,6 +26,8 @@
type Sandbox struct {
Enabled bool
DisableWhenUsingGoma bool
+
+ AllowBuildBrokenUsesNetwork bool
}
var (
@@ -40,6 +42,8 @@
ninjaSandbox = Sandbox{
Enabled: true,
DisableWhenUsingGoma: true,
+
+ AllowBuildBrokenUsesNetwork: true,
}
)
@@ -152,10 +156,17 @@
// Only log important warnings / errors
"-q",
-
- // Stop parsing arguments
- "--",
}
+
+ if c.Sandbox.AllowBuildBrokenUsesNetwork && c.config.BuildBrokenUsesNetwork() {
+ c.ctx.Printf("AllowBuildBrokenUsesNetwork: %v", c.Sandbox.AllowBuildBrokenUsesNetwork)
+ c.ctx.Printf("BuildBrokenUsesNetwork: %v", c.config.BuildBrokenUsesNetwork())
+ sandboxArgs = append(sandboxArgs, "-N")
+ }
+
+ // Stop nsjail from parsing arguments
+ sandboxArgs = append(sandboxArgs, "--")
+
c.Args = append(sandboxArgs, c.Args[1:]...)
c.Path = nsjailPath