summaryrefslogtreecommitdiff
path: root/filesystem/filesystem.go
diff options
context:
space:
mode:
author Spandan Das <spandandas@google.com> 2024-12-09 23:39:03 +0000
committer Spandan Das <spandandas@google.com> 2024-12-10 18:42:20 +0000
commit95db4499428f421571819699d92581e7422e7659 (patch)
treee4cc4ec4845f4c1de5df9620d3d62af07940e858 /filesystem/filesystem.go
parentd29a1a83c251f570d438487aafe51680e3ece76f (diff)
Use partition intead of "root" to assemble filesystem artifacts
The artifacts for filesystem packaging are currently assembled in ``` $intermediates/$module/android_common/root/$base_dir ``` This CL changes this to ``` $intermediates/$module/android_common/$partition/$base_dir e.g. $intermediates/$module/android_common/system/system (system) $intermediates/$module/android_common/system_ext (system_ext) ``` The motivatiton for this change is to fix diffs in BuildManifestSystemExt.apk. The build_manifest.pb of this apk is generated from the base of $PRODUCT_OUT. This means that the paths of the artifacts contains the partition prefix. diff https://diff.googleplex.com/#key=9xuSx7nvP251 An alternative would be to use partition as the `Base_dir`, but this would create an additional top-level directory in the soong img files (make img files do not have a top-level partition directory for non system images) Test: 383144733 Bug: Built and mounted make and soong system_ext.img for AOSP CP. NOTICE is the last diff Change-Id: Iee53113a7e00dcda9d987f2aabf9605740bbe7fe
Diffstat (limited to 'filesystem/filesystem.go')
-rw-r--r--filesystem/filesystem.go10
1 files changed, 7 insertions, 3 deletions
diff --git a/filesystem/filesystem.go b/filesystem/filesystem.go
index b9cb0769a..81afd02b4 100644
--- a/filesystem/filesystem.go
+++ b/filesystem/filesystem.go
@@ -457,7 +457,7 @@ func (f *filesystem) validateVintfFragments(ctx android.ModuleContext) {
}
func (f *filesystem) appendToEntry(ctx android.ModuleContext, installedFile android.Path) {
- partitionBaseDir := android.PathForModuleOut(ctx, "root", proptools.String(f.properties.Base_dir)).String() + "/"
+ partitionBaseDir := android.PathForModuleOut(ctx, f.rootDirString(), proptools.String(f.properties.Base_dir)).String() + "/"
relPath, inTargetPartition := strings.CutPrefix(installedFile.String(), partitionBaseDir)
if inTargetPartition {
@@ -547,8 +547,12 @@ func (f *filesystem) copyFilesToProductOut(ctx android.ModuleContext, builder *a
builder.Command().Textf("cp -prf %s/* %s", rebasedDir, installPath)
}
+func (f *filesystem) rootDirString() string {
+ return f.partitionName()
+}
+
func (f *filesystem) buildImageUsingBuildImage(ctx android.ModuleContext) android.Path {
- rootDir := android.PathForModuleOut(ctx, "root").OutputPath
+ rootDir := android.PathForModuleOut(ctx, f.rootDirString()).OutputPath
rebasedDir := rootDir
if f.properties.Base_dir != nil {
rebasedDir = rootDir.Join(ctx, *f.properties.Base_dir)
@@ -775,7 +779,7 @@ func (f *filesystem) buildCpioImage(ctx android.ModuleContext, compressed bool)
ctx.PropertyErrorf("include_make_built_files", "include_make_built_files is not supported for compressed cpio image.")
}
- rootDir := android.PathForModuleOut(ctx, "root").OutputPath
+ rootDir := android.PathForModuleOut(ctx, f.rootDirString()).OutputPath
rebasedDir := rootDir
if f.properties.Base_dir != nil {
rebasedDir = rootDir.Join(ctx, *f.properties.Base_dir)