diff options
-rw-r--r-- | android/androidmk.go | 5 | ||||
-rw-r--r-- | android/config.go | 8 | ||||
-rw-r--r-- | android/module.go | 48 | ||||
-rw-r--r-- | android/paths.go | 4 | ||||
-rw-r--r-- | android/paths_test.go | 20 | ||||
-rw-r--r-- | android/variable.go | 8 | ||||
-rw-r--r-- | androidmk/cmd/androidmk/android.go | 6 | ||||
-rw-r--r-- | androidmk/cmd/androidmk/androidmk_test.go | 12 | ||||
-rw-r--r-- | bpfix/bpfix/bpfix.go | 18 | ||||
-rw-r--r-- | cmd/diff_target_files/target_files.go | 2 | ||||
-rw-r--r-- | ui/build/cleanbuild.go | 2 |
11 files changed, 70 insertions, 63 deletions
diff --git a/android/androidmk.go b/android/androidmk.go index 7d0aa3bd..9bc26922 100644 --- a/android/androidmk.go +++ b/android/androidmk.go @@ -216,7 +216,10 @@ func (a *AndroidMkEntries) fillInEntries(config Config, bpPath string, mod bluep } a.SetBoolIfTrue("LOCAL_ODM_MODULE", Bool(amod.commonProperties.Device_specific)) a.SetBoolIfTrue("LOCAL_PRODUCT_MODULE", Bool(amod.commonProperties.Product_specific)) - a.SetBoolIfTrue("LOCAL_PRODUCT_SERVICES_MODULE", Bool(amod.commonProperties.Product_services_specific)) + // TODO(b/135957588) product_services_specific is matched to LOCAL_PRODUCT_MODULE + // as a workaround. Remove this after clearing all Android.bp + a.SetBoolIfTrue("LOCAL_PRODUCT_MODULE", Bool(amod.commonProperties.Product_services_specific)) + a.SetBoolIfTrue("LOCAL_SYSTEM_EXT_MODULE", Bool(amod.commonProperties.System_ext_specific)) if amod.commonProperties.Owner != nil { a.SetString("LOCAL_MODULE_OWNER", *amod.commonProperties.Owner) } diff --git a/android/config.go b/android/config.go index e4012fa5..c0ed50f7 100644 --- a/android/config.go +++ b/android/config.go @@ -901,11 +901,11 @@ func (c *deviceConfig) ProductPath() string { return "product" } -func (c *deviceConfig) ProductServicesPath() string { - if c.config.productVariables.ProductServicesPath != nil { - return *c.config.productVariables.ProductServicesPath +func (c *deviceConfig) SystemExtPath() string { + if c.config.productVariables.SystemExtPath != nil { + return *c.config.productVariables.SystemExtPath } - return "product_services" + return "system_ext" } func (c *deviceConfig) BtConfigIncludeDir() string { diff --git a/android/module.go b/android/module.go index 2d4c1b59..adb9454e 100644 --- a/android/module.go +++ b/android/module.go @@ -126,7 +126,7 @@ type BaseModuleContext interface { DeviceSpecific() bool SocSpecific() bool ProductSpecific() bool - ProductServicesSpecific() bool + SystemExtSpecific() bool AConfig() Config DeviceConfig() DeviceConfig } @@ -350,11 +350,15 @@ type commonProperties struct { // /system/product if product partition does not exist). Product_specific *bool - // whether this module provides services owned by the OS provider to the core platform. When set - // to true, it is installed into /product_services (or /system/product_services if - // product_services partition does not exist). + // TODO(b/135957588) Product_services_specific will be removed once we clear all Android.bp + // files that have 'product_services_specific: true'. This will be converted to + // Product_speicific as a workaround. Product_services_specific *bool + // whether this module extends system. When set to true, it is installed into /system_ext + // (or /system/system_ext if system_ext partition does not exist). + System_ext_specific *bool + // Whether this module is installed to recovery partition Recovery *bool @@ -469,7 +473,7 @@ const ( deviceSpecificModule socSpecificModule productSpecificModule - productServicesSpecificModule + systemExtSpecificModule ) func (k moduleKind) String() string { @@ -482,8 +486,8 @@ func (k moduleKind) String() string { return "soc-specific" case productSpecificModule: return "product-specific" - case productServicesSpecificModule: - return "productservices-specific" + case systemExtSpecificModule: + return "systemext-specific" default: panic(fmt.Errorf("unknown module kind %d", k)) } @@ -738,7 +742,7 @@ func (m *ModuleBase) DeviceSupported() bool { } func (m *ModuleBase) Platform() bool { - return !m.DeviceSpecific() && !m.SocSpecific() && !m.ProductSpecific() && !m.ProductServicesSpecific() + return !m.DeviceSpecific() && !m.SocSpecific() && !m.ProductSpecific() && !m.SystemExtSpecific() } func (m *ModuleBase) DeviceSpecific() bool { @@ -753,8 +757,8 @@ func (m *ModuleBase) ProductSpecific() bool { return Bool(m.commonProperties.Product_specific) } -func (m *ModuleBase) ProductServicesSpecific() bool { - return Bool(m.commonProperties.Product_services_specific) +func (m *ModuleBase) SystemExtSpecific() bool { + return Bool(m.commonProperties.System_ext_specific) } func (m *ModuleBase) Enabled() bool { @@ -875,7 +879,7 @@ func determineModuleKind(m *ModuleBase, ctx blueprint.BaseModuleContext) moduleK var socSpecific = Bool(m.commonProperties.Vendor) || Bool(m.commonProperties.Proprietary) || Bool(m.commonProperties.Soc_specific) var deviceSpecific = Bool(m.commonProperties.Device_specific) var productSpecific = Bool(m.commonProperties.Product_specific) - var productServicesSpecific = Bool(m.commonProperties.Product_services_specific) + var systemExtSpecific = Bool(m.commonProperties.System_ext_specific) msg := "conflicting value set here" if socSpecific && deviceSpecific { @@ -891,16 +895,16 @@ func determineModuleKind(m *ModuleBase, ctx blueprint.BaseModuleContext) moduleK } } - if productSpecific && productServicesSpecific { - ctx.PropertyErrorf("product_specific", "a module cannot be specific to product and product_services at the same time.") - ctx.PropertyErrorf("product_services_specific", msg) + if productSpecific && systemExtSpecific { + ctx.PropertyErrorf("product_specific", "a module cannot be specific to product and system_ext at the same time.") + ctx.PropertyErrorf("system_ext_specific", msg) } - if (socSpecific || deviceSpecific) && (productSpecific || productServicesSpecific) { + if (socSpecific || deviceSpecific) && (productSpecific || systemExtSpecific) { if productSpecific { ctx.PropertyErrorf("product_specific", "a module cannot be specific to SoC or device and product at the same time.") } else { - ctx.PropertyErrorf("product_services_specific", "a module cannot be specific to SoC or device and product_services at the same time.") + ctx.PropertyErrorf("system_ext_specific", "a module cannot be specific to SoC or device and system_ext at the same time.") } if deviceSpecific { ctx.PropertyErrorf("device_specific", msg) @@ -919,8 +923,8 @@ func determineModuleKind(m *ModuleBase, ctx blueprint.BaseModuleContext) moduleK if productSpecific { return productSpecificModule - } else if productServicesSpecific { - return productServicesSpecificModule + } else if systemExtSpecific { + return systemExtSpecificModule } else if deviceSpecific { return deviceSpecificModule } else if socSpecific { @@ -1433,18 +1437,18 @@ func (b *baseModuleContext) ProductSpecific() bool { return b.kind == productSpecificModule } -func (b *baseModuleContext) ProductServicesSpecific() bool { - return b.kind == productServicesSpecificModule +func (b *baseModuleContext) SystemExtSpecific() bool { + return b.kind == systemExtSpecificModule } // Makes this module a platform module, i.e. not specific to soc, device, -// product, or product_services. +// product, or system_ext. func (m *ModuleBase) MakeAsPlatform() { m.commonProperties.Vendor = boolPtr(false) m.commonProperties.Proprietary = boolPtr(false) m.commonProperties.Soc_specific = boolPtr(false) m.commonProperties.Product_specific = boolPtr(false) - m.commonProperties.Product_services_specific = boolPtr(false) + m.commonProperties.System_ext_specific = boolPtr(false) } func (m *ModuleBase) EnableNativeBridgeSupportByDefault() { diff --git a/android/paths.go b/android/paths.go index 20b8b823..0ea44473 100644 --- a/android/paths.go +++ b/android/paths.go @@ -1145,8 +1145,8 @@ func modulePartition(ctx ModuleInstallPathContext) string { partition = ctx.DeviceConfig().OdmPath() } else if ctx.ProductSpecific() { partition = ctx.DeviceConfig().ProductPath() - } else if ctx.ProductServicesSpecific() { - partition = ctx.DeviceConfig().ProductServicesPath() + } else if ctx.SystemExtSpecific() { + partition = ctx.DeviceConfig().SystemExtPath() } else { partition = "system" } diff --git a/android/paths_test.go b/android/paths_test.go index 7bcfe41d..8286e9a3 100644 --- a/android/paths_test.go +++ b/android/paths_test.go @@ -294,15 +294,15 @@ func TestPathForModuleInstall(t *testing.T) { out: "target/product/test_device/product/bin/my_test", }, { - name: "product_services binary", + name: "system_ext binary", ctx: &moduleInstallPathContextImpl{ baseModuleContext: baseModuleContext{ target: deviceTarget, - kind: productServicesSpecificModule, + kind: systemExtSpecificModule, }, }, in: []string{"bin", "my_test"}, - out: "target/product/test_device/product_services/bin/my_test", + out: "target/product/test_device/system_ext/bin/my_test", }, { @@ -354,11 +354,11 @@ func TestPathForModuleInstall(t *testing.T) { }, { - name: "product_services native test binary", + name: "system_ext native test binary", ctx: &moduleInstallPathContextImpl{ baseModuleContext: baseModuleContext{ target: deviceTarget, - kind: productServicesSpecificModule, + kind: systemExtSpecificModule, }, inData: true, }, @@ -415,16 +415,16 @@ func TestPathForModuleInstall(t *testing.T) { }, { - name: "sanitized product_services binary", + name: "sanitized system_ext binary", ctx: &moduleInstallPathContextImpl{ baseModuleContext: baseModuleContext{ target: deviceTarget, - kind: productServicesSpecificModule, + kind: systemExtSpecificModule, }, inSanitizerDir: true, }, in: []string{"bin", "my_test"}, - out: "target/product/test_device/data/asan/product_services/bin/my_test", + out: "target/product/test_device/data/asan/system_ext/bin/my_test", }, { @@ -479,11 +479,11 @@ func TestPathForModuleInstall(t *testing.T) { out: "target/product/test_device/data/asan/data/nativetest/my_test", }, { - name: "sanitized product_services native test binary", + name: "sanitized system_ext native test binary", ctx: &moduleInstallPathContextImpl{ baseModuleContext: baseModuleContext{ target: deviceTarget, - kind: productServicesSpecificModule, + kind: systemExtSpecificModule, }, inData: true, inSanitizerDir: true, diff --git a/android/variable.go b/android/variable.go index b4f31c61..fcd92d45 100644 --- a/android/variable.go +++ b/android/variable.go @@ -232,10 +232,10 @@ type productVariables struct { EnableXOM *bool `json:",omitempty"` XOMExcludePaths []string `json:",omitempty"` - VendorPath *string `json:",omitempty"` - OdmPath *string `json:",omitempty"` - ProductPath *string `json:",omitempty"` - ProductServicesPath *string `json:",omitempty"` + VendorPath *string `json:",omitempty"` + OdmPath *string `json:",omitempty"` + ProductPath *string `json:",omitempty"` + SystemExtPath *string `json:",omitempty"` ClangTidy *bool `json:",omitempty"` TidyChecks *string `json:",omitempty"` diff --git a/androidmk/cmd/androidmk/android.go b/androidmk/cmd/androidmk/android.go index af81e439..2def179a 100644 --- a/androidmk/cmd/androidmk/android.go +++ b/androidmk/cmd/androidmk/android.go @@ -192,7 +192,7 @@ func init() { "LOCAL_VENDOR_MODULE": "vendor", "LOCAL_ODM_MODULE": "device_specific", "LOCAL_PRODUCT_MODULE": "product_specific", - "LOCAL_PRODUCT_SERVICES_MODULE": "product_services_specific", + "LOCAL_SYSTEM_EXT_MODULE": "system_ext_specific", "LOCAL_EXPORT_PACKAGE_RESOURCES": "export_package_resources", "LOCAL_PRIVILEGED_MODULE": "privileged", "LOCAL_AAPT_INCLUDE_ALL_RESOURCES": "aapt_include_all_resources", @@ -602,8 +602,8 @@ func prebuiltModulePath(ctx variableAssignmentContext) error { return fmt.Errorf("Cannot handle appending to LOCAL_MODULE_PATH") } // Analyze value in order to set the correct values for the 'device_specific', - // 'product_specific', 'product_services_specific' 'vendor'/'soc_specific', - // 'product_services_specific' attribute. Two cases are allowed: + // 'product_specific', 'system_ext_specific' 'vendor'/'soc_specific', + // 'system_ext_specific' attribute. Two cases are allowed: // $(VAR)/<literal-value> // $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/<literal-value> // The last case is equivalent to $(TARGET_OUT_VENDOR)/<literal-value> diff --git a/androidmk/cmd/androidmk/androidmk_test.go b/androidmk/cmd/androidmk/androidmk_test.go index 4d5180e9..dbb7fdeb 100644 --- a/androidmk/cmd/androidmk/androidmk_test.go +++ b/androidmk/cmd/androidmk/androidmk_test.go @@ -957,37 +957,37 @@ prebuilt_etc { `, }, { - desc: "prebuilt_etc_TARGET_OUT_PRODUCT_SERVICES/etc", + desc: "prebuilt_etc_TARGET_OUT_SYSTEM_EXT/etc", in: ` include $(CLEAR_VARS) LOCAL_MODULE := etc.test1 LOCAL_MODULE_CLASS := ETC -LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT_SERVICES)/etc/foo/bar +LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_EXT)/etc/foo/bar include $(BUILD_PREBUILT) `, expected: ` prebuilt_etc { name: "etc.test1", sub_dir: "foo/bar", - product_services_specific: true, + system_ext_specific: true, } `, }, { - desc: "prebuilt_etc_TARGET_OUT_PRODUCT_SERVICES_ETC", + desc: "prebuilt_etc_TARGET_OUT_SYSTEM_EXT_ETC", in: ` include $(CLEAR_VARS) LOCAL_MODULE := etc.test1 LOCAL_MODULE_CLASS := ETC -LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT_SERVICES_ETC)/foo/bar +LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_EXT_ETC)/foo/bar include $(BUILD_PREBUILT) `, expected: ` prebuilt_etc { name: "etc.test1", sub_dir: "foo/bar", - product_services_specific: true, + system_ext_specific: true, } diff --git a/bpfix/bpfix/bpfix.go b/bpfix/bpfix/bpfix.go index cac4d9ab..5f1cce84 100644 --- a/bpfix/bpfix/bpfix.go +++ b/bpfix/bpfix/bpfix.go @@ -508,15 +508,15 @@ var localModuleUpdate = map[string][]etcPrebuiltModuleUpdate{ "TARGET_OUT": {{prefix: "/usr/share", modType: "prebuilt_usr_share"}, {prefix: "/fonts", modType: "prebuilt_font"}, {prefix: "/etc/firmware", modType: "prebuilt_firmware"}, {prefix: "/vendor/firmware", modType: "prebuilt_firmware", flags: []string{"proprietary"}}, {prefix: "/etc"}}, - "TARGET_OUT_ETC": {{prefix: "/firmware", modType: "prebuilt_firmware"}, {prefix: ""}}, - "TARGET_OUT_PRODUCT": {{prefix: "/etc", flags: []string{"product_specific"}}, {prefix: "/fonts", modType: "prebuilt_font", flags: []string{"product_specific"}}}, - "TARGET_OUT_PRODUCT_ETC": {{prefix: "", flags: []string{"product_specific"}}}, - "TARGET_OUT_ODM": {{prefix: "/etc", flags: []string{"device_specific"}}}, - "TARGET_OUT_PRODUCT_SERVICES": {{prefix: "/etc", flags: []string{"product_services_specific"}}}, - "TARGET_OUT_PRODUCT_SERVICES_ETC": {{prefix: "", flags: []string{"product_services_specific"}}}, - "TARGET_OUT_VENDOR": {{prefix: "/etc", flags: []string{"proprietary"}}, {prefix: "/firmware", modType: "prebuilt_firmware", flags: []string{"proprietary"}}}, - "TARGET_OUT_VENDOR_ETC": {{prefix: "", flags: []string{"proprietary"}}}, - "TARGET_RECOVERY_ROOT_OUT": {{prefix: "/system/etc", flags: []string{"recovery"}}}, + "TARGET_OUT_ETC": {{prefix: "/firmware", modType: "prebuilt_firmware"}, {prefix: ""}}, + "TARGET_OUT_PRODUCT": {{prefix: "/etc", flags: []string{"product_specific"}}, {prefix: "/fonts", modType: "prebuilt_font", flags: []string{"product_specific"}}}, + "TARGET_OUT_PRODUCT_ETC": {{prefix: "", flags: []string{"product_specific"}}}, + "TARGET_OUT_ODM": {{prefix: "/etc", flags: []string{"device_specific"}}}, + "TARGET_OUT_SYSTEM_EXT": {{prefix: "/etc", flags: []string{"system_ext_specific"}}}, + "TARGET_OUT_SYSTEM_EXT_ETC": {{prefix: "", flags: []string{"system_ext_specific"}}}, + "TARGET_OUT_VENDOR": {{prefix: "/etc", flags: []string{"proprietary"}}, {prefix: "/firmware", modType: "prebuilt_firmware", flags: []string{"proprietary"}}}, + "TARGET_OUT_VENDOR_ETC": {{prefix: "", flags: []string{"proprietary"}}}, + "TARGET_RECOVERY_ROOT_OUT": {{prefix: "/system/etc", flags: []string{"recovery"}}}, } // rewriteAndroidPrebuiltEtc fixes prebuilt_etc rule diff --git a/cmd/diff_target_files/target_files.go b/cmd/diff_target_files/target_files.go index 8705ca70..0fa04e8c 100644 --- a/cmd/diff_target_files/target_files.go +++ b/cmd/diff_target_files/target_files.go @@ -28,7 +28,7 @@ var targetZipPartitions = []string{ "ODM/", "OEM/", "PRODUCT/", - "PRODUCT_SERVICES/", + "SYSTEM_EXT/", "ROOT/", "SYSTEM/", "SYSTEM_OTHER/", diff --git a/ui/build/cleanbuild.go b/ui/build/cleanbuild.go index c47f614d..8e7f96a4 100644 --- a/ui/build/cleanbuild.go +++ b/ui/build/cleanbuild.go @@ -111,7 +111,7 @@ func installClean(ctx Context, config Config, what int) { productOut("system_other"), productOut("vendor"), productOut("product"), - productOut("product_services"), + productOut("system_ext"), productOut("oem"), productOut("obj/FAKE"), productOut("breakpad"), |