VINTF metadata must be checked by defining
DEVICE_MANIFEST_FILE and friends, instead of being
copied with PRODUCT_COPY_FILES directly.
This can be worked arond with BUILD_BROKEN_VINTF_PRODUCT_COPY_FILES.
Test: Add the following and see errors:
PRODUCT_COPY_FILES += \
device/XXX/manifest.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/vintf/manifest.xml \
device/XXX/manifest.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/vintf/manifest/foo.xml \
device/XXX/manifest.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/vintf/compatibility_matrix.xml \
device/XXX/manifest.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/vintf/manifest.xml \
device/XXX/manifest.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/vintf/manifest/foo.xml \
device/XXX/manifest.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/vintf/compatibility_matrix.xml \
device/XXX/manifest.xml:$(TARGET_COPY_OUT_VENDOR)/etc/vintf/manifest.xml \
device/XXX/manifest.xml:$(TARGET_COPY_OUT_VENDOR)/manifest.xml \
device/XXX/manifest.xml:$(TARGET_COPY_OUT_VENDOR)/etc/vintf/compatibility_matrix.xml \
device/XXX/manifest.xml:$(TARGET_COPY_OUT_VENDOR)/compatibility_matrix.xml \
device/XXX/manifest.xml:$(TARGET_COPY_OUT_ODM)/etc/manifest.xml \
device/XXX/manifest.xml:$(TARGET_COPY_OUT_ODM)/etc/vintf/manifest.xml \
Test: test again with BUILD_BROKEN_VINTF_PRODUCT_COPY_FILES := true
Bug: 147506249
Change-Id: Id75a9690b3c71fdc9a4e1b4e9be2caa63183cf7c
These keymaster libraries constitute a service to vendors
who want/need to implement a keymaster trusted app, or want
to wrap an older keymaster HAL when updating an older device
to a newer Android version. It is not necessary to implement
or link against these libraries to be Android or Treble
compliant. Many vendors have completely independent
implementations of keymaster. Vendors should be able to
provide there own versions of these libraries or ship without
them entirely. /system does not depend on /vendor to have
a compatible version of these libraries.
Test: N/A
Bug: 139955894
Merged-In: I9286b36d26f09e26763df17758f9bec9e2b60ec8
Change-Id: I9286b36d26f09e26763df17758f9bec9e2b60ec8
Rename NativeCoverage to Native_coverage so it can be used as a
product_variable in Soong.
Test: m checkbuild
Change-Id: I86463a5c9b6cf4ba628cbdfb200625dc1e59e559
There are no common users left.
Also add some sanity checks to ensure that people don't attempt to use
LOCAL_IS_HOST_MODULE := true with the BUILD_(STATIC|SHARED)_LIBRARY
module types (I'm not sure it would work, but it definitely wouldn't be
good).
Bug: 130722971
Test: treehugger
Test: check the warnings on the build_test builds from treehugger
Change-Id: I3e571ef80379955149adbceff4500e51dfa016c6
e2fsck_ramdisk is critical for VAB devices to boot
after an OTA in case of corruption in metadata partition.
Test: pass
Bug: 147347110
Change-Id: I44ce456c11961ec978dcb4e68c32d72c1fab0c4d
It is demoted to vendor_available library. Therefore it will be
installed to /vendor/lib[64] instead of /system/lib[64]/vndk.
Bug: 147780271
Test: m
Merged-In: I40a94a3ecf55592b8e2f83f43070fa958c532cef
Change-Id: I40a94a3ecf55592b8e2f83f43070fa958c532cef
(cherry picked from commit 87889b0d4d)
Similar to native:vendor, native:product can use VNDK libs but not
vndk_private.
It is activated when PRODUCT_PRODUCT_VNDK_VERSION is set.
This restores the reverted commit
4e7e76fe5a (aosp/1197274).
The problem of the original CL was assuming no modules have both
LOCAL_PRODUCT_MODULE and LOCAL_USE_VNDK in the old implementations.
But many vendor modules in the targets without setting
PRODUCT_PRODUCT_VNDK_VERSION in old branches had both flags that
caused link failures.
To make it no-op without PRODUCT_PRODUCT_VNDK_VERSION, I defined
LOCAL_USE_VNDK_PRODUCT that is set to true if
PRODUCT_PRODUCT_VNDK_VERSION is defined and LOCAL_PRODUCT_MODULE is
true.
Bug: 146620523
Test: build with PRODUCT_PRODUCT_VNDK_VERSION := current
Change-Id: I344c7dc1c47f08706c101e486ff07c3f10aff8ac
Do not check VINTF integrity / compatibility if
no files are built to /system/etc/vintf/* or /vendor/etc/vintf/*.
Test: m check-vintf-all on gsi_gms_arm64
Test: m check-vintf-all on coral
Fixes: 147749718
Fixes: 148007775
Change-Id: I874d1558e0b891b9d307eec536b1071d382a43f5
Legacy GSIs named with the suffix _ab, ex. aosp_arm64_ab.
It contain some backward-compatible configurations for
devices upgraded from O/O-MR1.
The patch also addes legacy_gsi_release.mk for the special
configuretions of Legacy GSI.
Bug: 144742991
Test: boot aosp_arm64_ab-userdebug on a walleye P (with SPL)
Test: boot aosp_arm64_ab-userdebug on a walleye Q (with SPL)
Change-Id: I61c9e74abcc921ab2cb50bf6f6dce1097a8d6c77
This reverts commit 4e7e76fe5a.
Reason for revert: build breaks (bid: 6147225) and postsubmit test fails.
There are some modules that have both "product_specific: true" and "vendor_available: true", which tags the module as "native:product" unintentionally.
We need to clean up these cases first and revisit this CL.
Bug: 146620523
Bug: 147987741
Change-Id: Ib07543235d72a135b6b732aaa909c147d2df832b
Similar to native:vendor, native:product can use VNDK libs but not
vndk_private.
It is activated when PRODUCT_PRODUCT_VNDK_VERSION is set.
Bug: 146620523
Test: build with PRODUCT_PRODUCT_VNDK_VERSION := current
Change-Id: Icfd94dfc30e77581991799d9e2f408f57da22cea
Use codename.fingerprint format for minSdkVersion if it is unset
in the manifest and
UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true.
BUG: 130541924
It is demoted to vendor_avaialble library. Therefore it will be
installed to /vendor/lib[64] instead of /system/lib[64]/vndk.
Bug: 147780271
Test: m
Change-Id: I9db6147d6e6005177660e56e3ee42475c103d198
The test lists keep getting out of date. Add a per-caller option so that
once they're clean on all builds we can stop them from regressing.
Test: add my_modules_strict := {true,false,,foo} to user
Change-Id: I3e09a8cbe5a07bbbff042b26cea7041c331dde96
This commit fixes the check for redundant files in prebuilts/abi-dumps.
Some ABI dump file names are different from the module names. The list
of existing files should be compared with LSDUMP_PATHS which are the
files generated by soong.
This commit also adds the check for the files in
prebuilts/abi-dumps/platform.
Bug: 147409497
Test: make
Change-Id: If304afb116e9b5d3cb7ceaf74822d5a19ebe1a35
Set PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE true if
1. PRODUCT_SHIPPING_API_LEVEL > 29
2. OVERRIDE_PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE is set
Bug: 147711383
Test: Set PRODUCT_SHIPPING_API_LEVEL higher than 29, m nothing
Change-Id: Ib6aa2fd908b4bc13e3f759a07ece0e60dd3cc12f
Previously, we only check VNDK core and vendor variants are identical
when a VNDK library is not declared to have different variants AND the
target has TARGET_VNDK_USE_CORE_VARIANT set. Therefore, it is fairly
easily to break a TARGET_VNDK_USE_CORE_VARIANT target as it needs to be
tested explicitly.
This change uses the new LOCAL_CHECK_SAME_VNDK_VARIANTS and expands the
check to run regardless of TARGET_VNDK_USE_CORE_VARIANT. Also adds
support for VNDK-in-product.
Bug: 145157349
Test: Build success for targets with and without
TARGET_VNDK_USE_CORE_VARIANT.
Test: With the corresponding change in build/make, remove libbinder
from build/soong/cc/config/vndk.go and check build fails even
when TARGET_VNDK_USE_CORE_VARIANT is not set.
Change-Id: Iec708b971072e6580f77a03e243b30b89b3b054d