Additionaly,
1. Run it as a python_binary_host so that it uses the hermetic python
toolchain
2. Fix an existing bug where if `board_info_txt` was empty, $^ would
evaluate to its own path, and it would try to parse the relevant
configuration from the wrong file
Bug: 196300985
Test: m out/target/product/vsoc_arm64/android-info.txt
Change-Id: Ie1e51a93041591829da4351dd57f37106e15d764
If no board name, output nothing to the android-info.txt.
Currently the output of 'board=' might trigger some parsing error
on some clients.
Bug: 189990989
Test: make out/target/product/generic_arm64/android-info.txt
Change-Id: Ia9aab6c092c07349aa57f0e73f8c69b6e05874c1
In particular, BOARD_SEPOLICY_VERS may be defined in
system/sepolicy/Android.mk, so defer its evaluation.
Test: build with vendor SKU
Bug: 148601741
Change-Id: Iab3f5dcba4edb65deaab38cc2712d22b89e1a83c
Single vendor can support multiple skus with different
capabilities. Add support to define and build sku
based device manifests.
Specify DEVICE manifests in BoardConfig.mk as below.
# installed to /vendor/etc/vintf/manifest_{sku}.xml
DEVICE_MANIFEST_SKUS := sku1 sku2 sku3
DEVICE_MANIFEST_SKU1_FILE := device/foo/bar/manifest_sku1.xml
DEVICE_MANIFEST_SKU2_FILE := device/foo/bar/manifest_sku2.xml
DEVICE_MANIFEST_SKU3_FILE := device/foo/bar/manifest_sku3.xml
Bug: 148601741
Change-Id: Id57d4ad21b0d3edf8d60d07446b6b806c1df20ab
This was used by BUILT_SYSTEM_MATRIX and BUILT_ASSEMBLED_VENDOR_MANIFEST, but they
are deleted now.
Test: builds
Change-Id: Ie7e242dce9c6511b90fcf06ae4b6926b230b9873
Building device_manifest.xml or device_compatibility_matrix.xml only
builds vendor manifest / matrices, but not all device manifest /
matrices (e.g. vintf_fragments, ODM manifest, etc.). Make the name more
accurate.
Test: m check-vintf-all
Change-Id: Ib017507c421355263d53a9e5b357f169c77da36d
These were found when trying to run remotely on RBE with only the
sources depended upon available for each rule.
Bug: 130111713
Test: treehugger
Change-Id: Id763f8fc7dfbe60445f98604db3422147165f537
In BoardConfig.mk, ODM manifests can be specify as follows:
# installed to /odm/etc/vintf/manifest.xml
ODM_MANIFEST_FILES := device/foo/bar/odm_manifest.xml
# installed to /odm/etc/vintf/manifest_baz.xml
ODM_MANIFEST_SKUS := baz
ODM_MANIFEST_BAZ_FILES := device/foo/bar/odm_manifest_baz.xml
This is preferred over PRODUCT_COPY_FILES because it uses
assemble_vintf to check manifest at build time.
Test: builds
Change-Id: I18517b8ba09d3271627d6f21b8250b1bfc9e5db3
Add PLATFORM_SYSTEMSDK_VERSIONS to framework manifest
and BOARD_SYSTEMSDK_VERSIONS to device comp matrix.
Test: m framework_manifest.xml -j
Test: BOARD_SYSTEMSDK_VERSIONS=P m device_compatibility_matrix.xml -j
Bug: 69088799
Change-Id: I0b5ac6f1c2802c353b2989b017c1cdfc9fe27987
Test: libvintf_test
Test: vintf_object_test
Test: build and verify that <vendor-ndk> tags
are in framework manifest and device compatibility
matrix.
Fixes: 36400653
Change-Id: I4d44bff81fecc8fd2f7ab8e15770544b7b85aef9
Introduces DEVICE_FRAMEWORK_MANIFEST_FILE, a list
of files which are added to system/manifest.xml.
This is required for devices to properly display
what hals they implement and also therefore for
them to pass vts_treble_vintf_test since it
now tests manifests based on hal origin.
Notice, this is named singularly to match
DEVICE_MANIFEST_FILE which is also a list of files.
They may be better both named "FILES", but for
consistency and legacy reasons, they can be thought
of as "everything that composes the X manifest
file".
Fixes: 70042049
Test: add system manifest extension which needs it
and it no longer fails vts_treble_vintf_test for
hals being served from the wrong partitions.
Change-Id: I1f59d5c3cadb7a7d4576b73196ca7b41103a49c5
* system_compatibility_matrix/manifest.xml
=> framework_...
* compatibility_matrix/manifest.xml
=> device_...
This is to follow the naming scheme in VINTF
doc.
Test: build all four targets
Change-Id: If5f6a99ded9964f3500c8e5fb97278f8fd0de387
PRODUCT_FULL_TREBLE is being split up into smaller,
more manageable flags.
Bug: 62019611
Test: manual
Change-Id: I046f9eb4099cf441842f3d0e6908d99df063c27e
Test: builds and verify that system/compatibility_matrix.xml
has configs filled.
Test: `vintf | tail` on marlin shows that fwk compat mat
is compatible with runtime info.
Bug: 38324908
Change-Id: I8a35ea582fea1faa083c409ec58813c3ac82dc9c
Merged-In: I8a35ea582fea1faa083c409ec58813c3ac82dc9c
Note that this depends on a change in avbtool:
https://android-review.googlesource.com/#/c/406374/
Bug: 38325029
Test: builds system.img, checks $OUT/system/compatibility_matrix.xml
contains correct vbmeta-version
Change-Id: Iacc0a2687fb39600ad6b8e9cfbfe5c1a3b90b40b
Merged-In: Iacc0a2687fb39600ad6b8e9cfbfe5c1a3b90b40b
Test: test with DEVICE_MANIFEST_FILE variable split
into multiple files
Bug: 38217107
Change-Id: I1146898e4ccf0e8bac7d8541032f160476dbc148
Merged-In: I1146898e4ccf0e8bac7d8541032f160476dbc148
Add compatibility check against device vintf schemas
when framework schemas are built.
Test: build with lunch marlin (that has manifest.xml)
Test: build with mini_emulator_arm64 (that doesn't have manfiest.xml)
Bug: 37321309
Change-Id: I87db152754d0185938bcef0c4395f477b8fd269b
Also renamed matrix.xml to compatibility_matrix.xml.
Test: make and ensure vendor/compatibility_matrix.xml is there.
Test: adb shell vintf (see matrices, compatible = true)
Bug: 37321309
Change-Id: I4ebbedf47a576a50a42df53b72e507ed31ef2e56
Test: builds, and verify that system/manifest.xml is there.
Bug: 36681384 Runtime-Collectible information must be statically
collectible
Bug: 36983271 VINTF checked at build time
Change-Id: Ic3bb50211311fa423a2ad56bd2891cb57d7dc1a5
Test: builds, and verify that vendor/manifest.xml has
sepolicy version.
Bug: 36681384 Runtime-Collectible information must be statically
collectible
Bug: 36983271 VINTF checked at build time
Change-Id: I10e4cff6ed1b78a7cb9239e822ab054e1b90e7d3
The device manifest defines the collection of HAL interfaces exposed by
the vendor. Create a common rule so each target need not define their own.
Bug: 36810913
Test: Ran marlin build and inspected file was copied
Change-Id: I9f53796fdd85e706f91664d275aff6dbd785213f
Don't bother going through the source tree in more circumstances:
all cleaning goals, helping goals, no-deps goals.
Bug: 10244578
Change-Id: Id53a249085c62838e4193962a85e0ac34f46954f
Adds a python script which checks the version of each radio image
added with the new add-radio-file-checked macro against a file
containing sha-1 -> version string mappings and the contents of
board-info.txt, so that the build can fail if board-info.txt and the
OTA images are out of sync.
Change-Id: Icb61dc2adefc240ced9059941582c23b629089c0
We are deprecating use of AndroidBoard.mk. To move add-radio-file to
Android.mk, cleaning INSTALLED_RADIOIMAGE_TARGET may clean the radio
target set by other Android.mks that get included before
target/board/Android.mk.
Bug: 3500660
Change-Id: Iee19c40c18f0e9ec23bad4b6ab0e600756af615a
A long time ago, Android.mk in devices had the same semantics
as the current AndroidBoard.mk. This eventually caused problems
(as it didn't allow having a true Android.mk there) so we switched,
and left an error behind in case people were still using the old
semantics (i.e. having an Android.mk but no AndroidBoard.mk).
Fast forward a few years to the present: we're finding that we want
to get rid of AndroidBoard.mk, so there are devices that will have
Android.mk but not AndroidBoard.mk. As this is becoming a legitimate
case, the error for it is removed, and the include for AndroidBoard.mk
is made optional.
Change-Id: Ic683419d4aaab122259715e0112660d2a6359e91
Non-HTC devices may have multiple files constituting their "radio
image". Generalize the INSTALLED_RADIOIMAGE_TARGET variable a bit:
initially define it as empty, then let AndroidBoard.mk files add to
it. Provide a convenience function add-radio-image for them to call
to add files. Put all those files into the target_files zip for use
in OTA and fastboot package construction.
Note that for HTC devices, this changes the name of the radio image in
the target_files zip: instead of "RADIO/image" it will be
"RADIO/radio.img". Tools that use the target_files zip will need to
be changed.