Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 60fa202b authored by Taylor Santiago's avatar Taylor Santiago Committed by Gerrit Code Review
Browse files

Merge "Use consistent directory for source and output inside the build sandbox for ABFS." into main

parents 3cc89331 ca30e08b
Loading
Loading
Loading
Loading
+23 −3
Original line number Diff line number Diff line
@@ -48,7 +48,11 @@ var (
	}
)

const nsjailPath = "prebuilts/build-tools/linux-x86/bin/nsjail"
const (
	nsjailPath = "prebuilts/build-tools/linux-x86/bin/nsjail"
	abfsSrcDir = "/src"
	abfsOutDir = "/src/out"
)

var sandboxConfig struct {
	once sync.Once
@@ -145,6 +149,22 @@ func (c *Cmd) sandboxSupported() bool {
	return sandboxConfig.working
}

func (c *Cmd) srcDirArg() string {
	if !c.config.UseABFS() {
		return sandboxConfig.srcDir
	}

	return sandboxConfig.srcDir + ":" + abfsSrcDir
}

func (c *Cmd) outDirArg() string {
	if !c.config.UseABFS() {
		return sandboxConfig.outDir
	}

	return sandboxConfig.outDir + ":" + abfsOutDir
}

func (c *Cmd) wrapSandbox() {
	wd, _ := os.Getwd()

@@ -188,10 +208,10 @@ func (c *Cmd) wrapSandbox() {
		"-B", "/tmp",

		// Mount source
		c.config.sandboxConfig.SrcDirMountFlag(), sandboxConfig.srcDir,
		c.config.sandboxConfig.SrcDirMountFlag(), c.srcDirArg(),

		//Mount out dir as read-write
		"-B", sandboxConfig.outDir,
		"-B", c.outDirArg(),

		// Disable newcgroup for now, since it may require newer kernels
		// TODO: try out cgroups