diff options
| author | 2024-11-07 20:47:49 +0000 | |
|---|---|---|
| committer | 2024-11-07 20:47:49 +0000 | |
| commit | 50cb131c37f5da3a9a9a2b51ac3a954e1ad81795 (patch) | |
| tree | a6146874fef734dd093d6c444795f22b24c35cd1 /fsgen/filesystem_creator.go | |
| parent | 1fa1c6db4f4d862f20b4789be4bc98e7f9be7c06 (diff) | |
Revert "Build vbmeta partitions with soong"
Revert submission 3341139-vbmeta_partitions_in_soong
Reason for revert: DroidMonitor: Potential culprit for http://b/377943457.
Reverted changes: /q/submissionid:3341139-vbmeta_partitions_in_soong
Change-Id: I7a3aeacc91f17832688ee4d917cdee34db5d4a1b
Diffstat (limited to 'fsgen/filesystem_creator.go')
| -rw-r--r-- | fsgen/filesystem_creator.go | 70 |
1 files changed, 10 insertions, 60 deletions
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go index b580ea9b7..bdffabf41 100644 --- a/fsgen/filesystem_creator.go +++ b/fsgen/filesystem_creator.go @@ -44,9 +44,6 @@ func registerBuildComponents(ctx android.RegistrationContext) { type filesystemCreatorProps struct { Generated_partition_types []string `blueprint:"mutated"` Unsupported_partition_types []string `blueprint:"mutated"` - - Vbmeta_module_names []string `blueprint:"mutated"` - Vbmeta_partition_names []string `blueprint:"mutated"` } type filesystemCreator struct { @@ -70,24 +67,16 @@ func filesystemCreatorFactory() android.Module { } func (f *filesystemCreator) createInternalModules(ctx android.LoadHookContext) { - soongGeneratedPartitions := generatedPartitions(ctx) - finalSoongGeneratedPartitions := make([]string, 0, len(soongGeneratedPartitions)) - for _, partitionType := range soongGeneratedPartitions { + soongGeneratedPartitions := &ctx.Config().Get(fsGenStateOnceKey).(*FsGenState).soongGeneratedPartitions + for _, partitionType := range *soongGeneratedPartitions { if f.createPartition(ctx, partitionType) { f.properties.Generated_partition_types = append(f.properties.Generated_partition_types, partitionType) - finalSoongGeneratedPartitions = append(finalSoongGeneratedPartitions, partitionType) } else { f.properties.Unsupported_partition_types = append(f.properties.Unsupported_partition_types, partitionType) + _, *soongGeneratedPartitions = android.RemoveFromList(partitionType, *soongGeneratedPartitions) } } - - for _, x := range createVbmetaPartitions(ctx, finalSoongGeneratedPartitions) { - f.properties.Vbmeta_module_names = append(f.properties.Vbmeta_module_names, x.moduleName) - f.properties.Vbmeta_partition_names = append(f.properties.Vbmeta_partition_names, x.partitionName) - } - - ctx.Config().Get(fsGenStateOnceKey).(*FsGenState).soongGeneratedPartitions = finalSoongGeneratedPartitions - f.createDeviceModule(ctx, finalSoongGeneratedPartitions, f.properties.Vbmeta_module_names) + f.createDeviceModule(ctx) } func generatedModuleName(cfg android.Config, suffix string) string { @@ -102,11 +91,7 @@ func generatedModuleNameForPartition(cfg android.Config, partitionType string) s return generatedModuleName(cfg, fmt.Sprintf("%s_image", partitionType)) } -func (f *filesystemCreator) createDeviceModule( - ctx android.LoadHookContext, - generatedPartitionTypes []string, - vbmetaPartitions []string, -) { +func (f *filesystemCreator) createDeviceModule(ctx android.LoadHookContext) { baseProps := &struct { Name *string }{ @@ -115,22 +100,21 @@ func (f *filesystemCreator) createDeviceModule( // Currently, only the system and system_ext partition module is created. partitionProps := &filesystem.PartitionNameProperties{} - if android.InList("system", generatedPartitionTypes) { + if android.InList("system", f.properties.Generated_partition_types) { partitionProps.System_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "system")) } - if android.InList("system_ext", generatedPartitionTypes) { + if android.InList("system_ext", f.properties.Generated_partition_types) { partitionProps.System_ext_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "system_ext")) } - if android.InList("vendor", generatedPartitionTypes) { + if android.InList("vendor", f.properties.Generated_partition_types) { partitionProps.Vendor_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "vendor")) } - if android.InList("product", generatedPartitionTypes) { + if android.InList("product", f.properties.Generated_partition_types) { partitionProps.Product_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "product")) } - if android.InList("odm", generatedPartitionTypes) { + if android.InList("odm", f.properties.Generated_partition_types) { partitionProps.Odm_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "odm")) } - partitionProps.Vbmeta_partitions = vbmetaPartitions ctx.CreateModule(filesystem.AndroidDeviceFactory, baseProps, partitionProps) } @@ -350,15 +334,12 @@ func (f *filesystemCreator) createLinkerConfigSourceFilegroups(ctx android.LoadH type filesystemBaseProperty struct { Name *string Compile_multilib *string - Visibility []string } func generateBaseProps(namePtr *string) *filesystemBaseProperty { return &filesystemBaseProperty{ Name: namePtr, Compile_multilib: proptools.StringPtr("both"), - // The vbmeta modules are currently in the root directory and depend on the partitions - Visibility: []string{"//.", "//build/soong:__subpackages__"}, } } @@ -454,42 +435,16 @@ func createFailingCommand(ctx android.ModuleContext, message string) android.Pat return file } -func createVbmetaDiff(ctx android.ModuleContext, vbmetaModuleName string, vbmetaPartitionName string) android.Path { - vbmetaModule := ctx.GetDirectDepWithTag(vbmetaModuleName, generatedVbmetaPartitionDepTag) - outputFilesProvider, ok := android.OtherModuleProvider(ctx, vbmetaModule, android.OutputFilesProvider) - if !ok { - ctx.ModuleErrorf("Expected module %s to provide OutputFiles", vbmetaModule) - } - if len(outputFilesProvider.DefaultOutputFiles) != 1 { - ctx.ModuleErrorf("Expected 1 output file from module %s", vbmetaModule) - } - soongVbMetaFile := outputFilesProvider.DefaultOutputFiles[0] - makeVbmetaFile := android.PathForArbitraryOutput(ctx, fmt.Sprintf("target/product/%s/%s.img", ctx.Config().DeviceName(), vbmetaPartitionName)) - - diffTestResultFile := android.PathForModuleOut(ctx, fmt.Sprintf("diff_test_%s.txt", vbmetaModuleName)) - builder := android.NewRuleBuilder(pctx, ctx) - builder.Command().Text("diff"). - Input(soongVbMetaFile). - Input(makeVbmetaFile) - builder.Command().Text("touch").Output(diffTestResultFile) - builder.Build(vbmetaModuleName+" diff test", vbmetaModuleName+" diff test") - return diffTestResultFile -} - type systemImageDepTagType struct { blueprint.BaseDependencyTag } var generatedFilesystemDepTag systemImageDepTagType -var generatedVbmetaPartitionDepTag systemImageDepTagType func (f *filesystemCreator) DepsMutator(ctx android.BottomUpMutatorContext) { for _, partitionType := range f.properties.Generated_partition_types { ctx.AddDependency(ctx.Module(), generatedFilesystemDepTag, generatedModuleNameForPartition(ctx.Config(), partitionType)) } - for _, vbmetaModule := range f.properties.Vbmeta_module_names { - ctx.AddDependency(ctx.Module(), generatedVbmetaPartitionDepTag, vbmetaModule) - } } func (f *filesystemCreator) GenerateAndroidBuildActions(ctx android.ModuleContext) { @@ -519,11 +474,6 @@ func (f *filesystemCreator) GenerateAndroidBuildActions(ctx android.ModuleContex diffTestFiles = append(diffTestFiles, diffTestFile) ctx.Phony(fmt.Sprintf("soong_generated_%s_filesystem_test", partitionType), diffTestFile) } - for i, vbmetaModule := range f.properties.Vbmeta_module_names { - diffTestFile := createVbmetaDiff(ctx, vbmetaModule, f.properties.Vbmeta_partition_names[i]) - diffTestFiles = append(diffTestFiles, diffTestFile) - ctx.Phony(fmt.Sprintf("soong_generated_%s_filesystem_test", f.properties.Vbmeta_partition_names[i]), diffTestFile) - } ctx.Phony("soong_generated_filesystem_tests", diffTestFiles...) } |