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.mk b/target/product/base_system.mk
similarity index 91%
rename from target/product/base.mk
rename to target/product/base_system.mk
index 1a47592..e258fd3 100644
--- a/target/product/base.mk
+++ b/target/product/base_system.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,6 +14,7 @@
 # limitations under the License.
 #
 
+# Base modules and settings for the system partition.
 PRODUCT_PACKAGES += \
     20-dns.conf \
     95-configured \
@@ -21,9 +22,6 @@
     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 \
@@ -77,7 +75,6 @@
     framework-sysconfig.xml \
     fsck_msdos \
     gatekeeperd \
-    gralloc.default \
     healthd \
     hid \
     hwservicemanager \
@@ -112,23 +109,18 @@
     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 \
@@ -146,7 +138,6 @@
     libjnigraphics \
     libjpeg \
     libkeystore \
-    libldnhncr \
     liblog \
     libm \
     libmedia \
@@ -164,9 +155,6 @@
     libpixelflinger \
     libpower \
     libradio_metadata \
-    libreference-ril \
-    libreverbwrapper \
-    libril \
     librtp_jni \
     libsensorservice \
     libsigchain \
@@ -191,7 +179,6 @@
     libui \
     libusbhost \
     libutils \
-    libvisualizer \
     libvorbisidec \
     libvulkan \
     libwifi-service \
@@ -243,7 +230,8 @@
     SettingsProvider \
     sgdisk \
     Shell \
-    shell_and_utilities \
+    shell_and_utilities_recovery \
+    shell_and_utilities_system \
     sm \
     statsd \
     storaged \
@@ -262,8 +250,6 @@
     uncrypt \
     usbd \
     vdc \
-    vndservice \
-    vndservicemanager \
     voip-common \
     vold \
     WallpaperBackup \
@@ -273,19 +259,10 @@
 
 # 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
-
 ifeq ($(TARGET_CORE_JARS),)
 $(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable)
 endif
diff --git a/target/product/base_vendor.mk b/target/product/base_vendor.mk
new file mode 100644
index 0000000..6c2ea15
--- /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 8f21517..65a7a2e 100644
--- a/target/product/core_minimal.mk
+++ b/target/product/core_minimal.mk
@@ -112,7 +112,8 @@
     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)