From 95db4499428f421571819699d92581e7422e7659 Mon Sep 17 00:00:00 2001 From: Spandan Das Date: Mon, 9 Dec 2024 23:39:03 +0000 Subject: 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 --- filesystem/filesystem.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'filesystem/filesystem.go') 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) -- cgit v1.2.3-59-g8ed1b