summaryrefslogtreecommitdiff
path: root/filesystem
diff options
context:
space:
mode:
Diffstat (limited to 'filesystem')
-rw-r--r--filesystem/android_device.go26
-rw-r--r--filesystem/bootimg.go20
-rw-r--r--filesystem/filesystem.go4
3 files changed, 39 insertions, 11 deletions
diff --git a/filesystem/android_device.go b/filesystem/android_device.go
index a616ee053..22ad7cf7b 100644
--- a/filesystem/android_device.go
+++ b/filesystem/android_device.go
@@ -294,18 +294,26 @@ func (a *androidDevice) GenerateAndroidBuildActions(ctx android.ModuleContext) {
}
func buildComplianceMetadata(ctx android.ModuleContext, tags ...blueprint.DependencyTag) {
+ // Collect metadata from deps
filesContained := make([]string, 0)
+ prebuiltFilesCopied := make([]string, 0)
for _, tag := range tags {
ctx.VisitDirectDepsProxyWithTag(tag, func(m android.ModuleProxy) {
if complianceMetadataInfo, ok := android.OtherModuleProvider(ctx, m, android.ComplianceMetadataProvider); ok {
filesContained = append(filesContained, complianceMetadataInfo.GetFilesContained()...)
+ prebuiltFilesCopied = append(prebuiltFilesCopied, complianceMetadataInfo.GetPrebuiltFilesCopied()...)
}
})
}
- sort.Strings(filesContained)
-
+ // Merge to module's ComplianceMetadataInfo
complianceMetadataInfo := ctx.ComplianceMetadataInfo()
+ filesContained = append(filesContained, complianceMetadataInfo.GetFilesContained()...)
+ sort.Strings(filesContained)
complianceMetadataInfo.SetFilesContained(filesContained)
+
+ prebuiltFilesCopied = append(prebuiltFilesCopied, complianceMetadataInfo.GetPrebuiltFilesCopied()...)
+ sort.Strings(prebuiltFilesCopied)
+ complianceMetadataInfo.SetPrebuiltFilesCopied(prebuiltFilesCopied)
}
// Returns a list of modules that are installed, which are collected from the dependency
@@ -673,7 +681,13 @@ func (a *androidDevice) copyMetadataToTargetZip(ctx android.ModuleContext, build
}
if partition == "vendor_ramdisk" {
// Create vendor_boot_filesystem_config from the assembled VENDOR_BOOT/RAMDISK intermediates directory
- a.generateFilesystemConfigForTargetFiles(ctx, builder, nil, targetFilesDir.String(), targetFilesDir.String()+"/VENDOR_BOOT/RAMDISK", "vendor_boot_filesystem_config.txt")
+ vendorRamdiskStagingDir := targetFilesDir.String() + "/VENDOR_BOOT/RAMDISK"
+ vendorRamdiskFsConfigOut := targetFilesDir.String() + "/META/vendor_boot_filesystem_config.txt"
+ fsConfigBin := ctx.Config().HostToolPath(ctx, "fs_config")
+ builder.Command().Textf(
+ `(cd %s; find . -type d | sed 's,$,/,'; find . \! -type d) | cut -c 3- | sort | sed 's,^,,' | %s -C -D %s -R \"\" > %s`,
+ vendorRamdiskStagingDir, fsConfigBin, vendorRamdiskStagingDir, vendorRamdiskFsConfigOut).
+ Implicit(fsConfigBin)
}
}
// Copy ramdisk_node_list
@@ -927,7 +941,7 @@ func (a *androidDevice) buildApkCertsInfo(ctx android.ModuleContext, allInstalle
apkCerts := []string{}
for _, installedModule := range allInstalledModules {
partition := ""
- if commonInfo, ok := android.OtherModuleProvider(ctx, installedModule, android.CommonModuleInfoKey); ok {
+ if commonInfo, ok := android.OtherModuleProvider(ctx, installedModule, android.CommonModuleInfoProvider); ok {
partition = commonInfo.PartitionTag
} else {
ctx.ModuleErrorf("%s does not set CommonModuleInfoKey", installedModule.Name())
@@ -936,7 +950,9 @@ func (a *androidDevice) buildApkCertsInfo(ctx android.ModuleContext, allInstalle
apkCerts = append(apkCerts, formatLine(info.Certificate, info.InstallApkName+".apk", partition))
} else if info, ok := android.OtherModuleProvider(ctx, installedModule, java.AppInfosProvider); ok {
for _, certInfo := range info {
- apkCerts = append(apkCerts, formatLine(certInfo.Certificate, certInfo.InstallApkName+".apk", partition))
+ // Partition information of apk-in-apex is not exported to the legacy Make packaging system.
+ // Hardcode the partition to "system"
+ apkCerts = append(apkCerts, formatLine(certInfo.Certificate, certInfo.InstallApkName+".apk", "system"))
}
} else if info, ok := android.OtherModuleProvider(ctx, installedModule, java.RuntimeResourceOverlayInfoProvider); ok {
apkCerts = append(apkCerts, formatLine(info.Certificate, info.OutputFile.Base(), partition))
diff --git a/filesystem/bootimg.go b/filesystem/bootimg.go
index 2bf0d5905..c06c20048 100644
--- a/filesystem/bootimg.go
+++ b/filesystem/bootimg.go
@@ -201,7 +201,8 @@ func (b *bootimg) GenerateAndroidBuildActions(ctx android.ModuleContext) {
return
}
- unsignedOutput := b.buildBootImage(ctx, b.getKernelPath(ctx))
+ kernelPath := b.getKernelPath(ctx)
+ unsignedOutput := b.buildBootImage(ctx, kernelPath)
output := unsignedOutput
if proptools.Bool(b.properties.Use_avb) {
@@ -212,7 +213,7 @@ func (b *bootimg) GenerateAndroidBuildActions(ctx android.ModuleContext) {
case "default":
output = b.signImage(ctx, unsignedOutput)
case "make_legacy":
- output = b.addAvbFooter(ctx, unsignedOutput, b.getKernelPath(ctx))
+ output = b.addAvbFooter(ctx, unsignedOutput, kernelPath)
default:
ctx.PropertyErrorf("avb_mode", `Unknown value for avb_mode, expected "default" or "make_legacy", got: %q`, *b.properties.Avb_mode)
}
@@ -235,10 +236,11 @@ func (b *bootimg) GenerateAndroidBuildActions(ctx android.ModuleContext) {
}
// Set BootimgInfo for building target_files.zip
+ dtbPath := b.getDtbPath(ctx)
android.SetProvider(ctx, BootimgInfoProvider, BootimgInfo{
Cmdline: b.properties.Cmdline,
- Kernel: b.getKernelPath(ctx),
- Dtb: b.getDtbPath(ctx),
+ Kernel: kernelPath,
+ Dtb: dtbPath,
Bootconfig: b.getBootconfigPath(ctx),
Output: output,
})
@@ -265,6 +267,16 @@ func (b *bootimg) GenerateAndroidBuildActions(ctx android.ModuleContext) {
})
// Dump compliance metadata
+ complianceMetadataInfo := ctx.ComplianceMetadataInfo()
+ prebuiltFilesCopied := make([]string, 0)
+ if kernelPath != nil {
+ prebuiltFilesCopied = append(prebuiltFilesCopied, kernelPath.String()+":kernel")
+ }
+ if dtbPath != nil {
+ prebuiltFilesCopied = append(prebuiltFilesCopied, dtbPath.String()+":dtb.img")
+ }
+ complianceMetadataInfo.SetPrebuiltFilesCopied(prebuiltFilesCopied)
+
if ramdisk := proptools.String(b.properties.Ramdisk_module); ramdisk != "" {
buildComplianceMetadata(ctx, bootimgRamdiskDep)
}
diff --git a/filesystem/filesystem.go b/filesystem/filesystem.go
index 065acbdd2..d5188d7c2 100644
--- a/filesystem/filesystem.go
+++ b/filesystem/filesystem.go
@@ -1469,7 +1469,7 @@ func (f *filesystem) getLibsForLinkerConfig(ctx android.ModuleContext) ([]androi
deps := f.gatherFilteredPackagingSpecs(ctx)
ctx.WalkDepsProxy(func(child, parent android.ModuleProxy) bool {
- if !android.OtherModuleProviderOrDefault(ctx, child, android.CommonModuleInfoKey).Enabled {
+ if !android.OtherModuleProviderOrDefault(ctx, child, android.CommonModuleInfoProvider).Enabled {
return false
}
for _, ps := range android.OtherModuleProviderOrDefault(
@@ -1490,7 +1490,7 @@ func (f *filesystem) getLibsForLinkerConfig(ctx android.ModuleContext) ([]androi
var requireModules []android.ModuleProxy
ctx.WalkDepsProxy(func(child, parent android.ModuleProxy) bool {
- if !android.OtherModuleProviderOrDefault(ctx, child, android.CommonModuleInfoKey).Enabled {
+ if !android.OtherModuleProviderOrDefault(ctx, child, android.CommonModuleInfoProvider).Enabled {
return false
}
_, parentInPackage := modulesInPackageByModule[parent]