Merge "Update $PRODUCT_OUT from the soong system image files" into main am: 3507a28d75

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3247732

Change-Id: If8969c2a5aa4d5b2aee7ec9f165af31419eaa4b7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2024-09-10 01:38:53 +00:00
committed by Automerger Merge Worker

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().