diff options
| -rw-r--r-- | filesystem/system_other.go | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/filesystem/system_other.go b/filesystem/system_other.go index 5309e9012..cbfd78b5b 100644 --- a/filesystem/system_other.go +++ b/filesystem/system_other.go @@ -172,9 +172,10 @@ func (m *systemOtherImage) GenerateAndroidBuildActions(ctx android.ModuleContext builder.Build("build_system_other_hermetic", "build system other") fsInfo := FilesystemInfo{ - Output: output, - OutputHermetic: outputHermetic, - RootDir: stagingDir, + Output: output, + OutputHermetic: outputHermetic, + RootDir: stagingDir, + FilesystemConfig: m.generateFilesystemConfig(ctx, stagingDir, stagingDirTimestamp), } android.SetProvider(ctx, FilesystemProvider, fsInfo) @@ -183,6 +184,20 @@ func (m *systemOtherImage) GenerateAndroidBuildActions(ctx android.ModuleContext ctx.CheckbuildFile(output) } +func (s *systemOtherImage) generateFilesystemConfig(ctx android.ModuleContext, stagingDir, stagingDirTimestamp android.Path) android.Path { + out := android.PathForModuleOut(ctx, "filesystem_config.txt") + ctx.Build(pctx, android.BuildParams{ + Rule: fsConfigRule, + Input: stagingDirTimestamp, // assemble the staging directory + Output: out, + Args: map[string]string{ + "rootDir": stagingDir.String(), + "prefix": "system/", + }, + }) + return out +} + func (f *systemOtherImage) propFileForHermeticImg(ctx android.ModuleContext, builder *android.RuleBuilder, inputPropFile android.Path) android.Path { propFilePinnedTimestamp := android.PathForModuleOut(ctx, "for_target_files", "prop") builder.Command().Textf("cat").Input(inputPropFile).Flag(">").Output(propFilePinnedTimestamp). |