Remove Base_dir from non system non recovery filesystem
vendor.img/product.img... built by make do not assemble the artifacts in
a $partition subdirectory. This CL adds this to soong built img files,
and updates the symmlinks.
Test: soong_generated_system_filesystem_test m soong_generated_vendor_filesystem_test soong_generated_product_filesystem_test
Change-Id: Ia5feaf85bb49d552b93698c50998d8df7575e44a
diff --git a/filesystem/filesystem.go b/filesystem/filesystem.go
index 84384a5..b9cb076 100644
--- a/filesystem/filesystem.go
+++ b/filesystem/filesystem.go
@@ -457,7 +457,7 @@
}
func (f *filesystem) appendToEntry(ctx android.ModuleContext, installedFile android.Path) {
- partitionBaseDir := android.PathForModuleOut(ctx, "root", f.partitionName()).String() + "/"
+ partitionBaseDir := android.PathForModuleOut(ctx, "root", proptools.String(f.properties.Base_dir)).String() + "/"
relPath, inTargetPartition := strings.CutPrefix(installedFile.String(), partitionBaseDir)
if inTargetPartition {
diff --git a/filesystem/filesystem_test.go b/filesystem/filesystem_test.go
index 86496eb..0ed3870 100644
--- a/filesystem/filesystem_test.go
+++ b/filesystem/filesystem_test.go
@@ -244,7 +244,7 @@
`)
module := result.ModuleForTests("myfilesystem", "android_common").Module().(*systemImage)
- android.AssertDeepEquals(t, "entries should have foo only", []string{"components/foo"}, module.entries)
+ android.AssertDeepEquals(t, "entries should have foo and not bar", []string{"components/foo", "etc/linker.config.pb"}, module.entries)
}
func TestAvbGenVbmetaImage(t *testing.T) {
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go
index ec704d5..1378513 100644
--- a/fsgen/filesystem_creator.go
+++ b/fsgen/filesystem_creator.go
@@ -343,6 +343,7 @@
Name: proptools.StringPtr("vendor_dlkm/etc"),
},
}
+ fsProps.Base_dir = proptools.StringPtr("system")
fsProps.Dirs = proptools.NewSimpleConfigurable([]string{
// From generic_rootdirs in build/make/target/product/generic/Android.bp
"acct",
@@ -394,11 +395,11 @@
fsProps.Symlinks = []filesystem.SymlinkDefinition{
filesystem.SymlinkDefinition{
Target: proptools.StringPtr("/odm"),
- Name: proptools.StringPtr("vendor/odm"),
+ Name: proptools.StringPtr("odm"),
},
filesystem.SymlinkDefinition{
Target: proptools.StringPtr("/vendor_dlkm/lib/modules"),
- Name: proptools.StringPtr("vendor/lib/modules"),
+ Name: proptools.StringPtr("lib/modules"),
},
}
fsProps.Android_filesystem_deps.System = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "system"))
@@ -409,7 +410,7 @@
fsProps.Symlinks = []filesystem.SymlinkDefinition{
filesystem.SymlinkDefinition{
Target: proptools.StringPtr("/odm_dlkm/lib/modules"),
- Name: proptools.StringPtr("odm/lib/modules"),
+ Name: proptools.StringPtr("lib/modules"),
},
}
case "userdata":
@@ -452,6 +453,7 @@
Name: proptools.StringPtr("default.prop"),
},
}
+ fsProps.Base_dir = proptools.StringPtr("recovery")
}
}
@@ -798,10 +800,6 @@
fsProps.Precompiled_file_contexts = proptools.StringPtr(":file_contexts_bin_gen")
}
- if !strings.Contains(partitionType, "ramdisk") {
- fsProps.Base_dir = proptools.StringPtr(partitionType)
- }
-
fsProps.Is_auto_generated = proptools.BoolPtr(true)
partitionSpecificFsProps(ctx, fsProps, partitionVars, partitionType)