Support recovery and recovery_available

`recovery: true` installs a module to the recovery partition.
`recovery_available: true` makes a module to be available to other
`recovery:true` or `recovery_available: true` modules.

These to are very similar to vendor, vendor_available properties, except
for the target partition.

Bug: 67916654
Bug: 64960723
Test: m -j, toybox_recovery is installed to the recovery/root/sbin
Change-Id: Iaebe0593de16c69fa70de251a61f4d018a251509
This commit is contained in:
Jiyong Park
2018-02-01 00:54:12 +09:00
parent ff9d8911f6
commit f9332f1c86
11 changed files with 157 additions and 24 deletions

View File

@@ -353,6 +353,11 @@ func (binary *binaryDecorator) link(ctx ModuleContext,
}
func (binary *binaryDecorator) install(ctx ModuleContext, file android.Path) {
// <recovery>/bin is a symlink to /system/bin. Recovery binaries are all in /sbin.
if ctx.inRecovery() {
binary.baseInstaller.dir = "sbin"
}
binary.baseInstaller.install(ctx, file)
for _, symlink := range binary.Properties.Symlinks {
binary.symlinks = append(binary.symlinks,