diff options
author | 2024-12-09 23:39:03 +0000 | |
---|---|---|
committer | 2024-12-10 18:42:20 +0000 | |
commit | 95db4499428f421571819699d92581e7422e7659 (patch) | |
tree | e4cc4ec4845f4c1de5df9620d3d62af07940e858 /filesystem/filesystem.go | |
parent | d29a1a83c251f570d438487aafe51680e3ece76f (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.go | 10 |
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) |