Split base.mk into system and vendor parts.
Put all packages that end up on the vendor partition in a separate mk,
to allow creating products with artifact path requirements.
Bug: 80410283
Test: diff product vars with multiproduct_kati
Change-Id: Ia35adaed2c8f9989c180bfdbbeeb2a5ecf634aa5
Merged-In: Ia35adaed2c8f9989c180bfdbbeeb2a5ecf634aa5
diff --git a/target/product/base.mk b/target/product/base.mk
index d65f124..1ecbf4a 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,311 +14,7 @@
# limitations under the License.
#
-# Base modules (will move elsewhere, previously user tagged)
-PRODUCT_PACKAGES += \
- 20-dns.conf \
- 95-configured \
- adb \
- adbd \
- adbd.recovery \
- am \
- android.hardware.cas@1.0-service \
- android.hardware.configstore@1.0-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.mock \
- android.test.runner \
- applypatch \
- appops \
- app_process \
- appwidget \
- 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\
- dnsmasq \
- DefaultContainerService \
- 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_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 \
- 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 \
- selinux_policy \
- sensorservice \
- service \
- servicemanager \
- services \
- settings \
- SettingsProvider \
- sgdisk \
- Shell \
- shell_and_utilities \
- sm \
- 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
-# <pwd.h> and <grp.h>
-PRODUCT_PACKAGES += \
- passwd \
- group \
- fs_config_files \
- fs_config_dirs
-
-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
-
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote32
-PRODUCT_COPY_FILES += system/core/rootdir/init.zygote32.rc:root/init.zygote32.rc
-
-# Ensure that this property is always defined so that bionic_systrace.cpp
-# can rely on it being initially set by init.
-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
-
-# 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)
-
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
- ro.zygote=zygote32
-PRODUCT_COPY_FILES += \
- system/core/rootdir/init.zygote32.rc:root/init.zygote32.rc
-
-$(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 0000000..7cfe90b
--- /dev/null
+++ b/target/product/base_system.mk
@@ -0,0 +1,300 @@
+#
+# 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.mock \
+ android.test.runner \
+ applypatch \
+ appops \
+ app_process \
+ appwidget \
+ 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_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 \
+ 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 \
+ selinux_policy \
+ sensorservice \
+ service \
+ servicemanager \
+ services \
+ settings \
+ SettingsProvider \
+ sgdisk \
+ Shell \
+ shell_and_utilities_recovery \
+ shell_and_utilities_system \
+ sm \
+ 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 \
+
+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
+
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote32
+PRODUCT_COPY_FILES += system/core/rootdir/init.zygote32.rc:root/init.zygote32.rc
+
+# Ensure that this property is always defined so that bionic_systrace.cpp
+# can rely on it being initially set by init.
+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
+
+# 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)
+
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
+ ro.zygote=zygote32
+PRODUCT_COPY_FILES += \
+ system/core/rootdir/init.zygote32.rc:root/init.zygote32.rc
+
+$(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 0000000..efc0b75
--- /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.0-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 baa297c..41881ac 100644
--- a/target/product/core_minimal.mk
+++ b/target/product/core_minimal.mk
@@ -126,4 +126,5 @@
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)