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
diff --git a/target/product/base_system.mk b/target/product/base_system.mk
new file mode 100644
index 0000000..e258fd3
--- /dev/null
+++ b/target/product/base_system.mk
@@ -0,0 +1,339 @@
+#
+# 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 \
+ libamidi \
+ 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 \
+ sanitizer-status
+
+# 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 := \
+ fuzz \
+ honggfuzz
+
+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)