Allow for the installation of binaries in xbin

su needs to be installed in xbin, and these changes modify
Soong to allow for this.

Fixes: 202405540
Test: Confirmed that binary was dropped into xbin
Change-Id: Ib664dc1255cd4d9049ac212f79cc53d5038cfcc7
This commit is contained in:
Trevor Radcliffe 2021-10-18 21:56:21 +00:00
parent 2a109db10b
commit 0dbe615ff4

View file

@ -29,6 +29,9 @@ type InstallerProperties struct {
// Install output directly in {partition}/, not in any subdir. This is only intended for use by // Install output directly in {partition}/, not in any subdir. This is only intended for use by
// init_first_stage. // init_first_stage.
Install_in_root *bool `android:"arch_variant"` Install_in_root *bool `android:"arch_variant"`
// Install output directly in {partition}/xbin
Install_in_xbin *bool `android:"arch_vvariant"`
} }
type installLocation int type installLocation int
@ -73,6 +76,8 @@ func (installer *baseInstaller) installDir(ctx ModuleContext) android.InstallPat
if installer.installInRoot() { if installer.installInRoot() {
dir = "" dir = ""
} else if installer.installInXbin() {
dir = "xbin"
} }
if ctx.Target().NativeBridge == android.NativeBridgeEnabled { if ctx.Target().NativeBridge == android.NativeBridgeEnabled {
@ -123,3 +128,7 @@ func (installer *baseInstaller) makeUninstallable(mod *Module) {
func (installer *baseInstaller) installInRoot() bool { func (installer *baseInstaller) installInRoot() bool {
return Bool(installer.Properties.Install_in_root) return Bool(installer.Properties.Install_in_root)
} }
func (installer *baseInstaller) installInXbin() bool {
return Bool(installer.Properties.Install_in_xbin)
}