Replace se_filegroup to se_build_files
se_build_files is a replacement for se_filegroup module. se_build_files can be used with the normal Soong convention ":module_name{.tag}" by implementing android.OutputFileProducer. It's better than implementing ad-hoc logics across various modules, which is the case for se_filegroup module. Test: build and boot Change-Id: Ic0e34549601eb043145e433055f5a030eaf4347e
This commit is contained in:
parent
222e99e26f
commit
4196403c36
7 changed files with 61 additions and 287 deletions
38
Android.bp
38
Android.bp
|
@ -44,105 +44,105 @@ license {
|
||||||
|
|
||||||
cc_defaults { name: "selinux_policy_version", cflags: ["-DSEPOLICY_VERSION=30"], }
|
cc_defaults { name: "selinux_policy_version", cflags: ["-DSEPOLICY_VERSION=30"], }
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "28.0.board.compat.map",
|
name: "28.0.board.compat.map",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/28.0/28.0.cil",
|
"compat/28.0/28.0.cil",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "29.0.board.compat.map",
|
name: "29.0.board.compat.map",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/29.0/29.0.cil",
|
"compat/29.0/29.0.cil",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "30.0.board.compat.map",
|
name: "30.0.board.compat.map",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/30.0/30.0.cil",
|
"compat/30.0/30.0.cil",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "31.0.board.compat.map",
|
name: "31.0.board.compat.map",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/31.0/31.0.cil",
|
"compat/31.0/31.0.cil",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "32.0.board.compat.map",
|
name: "32.0.board.compat.map",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/32.0/32.0.cil",
|
"compat/32.0/32.0.cil",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "28.0.board.compat.cil",
|
name: "28.0.board.compat.cil",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/28.0/28.0.compat.cil",
|
"compat/28.0/28.0.compat.cil",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "29.0.board.compat.cil",
|
name: "29.0.board.compat.cil",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/29.0/29.0.compat.cil",
|
"compat/29.0/29.0.compat.cil",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "30.0.board.compat.cil",
|
name: "30.0.board.compat.cil",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/30.0/30.0.compat.cil",
|
"compat/30.0/30.0.compat.cil",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "31.0.board.compat.cil",
|
name: "31.0.board.compat.cil",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/31.0/31.0.compat.cil",
|
"compat/31.0/31.0.compat.cil",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "32.0.board.compat.cil",
|
name: "32.0.board.compat.cil",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/32.0/32.0.compat.cil",
|
"compat/32.0/32.0.compat.cil",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "28.0.board.ignore.map",
|
name: "28.0.board.ignore.map",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/28.0/28.0.ignore.cil",
|
"compat/28.0/28.0.ignore.cil",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "29.0.board.ignore.map",
|
name: "29.0.board.ignore.map",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/29.0/29.0.ignore.cil",
|
"compat/29.0/29.0.ignore.cil",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "30.0.board.ignore.map",
|
name: "30.0.board.ignore.map",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/30.0/30.0.ignore.cil",
|
"compat/30.0/30.0.ignore.cil",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "31.0.board.ignore.map",
|
name: "31.0.board.ignore.map",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/31.0/31.0.ignore.cil",
|
"compat/31.0/31.0.ignore.cil",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "32.0.board.ignore.map",
|
name: "32.0.board.ignore.map",
|
||||||
srcs: [
|
srcs: [
|
||||||
"compat/32.0/32.0.ignore.cil",
|
"compat/32.0/32.0.ignore.cil",
|
||||||
|
@ -1055,27 +1055,27 @@ se_policy_cil {
|
||||||
}
|
}
|
||||||
|
|
||||||
// bug_map - Bug tracking information for selinux denials loaded by auditd.
|
// bug_map - Bug tracking information for selinux denials loaded by auditd.
|
||||||
se_filegroup {
|
se_build_files {
|
||||||
name: "bug_map_files",
|
name: "bug_map_files",
|
||||||
srcs: ["bug_map"],
|
srcs: ["bug_map"],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_bug_map {
|
se_bug_map {
|
||||||
name: "plat_bug_map",
|
name: "plat_bug_map",
|
||||||
srcs: [":bug_map_files"],
|
srcs: [":bug_map_files{.plat_private}"],
|
||||||
stem: "bug_map",
|
stem: "bug_map",
|
||||||
}
|
}
|
||||||
|
|
||||||
se_bug_map {
|
se_bug_map {
|
||||||
name: "system_ext_bug_map",
|
name: "system_ext_bug_map",
|
||||||
srcs: [":bug_map_files"],
|
srcs: [":bug_map_files{.system_ext_private}"],
|
||||||
stem: "bug_map",
|
stem: "bug_map",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
se_bug_map {
|
se_bug_map {
|
||||||
name: "vendor_bug_map",
|
name: "vendor_bug_map",
|
||||||
srcs: [":bug_map_files"],
|
srcs: [":bug_map_files{.vendor}", ":bug_map_files{.plat_vendor_for_vendor}"],
|
||||||
// Legacy file name of the vendor partition bug_map.
|
// Legacy file name of the vendor partition bug_map.
|
||||||
stem: "selinux_denial_metadata",
|
stem: "selinux_denial_metadata",
|
||||||
vendor: true,
|
vendor: true,
|
||||||
|
|
|
@ -35,7 +35,6 @@ bootstrap_go_package {
|
||||||
"build_files.go",
|
"build_files.go",
|
||||||
"cil_compat_map.go",
|
"cil_compat_map.go",
|
||||||
"compat_cil.go",
|
"compat_cil.go",
|
||||||
"filegroup.go",
|
|
||||||
"policy.go",
|
"policy.go",
|
||||||
"selinux.go",
|
"selinux.go",
|
||||||
"selinux_contexts.go",
|
"selinux_contexts.go",
|
||||||
|
|
|
@ -40,7 +40,7 @@ type bugMap struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type bugMapProperties struct {
|
type bugMapProperties struct {
|
||||||
// List of source files. Can reference se_filegroup type modules with the ":module" syntax.
|
// List of source files or se_build_files modules.
|
||||||
Srcs []string `android:"path"`
|
Srcs []string `android:"path"`
|
||||||
|
|
||||||
// Output file name. Defaults to module name if unspecified.
|
// Output file name. Defaults to module name if unspecified.
|
||||||
|
@ -52,31 +52,7 @@ func (b *bugMap) stem() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *bugMap) expandSeSources(ctx android.ModuleContext) android.Paths {
|
func (b *bugMap) expandSeSources(ctx android.ModuleContext) android.Paths {
|
||||||
srcPaths := make(android.Paths, 0, len(b.properties.Srcs))
|
return android.PathsForModuleSrc(ctx, b.properties.Srcs)
|
||||||
for _, src := range b.properties.Srcs {
|
|
||||||
if m := android.SrcIsModule(src); m != "" {
|
|
||||||
module := android.GetModuleFromPathDep(ctx, m, "")
|
|
||||||
if module == nil {
|
|
||||||
// Error would have been handled by ExtractSourcesDeps
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if fg, ok := module.(*fileGroup); ok {
|
|
||||||
if b.SocSpecific() {
|
|
||||||
srcPaths = append(srcPaths, fg.VendorSrcs()...)
|
|
||||||
srcPaths = append(srcPaths, fg.SystemVendorSrcs()...)
|
|
||||||
} else if b.SystemExtSpecific() {
|
|
||||||
srcPaths = append(srcPaths, fg.SystemExtPrivateSrcs()...)
|
|
||||||
} else {
|
|
||||||
srcPaths = append(srcPaths, fg.SystemPrivateSrcs()...)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
ctx.PropertyErrorf("srcs", "%q is not an se_filegroup", m)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
srcPaths = append(srcPaths, android.PathForModuleSrc(ctx, src))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return android.FirstUniquePaths(srcPaths)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *bugMap) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
func (b *bugMap) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||||
|
|
|
@ -59,7 +59,7 @@ type cilCompatMapProperties struct {
|
||||||
// se_cil_compat_map module representing a compatibility mapping file for
|
// se_cil_compat_map module representing a compatibility mapping file for
|
||||||
// platform versions (x->y). Bottom half represents a mapping (y->z).
|
// platform versions (x->y). Bottom half represents a mapping (y->z).
|
||||||
// Together the halves are used to generate a (x->z) mapping.
|
// Together the halves are used to generate a (x->z) mapping.
|
||||||
Top_half *string
|
Top_half *string `android:"path"`
|
||||||
// list of source (.cil) files used to build an the bottom half of sepolicy
|
// list of source (.cil) files used to build an the bottom half of sepolicy
|
||||||
// compatibility mapping file. bottom_half may reference the outputs of
|
// compatibility mapping file. bottom_half may reference the outputs of
|
||||||
// other modules that produce source files like genrule or filegroup using
|
// other modules that produce source files like genrule or filegroup using
|
||||||
|
@ -94,31 +94,7 @@ func expandTopHalf(ctx android.ModuleContext) android.OptionalPath {
|
||||||
}
|
}
|
||||||
|
|
||||||
func expandSeSources(ctx android.ModuleContext, srcFiles []string) android.Paths {
|
func expandSeSources(ctx android.ModuleContext, srcFiles []string) android.Paths {
|
||||||
expandedSrcFiles := make(android.Paths, 0, len(srcFiles))
|
return android.PathsForModuleSrc(ctx, srcFiles)
|
||||||
for _, s := range srcFiles {
|
|
||||||
if m := android.SrcIsModule(s); m != "" {
|
|
||||||
module := android.GetModuleFromPathDep(ctx, m, "")
|
|
||||||
if module == nil {
|
|
||||||
// Error will have been handled by ExtractSourcesDeps
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if fg, ok := module.(*fileGroup); ok {
|
|
||||||
if ctx.ProductSpecific() {
|
|
||||||
expandedSrcFiles = append(expandedSrcFiles, fg.ProductPrivateSrcs()...)
|
|
||||||
} else if ctx.SystemExtSpecific() {
|
|
||||||
expandedSrcFiles = append(expandedSrcFiles, fg.SystemExtPrivateSrcs()...)
|
|
||||||
} else {
|
|
||||||
expandedSrcFiles = append(expandedSrcFiles, fg.SystemPrivateSrcs()...)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
ctx.ModuleErrorf("srcs dependency %q is not an selinux filegroup", m)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
p := android.PathForModuleSrc(ctx, s)
|
|
||||||
expandedSrcFiles = append(expandedSrcFiles, p)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return expandedSrcFiles
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *cilCompatMap) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
func (c *cilCompatMap) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||||
|
|
|
@ -48,7 +48,7 @@ type compatCil struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type compatCilProperties struct {
|
type compatCilProperties struct {
|
||||||
// List of source files. Can reference se_filegroup type modules with the ":module" syntax.
|
// List of source files. Can reference se_build_files type modules with the ":module" syntax.
|
||||||
Srcs []string `android:"path"`
|
Srcs []string `android:"path"`
|
||||||
|
|
||||||
// Output file name. Defaults to module name if unspecified.
|
// Output file name. Defaults to module name if unspecified.
|
||||||
|
@ -60,28 +60,7 @@ func (c *compatCil) stem() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *compatCil) expandSeSources(ctx android.ModuleContext) android.Paths {
|
func (c *compatCil) expandSeSources(ctx android.ModuleContext) android.Paths {
|
||||||
srcPaths := make(android.Paths, 0, len(c.properties.Srcs))
|
return android.PathsForModuleSrc(ctx, c.properties.Srcs)
|
||||||
for _, src := range c.properties.Srcs {
|
|
||||||
if m := android.SrcIsModule(src); m != "" {
|
|
||||||
module := android.GetModuleFromPathDep(ctx, m, "")
|
|
||||||
if module == nil {
|
|
||||||
// Error would have been handled by ExtractSourcesDeps
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if fg, ok := module.(*fileGroup); ok {
|
|
||||||
if c.SystemExtSpecific() {
|
|
||||||
srcPaths = append(srcPaths, fg.SystemExtPrivateSrcs()...)
|
|
||||||
} else {
|
|
||||||
srcPaths = append(srcPaths, fg.SystemPrivateSrcs()...)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
ctx.PropertyErrorf("srcs", "%q is not an se_filegroup", m)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
srcPaths = append(srcPaths, android.PathForModuleSrc(ctx, src))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return srcPaths
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *compatCil) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
func (c *compatCil) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||||
|
|
|
@ -1,156 +0,0 @@
|
||||||
// Copyright 2018 Google Inc. All rights reserved.
|
|
||||||
//
|
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License.
|
|
||||||
// You may obtain a copy of the License at
|
|
||||||
//
|
|
||||||
// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
|
|
||||||
package selinux
|
|
||||||
|
|
||||||
import (
|
|
||||||
"android/soong/android"
|
|
||||||
"path/filepath"
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
android.RegisterModuleType("se_filegroup", FileGroupFactory)
|
|
||||||
}
|
|
||||||
|
|
||||||
func FileGroupFactory() android.Module {
|
|
||||||
module := &fileGroup{}
|
|
||||||
module.AddProperties(&module.properties)
|
|
||||||
android.InitAndroidModule(module)
|
|
||||||
return module
|
|
||||||
}
|
|
||||||
|
|
||||||
type fileGroupProperties struct {
|
|
||||||
// list of source file suffixes used to collect selinux policy files.
|
|
||||||
// Source files will be looked up in the following local directories:
|
|
||||||
// system/sepolicy/{public, private, vendor, reqd_mask}
|
|
||||||
// and directories specified by following config variables:
|
|
||||||
// BOARD_SEPOLICY_DIRS, BOARD_ODM_SEPOLICY_DIRS
|
|
||||||
// SYSTEM_EXT_PUBLIC_SEPOLICY_DIR, SYSTEM_EXT_PRIVATE_SEPOLICY_DIR
|
|
||||||
Srcs []string
|
|
||||||
}
|
|
||||||
|
|
||||||
type fileGroup struct {
|
|
||||||
android.ModuleBase
|
|
||||||
properties fileGroupProperties
|
|
||||||
|
|
||||||
systemPublicSrcs android.Paths
|
|
||||||
systemPrivateSrcs android.Paths
|
|
||||||
systemVendorSrcs android.Paths
|
|
||||||
systemReqdMaskSrcs android.Paths
|
|
||||||
|
|
||||||
systemExtPublicSrcs android.Paths
|
|
||||||
systemExtPrivateSrcs android.Paths
|
|
||||||
|
|
||||||
productPublicSrcs android.Paths
|
|
||||||
productPrivateSrcs android.Paths
|
|
||||||
|
|
||||||
vendorSrcs android.Paths
|
|
||||||
vendorReqdMaskSrcs android.Paths
|
|
||||||
odmSrcs android.Paths
|
|
||||||
}
|
|
||||||
|
|
||||||
// Source files from system/sepolicy/public
|
|
||||||
func (fg *fileGroup) SystemPublicSrcs() android.Paths {
|
|
||||||
return fg.systemPublicSrcs
|
|
||||||
}
|
|
||||||
|
|
||||||
// Source files from system/sepolicy/private
|
|
||||||
func (fg *fileGroup) SystemPrivateSrcs() android.Paths {
|
|
||||||
return fg.systemPrivateSrcs
|
|
||||||
}
|
|
||||||
|
|
||||||
// Source files from system/sepolicy/vendor
|
|
||||||
func (fg *fileGroup) SystemVendorSrcs() android.Paths {
|
|
||||||
return fg.systemVendorSrcs
|
|
||||||
}
|
|
||||||
|
|
||||||
// Source files from system/sepolicy/reqd_mask
|
|
||||||
func (fg *fileGroup) SystemReqdMaskSrcs() android.Paths {
|
|
||||||
return fg.systemReqdMaskSrcs
|
|
||||||
}
|
|
||||||
|
|
||||||
// Source files from SYSTEM_EXT_PUBLIC_SEPOLICY_DIR
|
|
||||||
func (fg *fileGroup) SystemExtPublicSrcs() android.Paths {
|
|
||||||
return fg.systemExtPublicSrcs
|
|
||||||
}
|
|
||||||
|
|
||||||
// Source files from SYSTEM_EXT_PRIVATE_SEPOLICY_DIR
|
|
||||||
func (fg *fileGroup) SystemExtPrivateSrcs() android.Paths {
|
|
||||||
return fg.systemExtPrivateSrcs
|
|
||||||
}
|
|
||||||
|
|
||||||
// Source files from PRODUCT_PUBLIC_SEPOLICY_DIRS
|
|
||||||
func (fg *fileGroup) ProductPublicSrcs() android.Paths {
|
|
||||||
return fg.productPublicSrcs
|
|
||||||
}
|
|
||||||
|
|
||||||
// Source files from PRODUCT_PRIVATE_SEPOLICY_DIRS
|
|
||||||
func (fg *fileGroup) ProductPrivateSrcs() android.Paths {
|
|
||||||
return fg.productPrivateSrcs
|
|
||||||
}
|
|
||||||
|
|
||||||
// Source files from BOARD_VENDOR_SEPOLICY_DIRS
|
|
||||||
func (fg *fileGroup) VendorSrcs() android.Paths {
|
|
||||||
return fg.vendorSrcs
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fg *fileGroup) VendorReqdMaskSrcs() android.Paths {
|
|
||||||
return fg.vendorReqdMaskSrcs
|
|
||||||
}
|
|
||||||
|
|
||||||
// Source files from BOARD_ODM_SEPOLICY_DIRS
|
|
||||||
func (fg *fileGroup) OdmSrcs() android.Paths {
|
|
||||||
return fg.odmSrcs
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fg *fileGroup) findSrcsInDirs(ctx android.ModuleContext, dirs []string) android.Paths {
|
|
||||||
result := android.Paths{}
|
|
||||||
for _, f := range fg.properties.Srcs {
|
|
||||||
for _, d := range dirs {
|
|
||||||
path := filepath.Join(d, f)
|
|
||||||
files, _ := ctx.GlobWithDeps(path, nil)
|
|
||||||
for _, f := range files {
|
|
||||||
result = append(result, android.PathForSource(ctx, f))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fg *fileGroup) findSrcsInDir(ctx android.ModuleContext, dir string) android.Paths {
|
|
||||||
return fg.findSrcsInDirs(ctx, []string{dir})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fg *fileGroup) DepsMutator(ctx android.BottomUpMutatorContext) {}
|
|
||||||
|
|
||||||
func (fg *fileGroup) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|
||||||
fg.systemPublicSrcs = fg.findSrcsInDir(ctx, filepath.Join(ctx.ModuleDir(), "public"))
|
|
||||||
fg.systemPrivateSrcs = fg.findSrcsInDir(ctx, filepath.Join(ctx.ModuleDir(), "private"))
|
|
||||||
fg.systemReqdMaskSrcs = fg.findSrcsInDir(ctx, filepath.Join(ctx.ModuleDir(), "reqd_mask"))
|
|
||||||
|
|
||||||
fg.systemExtPublicSrcs = fg.findSrcsInDirs(ctx, ctx.DeviceConfig().SystemExtPublicSepolicyDirs())
|
|
||||||
fg.systemExtPrivateSrcs = fg.findSrcsInDirs(ctx, ctx.DeviceConfig().SystemExtPrivateSepolicyDirs())
|
|
||||||
|
|
||||||
fg.productPublicSrcs = fg.findSrcsInDirs(ctx, ctx.Config().ProductPublicSepolicyDirs())
|
|
||||||
fg.productPrivateSrcs = fg.findSrcsInDirs(ctx, ctx.Config().ProductPrivateSepolicyDirs())
|
|
||||||
|
|
||||||
systemVendorDirs := ctx.DeviceConfig().BoardPlatVendorPolicy()
|
|
||||||
if len(systemVendorDirs) == 0 || ctx.DeviceConfig().PlatformSepolicyVersion() == ctx.DeviceConfig().BoardSepolicyVers() {
|
|
||||||
systemVendorDirs = []string{filepath.Join(ctx.ModuleDir(), "vendor")}
|
|
||||||
}
|
|
||||||
fg.systemVendorSrcs = fg.findSrcsInDirs(ctx, systemVendorDirs)
|
|
||||||
fg.vendorReqdMaskSrcs = fg.findSrcsInDirs(ctx, ctx.DeviceConfig().BoardReqdMaskPolicy())
|
|
||||||
fg.vendorSrcs = fg.findSrcsInDirs(ctx, ctx.DeviceConfig().VendorSepolicyDirs())
|
|
||||||
fg.odmSrcs = fg.findSrcsInDirs(ctx, ctx.DeviceConfig().OdmSepolicyDirs())
|
|
||||||
}
|
|
|
@ -26,42 +26,42 @@ package {
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "plat_28.0.cil",
|
name: "plat_28.0.cil",
|
||||||
stem: "28.0.cil",
|
stem: "28.0.cil",
|
||||||
bottom_half: [":28.0.board.compat.map"],
|
bottom_half: [":28.0.board.compat.map{.plat_private}"],
|
||||||
top_half: "plat_29.0.cil",
|
top_half: "plat_29.0.cil",
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "plat_29.0.cil",
|
name: "plat_29.0.cil",
|
||||||
stem: "29.0.cil",
|
stem: "29.0.cil",
|
||||||
bottom_half: [":29.0.board.compat.map"],
|
bottom_half: [":29.0.board.compat.map{.plat_private}"],
|
||||||
top_half: "plat_30.0.cil",
|
top_half: "plat_30.0.cil",
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "plat_30.0.cil",
|
name: "plat_30.0.cil",
|
||||||
stem: "30.0.cil",
|
stem: "30.0.cil",
|
||||||
bottom_half: [":30.0.board.compat.map"],
|
bottom_half: [":30.0.board.compat.map{.plat_private}"],
|
||||||
top_half: "plat_31.0.cil",
|
top_half: "plat_31.0.cil",
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "plat_31.0.cil",
|
name: "plat_31.0.cil",
|
||||||
stem: "31.0.cil",
|
stem: "31.0.cil",
|
||||||
bottom_half: [":31.0.board.compat.map"],
|
bottom_half: [":31.0.board.compat.map{.plat_private}"],
|
||||||
top_half: "plat_32.0.cil",
|
top_half: "plat_32.0.cil",
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "plat_32.0.cil",
|
name: "plat_32.0.cil",
|
||||||
stem: "32.0.cil",
|
stem: "32.0.cil",
|
||||||
bottom_half: [":32.0.board.compat.map"],
|
bottom_half: [":32.0.board.compat.map{.plat_private}"],
|
||||||
// top_half: "plat_33.0.cil",
|
// top_half: "plat_33.0.cil",
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "system_ext_28.0.cil",
|
name: "system_ext_28.0.cil",
|
||||||
stem: "28.0.cil",
|
stem: "28.0.cil",
|
||||||
bottom_half: [":28.0.board.compat.map"],
|
bottom_half: [":28.0.board.compat.map{.system_ext_private}"],
|
||||||
top_half: "system_ext_29.0.cil",
|
top_half: "system_ext_29.0.cil",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
@ -69,7 +69,7 @@ se_cil_compat_map {
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "system_ext_29.0.cil",
|
name: "system_ext_29.0.cil",
|
||||||
stem: "29.0.cil",
|
stem: "29.0.cil",
|
||||||
bottom_half: [":29.0.board.compat.map"],
|
bottom_half: [":29.0.board.compat.map{.system_ext_private}"],
|
||||||
top_half: "system_ext_30.0.cil",
|
top_half: "system_ext_30.0.cil",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,7 @@ se_cil_compat_map {
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "system_ext_30.0.cil",
|
name: "system_ext_30.0.cil",
|
||||||
stem: "30.0.cil",
|
stem: "30.0.cil",
|
||||||
bottom_half: [":30.0.board.compat.map"],
|
bottom_half: [":30.0.board.compat.map{.system_ext_private}"],
|
||||||
top_half: "system_ext_31.0.cil",
|
top_half: "system_ext_31.0.cil",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
@ -85,7 +85,7 @@ se_cil_compat_map {
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "system_ext_31.0.cil",
|
name: "system_ext_31.0.cil",
|
||||||
stem: "31.0.cil",
|
stem: "31.0.cil",
|
||||||
bottom_half: [":31.0.board.compat.map"],
|
bottom_half: [":31.0.board.compat.map{.system_ext_private}"],
|
||||||
top_half: "system_ext_32.0.cil",
|
top_half: "system_ext_32.0.cil",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
@ -93,7 +93,7 @@ se_cil_compat_map {
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "system_ext_32.0.cil",
|
name: "system_ext_32.0.cil",
|
||||||
stem: "32.0.cil",
|
stem: "32.0.cil",
|
||||||
bottom_half: [":32.0.board.compat.map"],
|
bottom_half: [":32.0.board.compat.map{.system_ext_private}"],
|
||||||
// top_half: "system_ext_33.0.cil",
|
// top_half: "system_ext_33.0.cil",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
@ -101,7 +101,7 @@ se_cil_compat_map {
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "product_28.0.cil",
|
name: "product_28.0.cil",
|
||||||
stem: "28.0.cil",
|
stem: "28.0.cil",
|
||||||
bottom_half: [":28.0.board.compat.map"],
|
bottom_half: [":28.0.board.compat.map{.product_private}"],
|
||||||
top_half: "product_29.0.cil",
|
top_half: "product_29.0.cil",
|
||||||
product_specific: true,
|
product_specific: true,
|
||||||
}
|
}
|
||||||
|
@ -109,7 +109,7 @@ se_cil_compat_map {
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "product_29.0.cil",
|
name: "product_29.0.cil",
|
||||||
stem: "29.0.cil",
|
stem: "29.0.cil",
|
||||||
bottom_half: [":29.0.board.compat.map"],
|
bottom_half: [":29.0.board.compat.map{.product_private}"],
|
||||||
top_half: "product_30.0.cil",
|
top_half: "product_30.0.cil",
|
||||||
product_specific: true,
|
product_specific: true,
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ se_cil_compat_map {
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "product_30.0.cil",
|
name: "product_30.0.cil",
|
||||||
stem: "30.0.cil",
|
stem: "30.0.cil",
|
||||||
bottom_half: [":30.0.board.compat.map"],
|
bottom_half: [":30.0.board.compat.map{.product_private}"],
|
||||||
top_half: "product_31.0.cil",
|
top_half: "product_31.0.cil",
|
||||||
product_specific: true,
|
product_specific: true,
|
||||||
}
|
}
|
||||||
|
@ -125,7 +125,7 @@ se_cil_compat_map {
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "product_31.0.cil",
|
name: "product_31.0.cil",
|
||||||
stem: "31.0.cil",
|
stem: "31.0.cil",
|
||||||
bottom_half: [":31.0.board.compat.map"],
|
bottom_half: [":31.0.board.compat.map{.product_private}"],
|
||||||
top_half: "product_32.0.cil",
|
top_half: "product_32.0.cil",
|
||||||
product_specific: true,
|
product_specific: true,
|
||||||
}
|
}
|
||||||
|
@ -133,139 +133,139 @@ se_cil_compat_map {
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "product_32.0.cil",
|
name: "product_32.0.cil",
|
||||||
stem: "32.0.cil",
|
stem: "32.0.cil",
|
||||||
bottom_half: [":32.0.board.compat.map"],
|
bottom_half: [":32.0.board.compat.map{.product_private}"],
|
||||||
// top_half: "product_33.0.cil",
|
// top_half: "product_33.0.cil",
|
||||||
product_specific: true,
|
product_specific: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "28.0.ignore.cil",
|
name: "28.0.ignore.cil",
|
||||||
bottom_half: [":28.0.board.ignore.map"],
|
bottom_half: [":28.0.board.ignore.map{.plat_private}"],
|
||||||
top_half: "29.0.ignore.cil",
|
top_half: "29.0.ignore.cil",
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "29.0.ignore.cil",
|
name: "29.0.ignore.cil",
|
||||||
bottom_half: [":29.0.board.ignore.map"],
|
bottom_half: [":29.0.board.ignore.map{.plat_private}"],
|
||||||
top_half: "30.0.ignore.cil",
|
top_half: "30.0.ignore.cil",
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "30.0.ignore.cil",
|
name: "30.0.ignore.cil",
|
||||||
bottom_half: [":30.0.board.ignore.map"],
|
bottom_half: [":30.0.board.ignore.map{.plat_private}"],
|
||||||
top_half: "31.0.ignore.cil",
|
top_half: "31.0.ignore.cil",
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "31.0.ignore.cil",
|
name: "31.0.ignore.cil",
|
||||||
bottom_half: [":31.0.board.ignore.map"],
|
bottom_half: [":31.0.board.ignore.map{.plat_private}"],
|
||||||
top_half: "32.0.ignore.cil",
|
top_half: "32.0.ignore.cil",
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "32.0.ignore.cil",
|
name: "32.0.ignore.cil",
|
||||||
bottom_half: [":32.0.board.ignore.map"],
|
bottom_half: [":32.0.board.ignore.map{.plat_private}"],
|
||||||
// top_half: "33.0.ignore.cil",
|
// top_half: "33.0.ignore.cil",
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "system_ext_30.0.ignore.cil",
|
name: "system_ext_30.0.ignore.cil",
|
||||||
bottom_half: [":30.0.board.ignore.map"],
|
bottom_half: [":30.0.board.ignore.map{.system_ext_private}"],
|
||||||
top_half: "system_ext_31.0.ignore.cil",
|
top_half: "system_ext_31.0.ignore.cil",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "system_ext_31.0.ignore.cil",
|
name: "system_ext_31.0.ignore.cil",
|
||||||
bottom_half: [":31.0.board.ignore.map"],
|
bottom_half: [":31.0.board.ignore.map{.system_ext_private}"],
|
||||||
top_half: "system_ext_32.0.ignore.cil",
|
top_half: "system_ext_32.0.ignore.cil",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "system_ext_32.0.ignore.cil",
|
name: "system_ext_32.0.ignore.cil",
|
||||||
bottom_half: [":32.0.board.ignore.map"],
|
bottom_half: [":32.0.board.ignore.map{.system_ext_private}"],
|
||||||
// top_half: "system_ext_33.0.ignore.cil",
|
// top_half: "system_ext_33.0.ignore.cil",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "product_30.0.ignore.cil",
|
name: "product_30.0.ignore.cil",
|
||||||
bottom_half: [":30.0.board.ignore.map"],
|
bottom_half: [":30.0.board.ignore.map{.product_private}"],
|
||||||
top_half: "product_31.0.ignore.cil",
|
top_half: "product_31.0.ignore.cil",
|
||||||
product_specific: true,
|
product_specific: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "product_31.0.ignore.cil",
|
name: "product_31.0.ignore.cil",
|
||||||
bottom_half: [":31.0.board.ignore.map"],
|
bottom_half: [":31.0.board.ignore.map{.product_private}"],
|
||||||
top_half: "product_32.0.ignore.cil",
|
top_half: "product_32.0.ignore.cil",
|
||||||
product_specific: true,
|
product_specific: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
se_cil_compat_map {
|
se_cil_compat_map {
|
||||||
name: "product_32.0.ignore.cil",
|
name: "product_32.0.ignore.cil",
|
||||||
bottom_half: [":32.0.board.ignore.map"],
|
bottom_half: [":32.0.board.ignore.map{.product_private}"],
|
||||||
// top_half: "product_33.0.ignore.cil",
|
// top_half: "product_33.0.ignore.cil",
|
||||||
product_specific: true,
|
product_specific: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
se_compat_cil {
|
se_compat_cil {
|
||||||
name: "28.0.compat.cil",
|
name: "28.0.compat.cil",
|
||||||
srcs: [":28.0.board.compat.cil"],
|
srcs: [":28.0.board.compat.cil{.plat_private}"],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_compat_cil {
|
se_compat_cil {
|
||||||
name: "29.0.compat.cil",
|
name: "29.0.compat.cil",
|
||||||
srcs: [":29.0.board.compat.cil"],
|
srcs: [":29.0.board.compat.cil{.plat_private}"],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_compat_cil {
|
se_compat_cil {
|
||||||
name: "30.0.compat.cil",
|
name: "30.0.compat.cil",
|
||||||
srcs: [":30.0.board.compat.cil"],
|
srcs: [":30.0.board.compat.cil{.plat_private}"],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_compat_cil {
|
se_compat_cil {
|
||||||
name: "31.0.compat.cil",
|
name: "31.0.compat.cil",
|
||||||
srcs: [":31.0.board.compat.cil"],
|
srcs: [":31.0.board.compat.cil{.plat_private}"],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_compat_cil {
|
se_compat_cil {
|
||||||
name: "32.0.compat.cil",
|
name: "32.0.compat.cil",
|
||||||
srcs: [":32.0.board.compat.cil"],
|
srcs: [":32.0.board.compat.cil{.plat_private}"],
|
||||||
}
|
}
|
||||||
|
|
||||||
se_compat_cil {
|
se_compat_cil {
|
||||||
name: "system_ext_28.0.compat.cil",
|
name: "system_ext_28.0.compat.cil",
|
||||||
srcs: [":28.0.board.compat.cil"],
|
srcs: [":28.0.board.compat.cil{.system_ext_private}"],
|
||||||
stem: "28.0.compat.cil",
|
stem: "28.0.compat.cil",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
se_compat_cil {
|
se_compat_cil {
|
||||||
name: "system_ext_29.0.compat.cil",
|
name: "system_ext_29.0.compat.cil",
|
||||||
srcs: [":29.0.board.compat.cil"],
|
srcs: [":29.0.board.compat.cil{.system_ext_private}"],
|
||||||
stem: "29.0.compat.cil",
|
stem: "29.0.compat.cil",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
se_compat_cil {
|
se_compat_cil {
|
||||||
name: "system_ext_30.0.compat.cil",
|
name: "system_ext_30.0.compat.cil",
|
||||||
srcs: [":30.0.board.compat.cil"],
|
srcs: [":30.0.board.compat.cil{.system_ext_private}"],
|
||||||
stem: "30.0.compat.cil",
|
stem: "30.0.compat.cil",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
se_compat_cil {
|
se_compat_cil {
|
||||||
name: "system_ext_31.0.compat.cil",
|
name: "system_ext_31.0.compat.cil",
|
||||||
srcs: [":31.0.board.compat.cil"],
|
srcs: [":31.0.board.compat.cil{.system_ext_private}"],
|
||||||
stem: "31.0.compat.cil",
|
stem: "31.0.compat.cil",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
se_compat_cil {
|
se_compat_cil {
|
||||||
name: "system_ext_32.0.compat.cil",
|
name: "system_ext_32.0.compat.cil",
|
||||||
srcs: [":32.0.board.compat.cil"],
|
srcs: [":32.0.board.compat.cil{.system_ext_private}"],
|
||||||
stem: "32.0.compat.cil",
|
stem: "32.0.compat.cil",
|
||||||
system_ext_specific: true,
|
system_ext_specific: true,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue