Merge "apex: add / in file_contexts as system_file" am: fae9e0cf9a am: 062e9afe7e am: ab22ca31e9

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1351465

Change-Id: I7f85dd364c3dae5b8151ba984ab71d09c2f8229a
diff --git a/apex/builder.go b/apex/builder.go
index 5eed5eb..b8eaed0 100644
--- a/apex/builder.go
+++ b/apex/builder.go
@@ -255,10 +255,15 @@
 
 	output := android.PathForModuleOut(ctx, "file_contexts")
 	rule := android.NewRuleBuilder()
+	// remove old file
 	rule.Command().Text("rm").FlagWithOutput("-f ", output)
+	// copy file_contexts
 	rule.Command().Text("cat").Input(fileContexts).Text(">>").Output(output)
+	// new line
 	rule.Command().Text("echo").Text(">>").Output(output)
+	// force-label /apex_manifest.pb and / as system_file so that apexd can read them
 	rule.Command().Text("echo").Flag("/apex_manifest\\\\.pb u:object_r:system_file:s0").Text(">>").Output(output)
+	rule.Command().Text("echo").Flag("/ u:object_r:system_file:s0").Text(">>").Output(output)
 	rule.Build(pctx, ctx, "file_contexts."+a.Name(), "Generate file_contexts")
 
 	a.fileContexts = output.OutputPath