app: migrate to new shim implementation

Both machinectl and sudo launch methods launch shim as shim is now responsible for setting up the sandbox. Various app structures are adapted to accommodate bwrap configuration and mediated wayland access.

Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
This commit is contained in:
2024-10-11 02:01:03 +09:00
parent b86fa6b4c9
commit 6220f7e197
11 changed files with 105 additions and 109 deletions

View File

@@ -10,8 +10,8 @@ const (
sudoAskPass = "SUDO_ASKPASS"
)
func (a *app) commandBuilderSudo() (args []string) {
args = make([]string, 0, 4+len(a.seal.env)+len(a.seal.command))
func (a *app) commandBuilderSudo(shimEnv string) (args []string) {
args = make([]string, 0, 8)
// -Hiu $USER
args = append(args, "-Hiu", a.seal.sys.Username)
@@ -22,12 +22,11 @@ func (a *app) commandBuilderSudo() (args []string) {
args = append(args, "-A")
}
// environ
args = append(args, a.seal.env...)
// shim payload
args = append(args, shimEnv)
// -- $@
args = append(args, "--")
args = append(args, a.seal.command...)
args = append(args, "--", a.seal.sys.executable, "-V", "--license") // magic for shim.Try()
return
}