Merge "Add erofs compressor information to soong-generated partitions" into main am: dd5c7261f3 am: 4e5c035b61
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3389506
Change-Id: Iae7829c7c113e18f4795fca4c307e968adc221bf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/filesystem/filesystem.go b/filesystem/filesystem.go
index b5f7e48..fbc8089 100644
--- a/filesystem/filesystem.go
+++ b/filesystem/filesystem.go
@@ -677,11 +677,10 @@
switch fst {
case erofsType:
// Add erofs properties
- if compressor := f.properties.Erofs.Compressor; compressor != nil {
- addStr("erofs_default_compressor", proptools.String(compressor))
- }
- if compressHints := f.properties.Erofs.Compress_hints; compressHints != nil {
- addPath("erofs_default_compress_hints", android.PathForModuleSrc(ctx, *compressHints))
+ addStr("erofs_default_compressor", proptools.StringDefault(f.properties.Erofs.Compressor, "lz4hc,9"))
+ if f.properties.Erofs.Compress_hints != nil {
+ src := android.PathForModuleSrc(ctx, *f.properties.Erofs.Compress_hints)
+ addPath("erofs_default_compress_hints", src)
}
if proptools.BoolDefault(f.properties.Erofs.Sparse, true) {
// https://source.corp.google.com/h/googleplex-android/platform/build/+/88b1c67239ca545b11580237242774b411f2fed9:core/Makefile;l=2292;bpv=1;bpt=0;drc=ea8f34bc1d6e63656b4ec32f2391e9d54b3ebb6b
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go
index ec52f61..cd29dfd 100644
--- a/fsgen/filesystem_creator.go
+++ b/fsgen/filesystem_creator.go
@@ -69,6 +69,7 @@
avbpubkeyGenerated := createAvbpubkeyModule(ctx)
createFsGenState(ctx, generatedPrebuiltEtcModuleNames, avbpubkeyGenerated)
module.createAvbKeyFilegroups(ctx)
+ module.createMiscFilegroups(ctx)
module.createInternalModules(ctx)
})
@@ -506,6 +507,29 @@
}
}
+// Creates filegroups for miscellaneous other files
+func (f *filesystemCreator) createMiscFilegroups(ctx android.LoadHookContext) {
+ partitionVars := ctx.Config().ProductVariables().PartitionVarsForSoongMigrationOnlyDoNotUse
+
+ if partitionVars.BoardErofsCompressorHints != "" {
+ dir := filepath.Dir(partitionVars.BoardErofsCompressorHints)
+ base := filepath.Base(partitionVars.BoardErofsCompressorHints)
+ ctx.CreateModuleInDirectory(
+ android.FileGroupFactory,
+ dir,
+ &struct {
+ Name *string
+ Srcs []string
+ Visibility []string
+ }{
+ Name: proptools.StringPtr("soong_generated_board_erofs_compress_hints_filegroup"),
+ Srcs: []string{base},
+ Visibility: []string{"//visibility:public"},
+ },
+ )
+ }
+}
+
// createPrebuiltKernelModules creates `prebuilt_kernel_modules`. These modules will be added to deps of the
// autogenerated *_dlkm filsystem modules. Each _dlkm partition should have a single prebuilt_kernel_modules dependency.
// This ensures that the depmod artifacts (modules.* installed in /lib/modules/) are generated with a complete view.
@@ -705,6 +729,15 @@
return nil, false
}
+ if *fsProps.Type == "erofs" {
+ if partitionVars.BoardErofsCompressor != "" {
+ fsProps.Erofs.Compressor = proptools.StringPtr(partitionVars.BoardErofsCompressor)
+ }
+ if partitionVars.BoardErofsCompressorHints != "" {
+ fsProps.Erofs.Compress_hints = proptools.StringPtr(":soong_generated_board_erofs_compress_hints_filegroup")
+ }
+ }
+
// Don't build this module on checkbuilds, the soong-built partitions are still in-progress
// and sometimes don't build.
fsProps.Unchecked_module = proptools.BoolPtr(true)