From e51ff957ad1fb2ecc03d82e293069c764c014c3c Mon Sep 17 00:00:00 2001 From: Spandan Das Date: Thu, 9 Jan 2025 18:11:59 +0000 Subject: Add android-info.txt to OTA/ subdir of target_files.zip This information will be provided by an explicit `Android_info` property on `andorid_device`. An alternative would be to propagate this information from vendor_partition dependency, but that might run into issues if android_info.txt is no longer used a prop file input for building vendor's build.prop file Test: diff'd target_files.zip of make and soong Fixes: 388633397 Change-Id: Iaacffd0526b6ce7a7ce1566774753d4e20d9f9a2 --- fsgen/filesystem_creator.go | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'fsgen/filesystem_creator.go') diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go index 376c5d968..590d33ae4 100644 --- a/fsgen/filesystem_creator.go +++ b/fsgen/filesystem_creator.go @@ -128,6 +128,8 @@ func (f *filesystemCreator) createInternalModules(ctx android.LoadHookContext) { f.properties.Unsupported_partition_types = append(f.properties.Unsupported_partition_types, partitionType) } } + // Create android_info.prop + f.createAndroidInfo(ctx) partitionVars := ctx.Config().ProductVariables().PartitionVarsForSoongMigrationOnlyDoNotUse dtbImg := createDtbImgFilegroup(ctx) @@ -206,9 +208,11 @@ func (f *filesystemCreator) createDeviceModule( vbmetaPartitions []string, ) { baseProps := &struct { - Name *string + Name *string + Android_info *string }{ - Name: proptools.StringPtr(generatedModuleName(ctx.Config(), "device")), + Name: proptools.StringPtr(generatedModuleName(ctx.Config(), "device")), + Android_info: proptools.StringPtr(":" + generatedModuleName(ctx.Config(), "android_info.prop{.txt}")), } // Currently, only the system and system_ext partition module is created. @@ -600,8 +604,8 @@ func (f *filesystemCreator) createPrebuiltKernelModules(ctx android.LoadHookCont (*fsGenState.fsDeps[partitionType])[name] = defaultDepCandidateProps(ctx.Config()) } -// Create a build_prop and android_info module. This will be used to create /vendor/build.prop -func (f *filesystemCreator) createVendorBuildProp(ctx android.LoadHookContext) { +// Create an android_info module. This will be used to create /vendor/build.prop +func (f *filesystemCreator) createAndroidInfo(ctx android.LoadHookContext) { // Create a android_info for vendor // The board info files might be in a directory outside the root soong namespace, so create // the module in "." @@ -625,7 +629,9 @@ func (f *filesystemCreator) createVendorBuildProp(ctx android.LoadHookContext) { androidInfoProps, ) androidInfoProp.HideFromMake() - // Create a build prop for vendor +} + +func (f *filesystemCreator) createVendorBuildProp(ctx android.LoadHookContext) { vendorBuildProps := &struct { Name *string Vendor *bool @@ -638,7 +644,7 @@ func (f *filesystemCreator) createVendorBuildProp(ctx android.LoadHookContext) { Vendor: proptools.BoolPtr(true), Stem: proptools.StringPtr("build.prop"), Product_config: proptools.StringPtr(":product_config"), - Android_info: proptools.StringPtr(":" + androidInfoProp.Name()), + Android_info: proptools.StringPtr(":" + generatedModuleName(ctx.Config(), "android_info.prop")), Licenses: []string{"Android-Apache-2.0"}, } vendorBuildProp := ctx.CreateModule( -- cgit v1.2.3-59-g8ed1b