Devices launching with P VINTF requirements
(including HALs and kernels) will
not be able to update to Android U.
If a device wish to do so, it must update the
vendor / odm partitions to match newer VINTF
requirements.
The list in fcm_execlude is generated with:
system/libvintf/analyze_matrix/hals_for_release.py -d -j --package-only | python3 -m json.tool
in the 3~4 section.
Test: TH
Bug: 205175891
Change-Id: I0f3584f461f9545ca9d3a508baa1e2fc562eabd3
This CL is modified by downstream, so that only the HALs which are
on AOSP are included in the manifest.
Bug: 203103997
Test: boot, vts_treble_vintf_vendor_test
Change-Id: I5c04d26e2b4dd0aac6e7d6ce3c72496081e9539d
Merged-In: I5c04d26e2b4dd0aac6e7d6ce3c72496081e9539d
The current matrix is left in this same CL because this way, downstream
modifications to the current CL will automatically get absorbed into the
level 7 compatibility matrix. A CL on top of this will disable the 7
matrix and then get reverted in the aosp/master..goog/master merge
path.
WARNING: this is not actually the Android S compatibility matrix in this
CL, but rather the AOSP current matrix copied into
compatibility_matrix.6.xml. The actual S compatibility matrix is not
released on AOSP yet. However, this is the parts of it which are
available on AOSP, added here in order to allow Android T development
in a way that will merge happily downstream.
Bug: 178221726
Test: boot device, vts_treble_vintf_vendor_test
Test: inspect matrix by diffing matrix with old matrix using:
m analyze_matrix &&
system/libvintf/analyze_matrix/hals_for_release.py
Change-Id: Id83986fc5089eefc2292f0042753f739f4e01a44
(cherry picked from commit 86a518cfa6)
Merged-In: Id83986fc5089eefc2292f0042753f739f4e01a44
This reverts commit 540dc2771a.
Reason for revert: reland because target-level 2 are fixed
Bug: 163419744
Change-Id: I293852d50de9a4eeaeec6ccf4c0290f1c1b0012d
Devices with legacy/O/O-MR1 VINTF won't be able to
update to Android S. Devices launching with pre-O,
O, or O-MR1 will need to update its VINTF to P and
above to work with Android S.
Test: builds
Bug: 163419744
Bug: 171260360
Bug: 171260613
Bug: 171260670
Bug: 171260715
Change-Id: I2a65f5a24c0731df9c4247bf9dd2616c2279042f
The fact that these variables are 'FILE' instead of 'FILES' is due to
historical changes, but updating comment to reflect this to avoid
confusion.
Bug: N/A
Test: N/A
Change-Id: I92b685eceaab99c7786384c08076dcf3bd087326
Bug: 152310927
Test: build only (b/150215458 for enabling this on cf)
Change-Id: Id33494d8433ba58362c592deb2598fe89127561e
(cherry picked from commit 7f431d264a993ad0eda47299a59da4eb37fc2358)
Merged-In: Id33494d8433ba58362c592deb2598fe89127561e
To signify this as being ready for release.
Bug: 147496715
Test: build & boot cf (which is at target-level 5)
Change-Id: I7bb9d561506849bac2353d9356a6580f6e2393ab
(cherry picked from commit 0e0665efec1b61ef329a370b9483937b7ce9ac9f)
Merged-In: I7bb9d561506849bac2353d9356a6580f6e2393ab
This was used in VINTF OTA metadata in update package, but VINTF metadata
is deleted in update package now.
Test: builds
Change-Id: I831d7547d7aee2ab1d344304e13fb0e1aeeb6bd6
DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE is installed on
/product/etc/vintf. It is considered as a replacement of
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE, so only one
of them may be defined. At build time, things like
SEPolicy versions etc. will be written to
/product/etc/vintf/compatibility_matrix.device.xml, just
like the /system one.
Also, split framework_compatibitity_matrix.xml to
system_compatibility_matrix.xml and product_compatibility_matrix.xml.
The latter two corresponds to matrices installed to respective
partitions only.
Test: build with DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE defined
Test: boot (sanity)
Bug: 120600021
Change-Id: I81f9a8f5028cbb88c45f44df04bccb8ccb483972
* Kernel config requirements are built as
separate rules in kernel/configs. All kernel requirements
(including minlts and configs) are represented there.
* device framework compatibility matrix and final
framework compatibility matrix need special environment
variables, so they are not generic enough to be written
in the soong rule.
See compatibility_matrices/Android.bp for sample usages.
Test: builds and compare output before change
Change-Id: I53bf88362314f96487ca243c9292570b7931f24b
HAL development is starting for Andorid Q, so we need this.
Test: m compatibility_matrix.current.xml
Test: assemble_vintf (but b/78895849)
Test: boot a Pixel device after setting its target-level to 4
and verify that the compatibility check passes, and the
file is in the correct location (system/etc/vintf) and that
the dependencies are setup properly.
Change-Id: I42426d0145a97c719092306abc4f7ce8fa2b51bd
(cherry picked from commit 2d2e2d5c05)
Merged-In: I42426d0145a97c719092306abc4f7ce8fa2b51bd
The system_matrix.xml in compatibility.zip can contain a fake
AVB version as specified by BOARD_OTA_FRAMEWORK_VBMETA_VERSION_OVERRIDE.
This allows OTA to pass compatibility check when the AVB version is
updated *during* the OTA.
Bug: 112291283
Test: specify BOARD_OTA_FRAMEWORK_VBMETA_VERSION_OVERRIDE and
manual test
Change-Id: I53c2de49ee68d6a3afc97201e759be344de6bdff
Enforce only when PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS
is set. If a device does want to require kernel configs, it has to
provide info for new kernel in OTA package.
Bug: 111840577
Test: build and manual inspection
Change-Id: I36b3fcd9d14a9795aaf8d020bba6180c5e8681d1
These are the P requirements of kernel versions:
4.4.107, 4.9.84, 4.14.40.
Test: build and manual inspection of matrices
Test: boots
Test: vts_treble_vintf_test
Change-Id: Ic3cec1395e960000b70c6e001aa4981a9ffcd8c6
Fixes: 72409164
These are to be checked in verify_vintf_matrices at
the end of the build when all of the manifest fragments
are available.
Bug: 66917623
Test: check that verify_vintf_matrices hits these checks
Change-Id: I3f184a05a6a95751384da077257dddcf73d3a6f2
Requirements for legacy/1/2.xml has changed because
android-base.cfg files are changed. These files should
build from an older snapshot of the requirements.
Fixes: 78576469
Test: builds
Test: vts_treble_vintf_test
Change-Id: I908ebbe495ae06f983ef983a1be7937cf6be1c12
Merged-In: I908ebbe495ae06f983ef983a1be7937cf6be1c12
P framework can work with 4.14 kernel. 0 should
be updated to the correct value in a follow-up
patch.
This creates the following tags in all matrices:
Kernel 4.14 common requirements
Kernel 4.14 requirements on CONFIG_ARM is set
Kernel 4.14 requirements on CONFIG_ARM64 is set
Bug: 72409164
Bug: 77886167
Test: manually inspect built matrix
Change-Id: I82168df314ad61b21440ec5c703db8358468e083
Merged-In: I82168df314ad61b21440ec5c703db8358468e083
Requirements for legacy/1/2.xml has changed because
android-base.cfg files are changed. These files should
build from an older snapshot of the requirements.
Fixes: 78576469
Test: builds
Test: vts_treble_vintf_test
Change-Id: I908ebbe495ae06f983ef983a1be7937cf6be1c12
P framework can work with 4.14 kernel. 0 should
be updated to the correct value in a follow-up
patch.
This creates the following tags in all matrices:
Kernel 4.14 common requirements
Kernel 4.14 requirements on CONFIG_ARM is set
Kernel 4.14 requirements on CONFIG_ARM64 is set
Bug: 72409164
Bug: 77886167
Test: manually inspect built matrix
Change-Id: I82168df314ad61b21440ec5c703db8358468e083
This freezes the current compatibility_matrix for
Android P.
Fixes: 68112778
Test: m (assemble_vintf checks devices)
Change-Id: Ida30b7ba7f5df7c2755bd7c737190574b9195a92
Enforce that all hals in the device manifest are
in framework compatibility matrix -- at build time.
Bug: 65028233
Test: build a phone without DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX.
Change-Id: Ibf220f80ca3621ddbf8288d372d5f40336e45248
Merged-In: Ibf220f80ca3621ddbf8288d372d5f40336e45248
Add LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE and
LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE for a more generic case.
Test: m framework_compatibility_matrix.xml -j
Bug: 65028233
Change-Id: Iec142d161daa18122e7a6daebb82c7230cb98ba6
Merged-In: Iec142d161daa18122e7a6daebb82c7230cb98ba6
All "private" environment variables to assemble_vintf
(inserted by the build rules, not build system variables)
should have this prefix (to distinguish against,
e.g. PRODUCT_ENFORCE_VINTF_MANIFEST)
Test: m framework_compatibility_matrix -j
Bug: 65028233
Change-Id: Iaefa88cefc0918fb86235ea6fcd8e367cbd82788
Merged-In: Iaefa88cefc0918fb86235ea6fcd8e367cbd82788
Enforce that all hals in the device manifest are
in framework compatibility matrix -- at build time.
Bug: 65028233
Test: build a phone without DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX.
Change-Id: Ibf220f80ca3621ddbf8288d372d5f40336e45248
Add LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE and
LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE for a more generic case.
Test: m framework_compatibility_matrix.xml -j
Bug: 65028233
Change-Id: Iec142d161daa18122e7a6daebb82c7230cb98ba6
All "private" environment variables to assemble_vintf
(inserted by the build rules, not build system variables)
should have this prefix (to distinguish against,
e.g. PRODUCT_ENFORCE_VINTF_MANIFEST)
Test: m framework_compatibility_matrix -j
Bug: 65028233
Change-Id: Iaefa88cefc0918fb86235ea6fcd8e367cbd82788
... along with compatibility_matrix.device.xml.
The new module cm.device.xml contains the original content
of empty.xml (kernel configs, sepolicy, etc.) as well
as HALs from DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE.
This variable points to a framework compatibility matrix
that contains framework HALs as a vendor extension; all
HALs in this file must be optional.
Bug: 65028233
Test: m framework_compatibility_matrix.xml -j and manual inspection
Test: vts_treble_vintf_test
Change-Id: I94949f62f7f5b332d845f2e7fa4714df7c49ed3e
Merged-In: I94949f62f7f5b332d845f2e7fa4714df7c49ed3e
... along with compatibility_matrix.device.xml.
The new module cm.device.xml contains the original content
of empty.xml (kernel configs, sepolicy, etc.) as well
as HALs from DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE.
This variable points to a framework compatibility matrix
that contains framework HALs as a vendor extension; all
HALs in this file must be optional.
Bug: 65028233
Test: m framework_compatibility_matrix.xml -j and manual inspection
Test: vts_treble_vintf_test
Change-Id: I94949f62f7f5b332d845f2e7fa4714df7c49ed3e
It used BOARD_SEPOLICY_VERS as a workaround, which is incorrect.
Test: m framework_compatibility_matrix.xml -j
Bug: 67920434
Change-Id: I029edd2f573740af272f8b767bb1ec5cc1dc0415
* devices with Shipping FCM version
legacy / O / O-MR1 use 3.18, 4.4, 4.9
* devices with Shipping FCM version P use 4.4 4.9
Bug: 72389707
Test: manual inspection on
$OUT/system/etc/vintf/compatibility_matrix.*.xml
Change-Id: I4f37325c0210f88e9e6d3e7136a82d50da3e93fe