Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4caca1d7 authored by Inseob Kim's avatar Inseob Kim Committed by Gerrit Code Review
Browse files

Merge "Add libs for BuildManifest.apk generation" into main

parents 0c8ed5e5 1e6afedb
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -27,6 +27,9 @@ type fsverityProperties struct {
	// etc/security/fsverity/BuildManifest.apk will also be generated which contains information
	// about generated .fsv_meta files.
	Inputs []string

	// APK libraries to link against, for etc/security/fsverity/BuildManifest.apk
	Libs []string `android:"path"`
}

func (f *filesystem) writeManifestGeneratorListFile(ctx android.ModuleContext, outputPath android.OutputPath, matchedSpecs []android.PackagingSpec, rebasedDir android.OutputPath) {
@@ -117,20 +120,20 @@ func (f *filesystem) buildFsverityMetadataFiles(ctx android.ModuleContext, build
	aapt2Path := ctx.Config().HostToolPath(ctx, "aapt2")
	apkPath := rebasedDir.Join(ctx, "etc", "security", "fsverity", "BuildManifest.apk")
	manifestTemplatePath := android.PathForSource(ctx, "system/security/fsverity/AndroidManifest.xml")
	// package-export is currently generated by Makefile.
	// TODO(b/330282551): fully migrate into Soong
	frameworkResPath := android.PathForArbitraryOutput(ctx, "target/common/obj/APPS/framework-res_intermediates/package-export.apk")
	libs := android.PathsForModuleSrc(ctx, f.properties.Fsverity.Libs)
	cmd.Implicit(aapt2Path)
	cmd.Implicit(manifestTemplatePath)
	cmd.Implicit(frameworkResPath)
	cmd.Implicits(libs)

	sb.WriteString(aapt2Path.String())
	sb.WriteString(" link -o ")
	sb.WriteString(apkPath.String())
	sb.WriteString(" -A ")
	sb.WriteString(assetsPath.String())
	for _, lib := range libs {
		sb.WriteString(" -I ")
	sb.WriteString(frameworkResPath.String())
		sb.WriteString(lib.String())
	}
	minSdkVersion := ctx.Config().PlatformSdkCodename()
	if minSdkVersion == "REL" {
		minSdkVersion = ctx.Config().PlatformSdkVersion().String()