Add more entries to Soong's misc_info.txt
Note that `erofs_default_compress_hints` is different between make and
soong. For CF, the former has value of
`device/google/cuttlefish/shared/erofs_compress_hints.txt`, while the
latter has the value of
`build/make/target/product/generic/erofs_compress_hints.txt`. The
contents of both these hint files are same.
Test: Built and diff'd locally
Bug: 398036609
Change-Id: If02923f6bdb7a53b5158c5960c0494da71473bc1
diff --git a/filesystem/android_device.go b/filesystem/android_device.go
index 11c0834..28ecd53 100644
--- a/filesystem/android_device.go
+++ b/filesystem/android_device.go
@@ -753,12 +753,28 @@
// This file is subsequently used by add_img_to_target_files to create additioanl metadata files like apex_info.pb
// TODO (b/399788119): Complete the migration of misc_info.txt
func (a *androidDevice) addMiscInfo(ctx android.ModuleContext) android.Path {
+ buildType := func() string {
+ if ctx.Config().Debuggable() {
+ return "userdebug"
+ } else if ctx.Config().Eng() {
+ return "eng"
+ } else {
+ return "user"
+ }
+ }
+ defaultAppCertificate := func() string {
+ pem, _ := ctx.Config().DefaultAppCertificate(ctx)
+ return strings.TrimSuffix(pem.String(), ".x509.pem")
+ }
+
builder := android.NewRuleBuilder(pctx, ctx)
miscInfo := android.PathForModuleOut(ctx, "misc_info.txt")
builder.Command().
Textf("rm -f %s", miscInfo).
Textf("&& echo recovery_api_version=%s >> %s", ctx.Config().VendorConfig("recovery").String("recovery_api_version"), miscInfo).
Textf("&& echo fstab_version=%s >> %s", ctx.Config().VendorConfig("recovery").String("recovery_fstab_version"), miscInfo).
+ Textf("&& echo build_type=%s >> %s", buildType(), miscInfo).
+ Textf("&& echo default_system_dev_certificate=%s >> %s", defaultAppCertificate(), miscInfo).
ImplicitOutput(miscInfo)
if len(ctx.Config().ExtraOtaRecoveryKeys()) > 0 {
builder.Command().Textf(`echo "extra_recovery_keys=%s" >> %s`, strings.Join(ctx.Config().ExtraOtaRecoveryKeys(), ""), miscInfo)
@@ -778,11 +794,17 @@
Textf(" && echo multistage_support=1 >> %s", miscInfo).
Textf(" && echo blockimgdiff_versions=3,4 >> %s", miscInfo)
}
+ fsInfos := a.getFsInfos(ctx)
+ if _, ok := fsInfos["vendor"]; ok {
+ builder.Command().Textf("echo board_uses_vendorimage=true >> %s", miscInfo)
+ }
+ if fsInfos["system"].ErofsCompressHints != nil {
+ builder.Command().Textf("echo erofs_default_compress_hints=%s >> %s", fsInfos["system"].ErofsCompressHints, miscInfo)
+ }
if a.partitionProps.Recovery_partition_name == nil {
builder.Command().Textf("echo no_recovery=true >> %s", miscInfo)
}
- fsInfos := a.getFsInfos(ctx)
for _, partition := range android.SortedKeys(fsInfos) {
if fsInfos[partition].PropFileForMiscInfo != nil {
builder.Command().Text("cat").Input(fsInfos[partition].PropFileForMiscInfo).Textf(" >> %s", miscInfo)