summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Spandan Das <spandandas@google.com> 2024-12-09 19:20:22 +0000
committer Spandan Das <spandandas@google.com> 2024-12-09 19:27:30 +0000
commit266765c1a0bc64d1c08b712bdca55fe2e37f4053 (patch)
treea171695a257aa5ea4c140c7e8e9ba43e7017da50
parentc8914a47c160b0fe21a6a19bc26dffa0ac3e806f (diff)
Run mkdir before creating BuildManifest.apk
mkdir on the directory of a ninja output is usually not necessary, since ninja creates the directory of all outputs of a build graph edge before running the build graph cmd. However, the command of creating the filesystem runs `rm -rf` on the intermediates filesystem directory, undoing the mkdir created by ninja. This is an issue for system_ext specifically. system does not run into this issue because it includes a dep `fsverity-release-cert-der` which installs a file in /etc/security/fsverity. Test: m out/soong/.intermediates/build/soong/fsgen/aosp_cf_x86_64_phone_generated_system_ext_image/android_common/aosp_cf_x86_64_phone_generated_system_ext_image.img Bug: 383144733 Change-Id: Ia65346e0185b355ec3854427e5df7994160088d3
-rw-r--r--filesystem/fsverity_metadata.go1
1 files changed, 1 insertions, 0 deletions
diff --git a/filesystem/fsverity_metadata.go b/filesystem/fsverity_metadata.go
index ef46067f5..6372c5e62 100644
--- a/filesystem/fsverity_metadata.go
+++ b/filesystem/fsverity_metadata.go
@@ -120,6 +120,7 @@ func (f *filesystem) buildFsverityMetadataFiles(ctx android.ModuleContext, build
}
unsignedApkCommand := builder.Command().
+ Textf("mkdir -p %s && ", filepath.Dir(apkPath.String())).
BuiltTool("aapt2").
Text("link").
FlagWithOutput("-o ", apkPath).