Merge "Update $PRODUCT_OUT from the soong system image files" into main

This commit is contained in:
Treehugger Robot
2024-09-10 01:27:05 +00:00
committed by Gerrit Code Review

View File

@@ -136,6 +136,9 @@ type filesystemProperties struct {
// Install aconfig_flags.pb file for the modules installed in this partition. // Install aconfig_flags.pb file for the modules installed in this partition.
Gen_aconfig_flags_pb *bool Gen_aconfig_flags_pb *bool
// Update the Base_dir of the $PRODUCT_OUT directory with the packaging files.
Update_product_out *bool
Fsverity fsverityProperties Fsverity fsverityProperties
} }
@@ -331,6 +334,14 @@ func (f *filesystem) copyPackagingSpecs(ctx android.ModuleContext, builder *andr
return f.CopySpecsToDirs(ctx, builder, dirsToSpecs) return f.CopySpecsToDirs(ctx, builder, dirsToSpecs)
} }
func (f *filesystem) copyFilesToProductOut(ctx android.ModuleContext, builder *android.RuleBuilder, rebasedDir android.OutputPath) {
if !proptools.Bool(f.properties.Update_product_out) {
return
}
installPath := android.PathForModuleInPartitionInstall(ctx, f.partitionName())
builder.Command().Textf("cp -prf %s/* %s", rebasedDir, installPath)
}
func (f *filesystem) buildImageUsingBuildImage(ctx android.ModuleContext) android.OutputPath { func (f *filesystem) buildImageUsingBuildImage(ctx android.ModuleContext) android.OutputPath {
rootDir := android.PathForModuleOut(ctx, "root").OutputPath rootDir := android.PathForModuleOut(ctx, "root").OutputPath
rebasedDir := rootDir rebasedDir := rootDir
@@ -348,6 +359,7 @@ func (f *filesystem) buildImageUsingBuildImage(ctx android.ModuleContext) androi
f.buildFsverityMetadataFiles(ctx, builder, specs, rootDir, rebasedDir) f.buildFsverityMetadataFiles(ctx, builder, specs, rootDir, rebasedDir)
f.buildEventLogtagsFile(ctx, builder, rebasedDir) f.buildEventLogtagsFile(ctx, builder, rebasedDir)
f.buildAconfigFlagsFiles(ctx, builder, specs, rebasedDir) f.buildAconfigFlagsFiles(ctx, builder, specs, rebasedDir)
f.copyFilesToProductOut(ctx, builder, rebasedDir)
// run host_init_verifier // run host_init_verifier
// Ideally we should have a concept of pluggable linters that verify the generated image. // Ideally we should have a concept of pluggable linters that verify the generated image.
@@ -490,6 +502,7 @@ func (f *filesystem) buildCpioImage(ctx android.ModuleContext, compressed bool)
f.buildFsverityMetadataFiles(ctx, builder, specs, rootDir, rebasedDir) f.buildFsverityMetadataFiles(ctx, builder, specs, rootDir, rebasedDir)
f.buildEventLogtagsFile(ctx, builder, rebasedDir) f.buildEventLogtagsFile(ctx, builder, rebasedDir)
f.buildAconfigFlagsFiles(ctx, builder, specs, rebasedDir) f.buildAconfigFlagsFiles(ctx, builder, specs, rebasedDir)
f.copyFilesToProductOut(ctx, builder, rebasedDir)
output := android.PathForModuleOut(ctx, f.installFileName()).OutputPath output := android.PathForModuleOut(ctx, f.installFileName()).OutputPath
cmd := builder.Command(). cmd := builder.Command().