diff --git a/target/product/base.mk b/target/product/base.mk index 53533f967..1ecbf4a01 100644 --- a/target/product/base.mk +++ b/target/product/base.mk @@ -1,5 +1,5 @@ # -# Copyright (C) 2012 The Android Open Source Project +# Copyright (C) 2018 The Android Open-Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,345 +14,7 @@ # limitations under the License. # -PRODUCT_PACKAGES += \ - 20-dns.conf \ - 95-configured \ - adb \ - adbd \ - adbd.recovery \ - am \ - android.hardware.cas@1.0-service \ - android.hardware.configstore@1.1-service \ - android.hardware.media.omx@1.0-service \ - android.hidl.allocator@1.0-service \ - android.hidl.base-V1.0-java \ - android.hidl.manager-V1.0-java \ - android.hidl.memory@1.0-impl \ - android.hidl.memory@1.0-impl.vendor \ - android.policy \ - android.test.base \ - android.test.mock \ - android.test.runner \ - applypatch \ - appops \ - app_process \ - appwidget \ - atest \ - atrace \ - audioserver \ - BackupRestoreConfirmation \ - bcc \ - bit \ - blank_screen \ - blkid \ - bmgr \ - bootanimation \ - bootstat \ - bpfloader \ - bu \ - bugreport \ - bugreportz \ - cameraserver \ - charger \ - cmd \ - com.android.location.provider \ - ContactsProvider \ - content \ - crash_dump \ - CtsShimPrebuilt \ - CtsShimPrivPrebuilt \ - debuggerd\ - DefaultContainerService \ - dnsmasq \ - DownloadProvider \ - dpm \ - dumpstate \ - dumpsys \ - e2fsck \ - ExtServices \ - ExtShared \ - fastboot \ - framework \ - framework-res \ - framework-sysconfig.xml \ - fsck_msdos \ - gatekeeperd \ - gralloc.default \ - healthd \ - hid \ - hwservicemanager \ - idmap \ - ime \ - ims-common \ - incident \ - incidentd \ - incident_helper \ - incident_report \ - init \ - init.environ.rc \ - init.rc \ - input \ - installd \ - ip \ - ip6tables \ - iptables \ - ip-up-vpn \ - javax.obex \ - keystore \ - ld.config.recovery.txt \ - ld.config.txt \ - ld.mc \ - libaaudio \ - libandroid \ - libandroid_runtime \ - libandroid_servers \ - libaudioeffect_jni \ - libaudioflinger \ - libaudiopolicymanager \ - libaudiopolicyservice \ - libbinder \ - libbundlewrapper \ - libc \ - libcamera2ndk \ - libcamera_client \ - libcameraservice \ - libclearkeycasplugin \ - libc_malloc_debug \ - libc_malloc_hooks \ - libcutils \ - libdl \ - libdownmix \ - libdrmclearkeyplugin \ - libdrmframework \ - libdrmframework_jni \ - libdynproc \ - libeffectproxy \ - libeffects \ - libEGL \ - libETC1 \ - libFFTEm \ - libfilterfw \ - libgatekeeper \ - libGLESv1_CM \ - libGLESv2 \ - libGLESv3 \ - libgui \ - libhardware \ - libhardware_legacy \ - libinput \ - libinputflinger \ - libiprouteutil \ - libjnigraphics \ - libjpeg \ - libkeystore \ - libldnhncr \ - liblog \ - libm \ - libmedia \ - libmedia_jni \ - libmediandk \ - libmediaplayerservice \ - libmtp \ - libnetd_client \ - libnetlink \ - libnetutils \ - libneuralnetworks \ - libOpenMAXAL \ - libOpenSLES \ - libpdfium \ - libpixelflinger \ - libpower \ - libradio_metadata \ - libreference-ril \ - libreverbwrapper \ - libril \ - librtp_jni \ - libsensorservice \ - libsigchain \ - libskia \ - libsonic \ - libsonivox \ - libsoundpool \ - libsoundtrigger \ - libsoundtriggerservice \ - libsqlite \ - libstagefright \ - libstagefright_amrnb_common \ - libstagefright_avc_common \ - libstagefright_enc_common \ - libstagefright_foundation \ - libstagefright_omx \ - libstagefright_yuv \ - libstdc++ \ - libsurfaceflinger \ - libsurfaceflinger_ddmconnection \ - libsysutils \ - libui \ - libusbhost \ - libutils \ - libvisualizer \ - libvorbisidec \ - libvulkan \ - libwifi-service \ - libwilhelm \ - linker \ - linker.recovery \ - lmkd \ - locksettings \ - logcat \ - logd \ - lshal \ - mdnsd \ - media \ - media_cmd \ - mediadrmserver \ - mediaextractor \ - mediametrics \ - media_profiles_V1_0.dtd \ - MediaProvider \ - mediaserver \ - mke2fs \ - monkey \ - mtpd \ - ndc \ - netd \ - org.apache.http.legacy \ - perfetto \ - ping \ - ping6 \ - platform.xml \ - pm \ - pppd \ - privapp-permissions-platform.xml \ - racoon \ - recovery \ - resize2fs \ - run-as \ - schedtest \ - screencap \ - sdcard \ - secdiscard \ - SecureElement \ - selinux_policy \ - sensorservice \ - service \ - servicemanager \ - services \ - settings \ - SettingsProvider \ - sgdisk \ - Shell \ - shell_and_utilities \ - sm \ - statsd \ - storaged \ - surfaceflinger \ - svc \ - tc \ - telecom \ - telephony-common \ - thermalserviced \ - tombstoned \ - traced \ - traced_probes \ - tune2fs \ - tzdatacheck \ - uiautomator \ - uncrypt \ - usbd \ - vdc \ - vndservice \ - vndservicemanager \ - voip-common \ - vold \ - WallpaperBackup \ - wificond \ - wifi-service \ - wm \ - -# VINTF data -PRODUCT_PACKAGES += \ - device_compatibility_matrix.xml \ - device_manifest.xml \ - framework_manifest.xml \ - framework_compatibility_matrix.xml \ - -# AID Generation for -# and -PRODUCT_PACKAGES += \ - passwd \ - group \ - fs_config_files \ - fs_config_dirs - -ifeq ($(TARGET_CORE_JARS),) -$(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable) -endif - -# The order matters -PRODUCT_BOOT_JARS := \ - $(TARGET_CORE_JARS) \ - ext \ - framework \ - telephony-common \ - voip-common \ - ims-common \ - android.hidl.base-V1.0-java \ - android.hidl.manager-V1.0-java - -# Add the compatibility library that is needed when org.apache.http.legacy -# is removed from the bootclasspath. -ifeq ($(REMOVE_OAHL_FROM_BCP),true) -PRODUCT_PACKAGES += framework-oahl-backward-compatibility -PRODUCT_BOOT_JARS += framework-oahl-backward-compatibility -else -PRODUCT_BOOT_JARS += org.apache.http.legacy.impl -endif - -PRODUCT_COPY_FILES += \ - system/core/rootdir/init.usb.rc:root/init.usb.rc \ - system/core/rootdir/init.usb.configfs.rc:root/init.usb.configfs.rc \ - system/core/rootdir/ueventd.rc:root/ueventd.rc \ - system/core/rootdir/etc/hosts:system/etc/hosts - -# Add the compatibility library that is needed when android.test.base -# is removed from the bootclasspath. -ifeq ($(REMOVE_ATB_FROM_BCP),true) -PRODUCT_PACKAGES += framework-atb-backward-compatibility -PRODUCT_BOOT_JARS += framework-atb-backward-compatibility -else -PRODUCT_BOOT_JARS += android.test.base -endif - -PRODUCT_COPY_FILES += system/core/rootdir/init.zygote32.rc:root/init.zygote32.rc -PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote32 - -PRODUCT_SYSTEM_DEFAULT_PROPERTIES += debug.atrace.tags.enableflags=0 - -# Packages included only for eng or userdebug builds, previously debug tagged -PRODUCT_PACKAGES_DEBUG := \ - adb_keys \ - iotop \ - logpersist.start \ - micro_bench \ - perfprofd \ - sqlite3 \ - strace - -# The set of packages whose code can be loaded by the system server. -PRODUCT_SYSTEM_SERVER_APPS += \ - SettingsProvider \ - WallpaperBackup - -# Packages included only for eng/userdebug builds, when building with SANITIZE_TARGET=address -PRODUCT_PACKAGES_DEBUG_ASAN := - -PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ - frameworks/base/config/preloaded-classes:system/etc/preloaded-classes) - -# Note: it is acceptable to not have a dirty-image-objects file. In that case, the special bin -# for known dirty objects in the image will be empty. -PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ - frameworks/base/config/dirty-image-objects:system/etc/dirty-image-objects) - -$(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk) +# This makefile is suitable to inherit by products that don't need to be split +# up by partition. +$(call inherit-product, $(SRC_TARGET_DIR)/product/base_system.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/base_vendor.mk) diff --git a/target/product/base_system.mk b/target/product/base_system.mk new file mode 100644 index 000000000..5acc95fe0 --- /dev/null +++ b/target/product/base_system.mk @@ -0,0 +1,335 @@ +# +# Copyright (C) 2018 The Android Open Source Project +# +# 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. +# + +# Base modules and settings for the system partition. +PRODUCT_PACKAGES += \ + 20-dns.conf \ + 95-configured \ + adb \ + adbd \ + adbd.recovery \ + am \ + android.hidl.allocator@1.0-service \ + android.hidl.base-V1.0-java \ + android.hidl.manager-V1.0-java \ + android.hidl.memory@1.0-impl \ + android.hidl.memory@1.0-impl.vendor \ + android.policy \ + android.test.base \ + android.test.mock \ + android.test.runner \ + applypatch \ + appops \ + app_process \ + appwidget \ + atest \ + atrace \ + audioserver \ + BackupRestoreConfirmation \ + bcc \ + bit \ + blank_screen \ + blkid \ + bmgr \ + bootanimation \ + bootstat \ + bpfloader \ + bu \ + bugreport \ + bugreportz \ + cameraserver \ + charger \ + cmd \ + com.android.location.provider \ + ContactsProvider \ + content \ + crash_dump \ + CtsShimPrebuilt \ + CtsShimPrivPrebuilt \ + debuggerd\ + DefaultContainerService \ + dnsmasq \ + DownloadProvider \ + dpm \ + dumpstate \ + dumpsys \ + e2fsck \ + ExtServices \ + ExtShared \ + fastboot \ + framework \ + framework-res \ + framework-sysconfig.xml \ + fsck_msdos \ + gatekeeperd \ + healthd \ + hid \ + hwservicemanager \ + idmap \ + ime \ + ims-common \ + incident \ + incidentd \ + incident_helper \ + incident_report \ + init \ + init.environ.rc \ + init.rc \ + input \ + installd \ + ip \ + ip6tables \ + iptables \ + ip-up-vpn \ + javax.obex \ + keystore \ + ld.config.recovery.txt \ + ld.config.txt \ + ld.mc \ + libaaudio \ + libandroid \ + libandroid_runtime \ + libandroid_servers \ + libaudioeffect_jni \ + libaudioflinger \ + libaudiopolicymanager \ + libaudiopolicyservice \ + libbinder \ + libc \ + libcamera2ndk \ + libcamera_client \ + libcameraservice \ + libc_malloc_debug \ + libc_malloc_hooks \ + libcutils \ + libdl \ + libdrmclearkeyplugin \ + libdrmframework \ + libdrmframework_jni \ + libdynproc \ + libEGL \ + libETC1 \ + libFFTEm \ + libfilterfw \ + libgatekeeper \ + libGLESv1_CM \ + libGLESv2 \ + libGLESv3 \ + libgui \ + libhardware \ + libhardware_legacy \ + libinput \ + libinputflinger \ + libiprouteutil \ + libjnigraphics \ + libjpeg \ + libkeystore \ + liblog \ + libm \ + libmedia \ + libmedia_jni \ + libmediandk \ + libmediaplayerservice \ + libmtp \ + libnetd_client \ + libnetlink \ + libnetutils \ + libneuralnetworks \ + libOpenMAXAL \ + libOpenSLES \ + libpdfium \ + libpixelflinger \ + libpower \ + libradio_metadata \ + librtp_jni \ + libsensorservice \ + libsigchain \ + libskia \ + libsonic \ + libsonivox \ + libsoundpool \ + libsoundtrigger \ + libsoundtriggerservice \ + libsqlite \ + libstagefright \ + libstagefright_amrnb_common \ + libstagefright_avc_common \ + libstagefright_enc_common \ + libstagefright_foundation \ + libstagefright_omx \ + libstagefright_yuv \ + libstdc++ \ + libsurfaceflinger \ + libsurfaceflinger_ddmconnection \ + libsysutils \ + libui \ + libusbhost \ + libutils \ + libvorbisidec \ + libvulkan \ + libwifi-service \ + libwilhelm \ + linker \ + linker.recovery \ + lmkd \ + locksettings \ + logcat \ + logd \ + lshal \ + mdnsd \ + media \ + media_cmd \ + mediadrmserver \ + mediaextractor \ + mediametrics \ + media_profiles_V1_0.dtd \ + MediaProvider \ + mediaserver \ + mke2fs \ + monkey \ + mtpd \ + ndc \ + netd \ + org.apache.http.legacy \ + perfetto \ + ping \ + ping6 \ + platform.xml \ + pm \ + pppd \ + privapp-permissions-platform.xml \ + racoon \ + recovery \ + resize2fs \ + run-as \ + schedtest \ + screencap \ + sdcard \ + secdiscard \ + SecureElement \ + selinux_policy \ + sensorservice \ + service \ + servicemanager \ + services \ + settings \ + SettingsProvider \ + sgdisk \ + Shell \ + shell_and_utilities_recovery \ + shell_and_utilities_system \ + sm \ + statsd \ + storaged \ + surfaceflinger \ + svc \ + tc \ + telecom \ + telephony-common \ + thermalserviced \ + tombstoned \ + traced \ + traced_probes \ + tune2fs \ + tzdatacheck \ + uiautomator \ + uncrypt \ + usbd \ + vdc \ + voip-common \ + vold \ + WallpaperBackup \ + wificond \ + wifi-service \ + wm \ + +# VINTF data +PRODUCT_PACKAGES += \ + device_manifest.xml \ + framework_manifest.xml \ + framework_compatibility_matrix.xml \ + +ifeq ($(TARGET_CORE_JARS),) +$(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable) +endif + +# The order matters +PRODUCT_BOOT_JARS := \ + $(TARGET_CORE_JARS) \ + ext \ + framework \ + telephony-common \ + voip-common \ + ims-common \ + android.hidl.base-V1.0-java \ + android.hidl.manager-V1.0-java + +# Add the compatibility library that is needed when org.apache.http.legacy +# is removed from the bootclasspath. +ifeq ($(REMOVE_OAHL_FROM_BCP),true) +PRODUCT_PACKAGES += framework-oahl-backward-compatibility +PRODUCT_BOOT_JARS += framework-oahl-backward-compatibility +else +PRODUCT_BOOT_JARS += org.apache.http.legacy.impl +endif + +PRODUCT_COPY_FILES += \ + system/core/rootdir/init.usb.rc:root/init.usb.rc \ + system/core/rootdir/init.usb.configfs.rc:root/init.usb.configfs.rc \ + system/core/rootdir/ueventd.rc:root/ueventd.rc \ + system/core/rootdir/etc/hosts:system/etc/hosts + +# Add the compatibility library that is needed when android.test.base +# is removed from the bootclasspath. +ifeq ($(REMOVE_ATB_FROM_BCP),true) +PRODUCT_PACKAGES += framework-atb-backward-compatibility +PRODUCT_BOOT_JARS += framework-atb-backward-compatibility +else +PRODUCT_BOOT_JARS += android.test.base +endif + +PRODUCT_COPY_FILES += system/core/rootdir/init.zygote32.rc:root/init.zygote32.rc +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote32 + +PRODUCT_SYSTEM_DEFAULT_PROPERTIES += debug.atrace.tags.enableflags=0 + +# Packages included only for eng or userdebug builds, previously debug tagged +PRODUCT_PACKAGES_DEBUG := \ + adb_keys \ + iotop \ + logpersist.start \ + micro_bench \ + perfprofd \ + sqlite3 \ + strace + +# The set of packages whose code can be loaded by the system server. +PRODUCT_SYSTEM_SERVER_APPS += \ + SettingsProvider \ + WallpaperBackup + +# Packages included only for eng/userdebug builds, when building with SANITIZE_TARGET=address +PRODUCT_PACKAGES_DEBUG_ASAN := + +PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ + frameworks/base/config/preloaded-classes:system/etc/preloaded-classes) + +# Note: it is acceptable to not have a dirty-image-objects file. In that case, the special bin +# for known dirty objects in the image will be empty. +PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ + frameworks/base/config/dirty-image-objects:system/etc/dirty-image-objects) + +$(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk) diff --git a/target/product/base_vendor.mk b/target/product/base_vendor.mk new file mode 100644 index 000000000..6c2ea15f4 --- /dev/null +++ b/target/product/base_vendor.mk @@ -0,0 +1,40 @@ +# +# Copyright (C) 2018 The Android Open Source Project +# +# 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. +# + +# Base modules and settings for the vendor partition. +PRODUCT_PACKAGES += \ + android.hardware.cas@1.0-service \ + android.hardware.configstore@1.1-service \ + android.hardware.media.omx@1.0-service \ + device_compatibility_matrix.xml \ + fs_config_files \ + fs_config_dirs \ + gralloc.default \ + group \ + libbundlewrapper \ + libclearkeycasplugin \ + libdownmix \ + libeffectproxy \ + libeffects \ + libldnhncr \ + libreference-ril \ + libreverbwrapper \ + libril \ + libvisualizer \ + passwd \ + shell_and_utilities_vendor \ + vndservice \ + vndservicemanager diff --git a/target/product/core_minimal.mk b/target/product/core_minimal.mk index 8f2151794..65a7a2e39 100644 --- a/target/product/core_minimal.mk +++ b/target/product/core_minimal.mk @@ -112,7 +112,8 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ ro.logd.size.stats=64K \ log.tag.stats_log=I -$(call inherit-product, $(SRC_TARGET_DIR)/product/base.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/base_system.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/base_vendor.mk) # Enable CFI for security-sensitive components $(call inherit-product, $(SRC_TARGET_DIR)/product/cfi-common.mk)