blob: 8c200a1dcb47ea229423fe02456a0fb220ed790f [file] [log] [blame]
// Copyright 2020 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 {
// See: http://go/android-license-faq
default_applicable_licenses: ["Android-Apache-2.0"],
}
filegroup {
name: "vndk_lib_lists",
srcs: [
"*.txt",
],
}
prebuilt_etc {
name: "gsi_skip_mount.cfg",
filename: "skip_mount.cfg",
src: "gsi_skip_mount.cfg",
system_ext_specific: true,
relative_install_path: "init/config",
required: ["gsi_skip_mount_compat_symlink"],
}
// Adds a symlink under /system/etc/init/config pointing to /system/system_ext/etc/init/config
// because first-stage init in Android 10.0 will read the skip_mount.cfg from /system/etc/* after
// chroot /system.
// TODO: remove this symlink when no need to support new GSI on Android 10.
// The actual file needs to be under /system/system_ext because it's GSI-specific and does not
// belong to core CSI.
install_symlink {
name: "gsi_skip_mount_compat_symlink",
installed_location: "etc/init/config",
symlink_target: "/system/system_ext/etc/init/config",
}
// init.gsi.rc, GSI-specific init script.
prebuilt_etc {
name: "init.gsi.rc",
src: "init.gsi.rc",
system_ext_specific: true,
relative_install_path: "init",
}
prebuilt_etc {
name: "init.vndk-nodef.rc",
src: "init.vndk-nodef.rc",
system_ext_specific: true,
relative_install_path: "gsi",
}
gsi_symlinks = [
{
target: "/system/system_ext",
name: "system_ext",
},
{
target: "/system/product",
name: "product",
},
{
target: "/odm/odm_dlkm/etc",
name: "odm_dlkm/etc",
},
{
target: "/vendor/vendor_dlkm/etc",
name: "vendor_dlkm/etc",
},
]
android_filesystem_defaults {
name: "android_gsi_defaults",
defaults: [
"system_image_defaults",
"system_ext_image_defaults",
"product_image_defaults",
],
symlinks: gsi_symlinks,
dirs: ["cache"],
deps: [
///////////////////////////////////////////
// gsi_system_ext
///////////////////////////////////////////
// handheld packages
"Launcher3QuickStep",
"Provision",
"Settings",
"StorageManager",
"SystemUI",
// telephony packages
"CarrierConfig",
///////////////////////////////////////////
// gsi_release
///////////////////////////////////////////
"gsi_skip_mount.cfg",
"init.gsi.rc",
"init.vndk-nodef.rc",
// Overlay the GSI specific setting for framework and SystemUI
"gsi_overlay_framework",
"gsi_overlay_systemui",
///////////////////////////////////////////
// VNDK
///////////////////////////////////////////
"com.android.vndk.v30",
"com.android.vndk.v31",
"com.android.vndk.v32",
"com.android.vndk.v33",
"com.android.vndk.v34",
///////////////////////////////////////////
// gsi_product
///////////////////////////////////////////
"Browser2",
"Camera2",
"Dialer",
"LatinIME",
"apns-full-conf.xml",
"frameworks-base-overlays",
],
multilib: {
lib64: {
deps: [
///////////////////////////////////////////
// AVF
///////////////////////////////////////////
"com.android.compos",
"features_com.android.virt.xml",
],
},
both: {
// PRODUCT_PACKAGES_SHIPPING_API_LEVEL_34
deps: ["[email protected]"],
},
},
type: "ext4",
}
// system.img for gsi_{arch} targets
android_system_image {
name: "android_gsi",
defaults: ["android_gsi_defaults"],
enabled: select(soong_config_variable("ANDROID", "PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT"), {
"true": true,
default: false,
}),
deps: [
// Install a copy of the debug policy to the system_ext partition, and allow
// init-second-stage to load debug policy from system_ext.
// This option is only meant to be set by compliance GSI targets.
"system_ext_userdebug_plat_sepolicy.cil",
],
}
// system.img for aosp_{arch} targets
android_system_image {
name: "aosp_system_image",
defaults: ["android_gsi_defaults"],
deps: [
// handheld_system_ext
"AccessibilityMenu",
"WallpaperCropper",
// telephony_system_ext
"EmergencyInfo",
// handheld_product
"Calendar",
"Contacts",
"DeskClock",
"Gallery2",
"Music",
"preinstalled-packages-platform-handheld-product.xml",
"QuickSearchBox",
"SettingsIntelligence",
"frameworks-base-overlays",
// telephony_product
"ImsServiceEntitlement",
"preinstalled-packages-platform-telephony-product.xml",
// more AOSP packages
"initial-package-stopped-states-aosp.xml",
"messaging",
"PhotoTable",
"preinstalled-packages-platform-aosp-product.xml",
"ThemePicker",
] + select(product_variable("debuggable"), {
true: ["frameworks-base-overlays-debug"],
default: [],
}),
enabled: select(soong_config_variable("gsi", "building_gsi"), {
true: true,
default: false,
}),
multilib: {
common: {
deps: select(release_flag("RELEASE_AVATAR_PICKER_APP"), {
true: [
"AvatarPicker", // handheld_system_ext (RELEASE_AVATAR_PICKER_APP)
],
default: [],
}),
},
},
}