Commit Graph

25584 Commits

Author SHA1 Message Date
Jerome Gaillard
dcfb9c5ef5 Revert "Add variables for notice deps, license kinds etc."
Revert "Export soong license data to make."

Revert "Add ability to declare licenses in soong."

Revert submission 1377717-metalics

Reason for revert: This has broken renderscript_mac target for aosp-master, see b/176909442

Reverted Changes:
I26ac54ca9:Define the standard license_kind rules.
I656486070:Export soong license data to make.
If9d661dfc:Export soong license data to make.
I97943de53:Add ability to declare licenses in soong.
Icaff40171:Rough-in license metadata support to make.
Ib8e538bd0:Add variables for notice deps, license kinds etc.

Change-Id: I1f672e6e8ec48f0141bb4b6cc4eb2efed1eeef6b
2021-01-06 19:00:05 +00:00
Jerome Gaillard
54066744f0 Revert "Rough-in license metadata support to make."
Revert "Export soong license data to make."

Revert "Add ability to declare licenses in soong."

Revert submission 1377717-metalics

Reason for revert: This has broken renderscript_mac target for aosp-master, see b/176909442

Reverted Changes:
I26ac54ca9:Define the standard license_kind rules.
I656486070:Export soong license data to make.
If9d661dfc:Export soong license data to make.
I97943de53:Add ability to declare licenses in soong.
Icaff40171:Rough-in license metadata support to make.
Ib8e538bd0:Add variables for notice deps, license kinds etc.

Change-Id: Iaf2243cba16f6191b022371a14f81ef8194a47d1
2021-01-06 19:00:05 +00:00
Bob Badour
20fc1b3719 Rough-in license metadata support to make.
Change-Id: Icaff40171b94538219a8caa697b182dbdcc8229a
2021-01-05 08:42:48 -08:00
Bob Badour
6421674a39 Add variables for notice deps, license kinds etc.
Change-Id: Ib8e538bd09044a5791083b362d807cd9293833d5
2021-01-05 08:42:48 -08:00
Yo Chiang
817e104290 Merge "Add support for packing multiple vendor ramdisks in vendor_boot" 2020-12-21 03:46:05 +00:00
Martin Stjernholm
d6e9ea97a6 Temporarily set default to keep building with ART sources.
Enables us to switch the default in .bp files, so ART prebuilt builds
can be tested with `m SOONG_CONFIG_art_module_source_build=false`.

Test: m
Test: m SOONG_CONFIG_art_module_source_build=false
Test: `m nothing` on some lunch targets that failed on internal
Bug: 172480615
Change-Id: I78725f77819dc29b47d2438dfe724532e4d2df47
2020-12-17 16:00:27 +00:00
Yo Chiang
d21e7dc833 Add support for packing multiple vendor ramdisks in vendor_boot
Add support for partitioning the vendor_boot kernel modules into
multiple vendor ramdisk fragments. The partition granularity is kernel
module directory. This mechanism builds upon the existing
BOARD_KERNEL_MODULE_DIRS mechanism. For example, say we have three
kernel module directories:

BOARD_KERNEL_MODULE_DIRS := foo bar baz

We can then define a vendor ramdisk fragment:

BOARD_MKBOOTIMG_ARGS += --header_version 4
BOARD_VENDOR_RAMDISK_FRAGMENTS := dlkm_foobar

And let said ramdisk to contain the DLKM directories "foo" and "bar":

BOARD_VENDOR_RAMDISK_FRAGMENT.dlkm_foobar.KERNEL_MODULE_DIRS := foo bar
BOARD_VENDOR_RAMDISK_FRAGMENT.dlkm_foobar.MKBOOTIMG_ARGS := <mkbootimg args>

The built vendor_boot image would contain two ramdisks.
The first one being the "default" ramdisk, which contains DLKM directory
"baz" and the rest of the files that get's installed to
$(TARGET_VENDOR_RAMDISK_OUT).
The second one is the "dlkm_foobar" ramdisk, which contains the two DLKM
directories.

Design doc: go/vendor-boot-v4

Bug: 162864255
Test: Modify BoardConfig.mk to have a product build v4 vendor_boot
Test: Use unpack_bootimg to verify the vendor_boot image
Test: Teach a bootloader how to handle v4 boot image, flash boot &
  vendor_boot and boot device
Change-Id: Ibb1bbd7ebe36430c55ec6c4818c1d3888a319089
2020-12-17 11:07:04 +08:00
Treehugger Robot
98b7ac4602 Merge "Move jacocoagent installation to base_system" 2020-12-17 00:25:50 +00:00
Yifan Hong
42cae00cb0 Move jacocoagent installation to base_system
jacocoagent and its dependencies emits artifacts to system/,
hence it belongs to base_system.mk. It was rather incorrect
to add jacocoagent to EVERY product makefile because those
product makefiles may be enforcing artifact path requirements
(e.g. generic_ramdisk.mk).

Test: EMMA_INSTRUMENT=true m nothing
Bug: 175605139
Bug: 173742069
Change-Id: If9cb93ab8fd69d11e764ab830dc791bbe6106cf5
2020-12-16 09:50:42 -08:00
Anton Hansson
ed3b56ebca Merge "Make TARGET_ARCH optional in BoardConfig" 2020-12-16 11:48:04 +00:00
Anton Hansson
e47d6e4a8c Merge "Add make support for Aml_abis and Ndk_abis options" 2020-12-16 11:38:49 +00:00
Anton Hansson
3ab1add1f2 Merge "Reformat _board_strip_readonly_list assigment" 2020-12-16 11:12:32 +00:00
Anton Hansson
41f9cc2c6b Make TARGET_ARCH optional in BoardConfig
Not setting TARGET_ARCH is ok if TARGET_ARCH_SUITE is set instead. Skip
certain TARGET_ARCH-specific steps of the config:
- don't run the 'select' steps to figure out cpu flags
- don't generate dexopt config for TARGET_ARCH

Bug: 174315599
Test: lunch <product that sets TARGET_ARCH_SUITE but not TARGET_ARCH>
Change-Id: I74a9e71d0cc5c7f74d3b10b1c8bb89682c096d7c
2020-12-15 12:46:51 +00:00
Anton Hansson
5e05b8ef31 Add make support for Aml_abis and Ndk_abis options
Add a new TARGET_ARCH_SUITE which, when set to 'mainline_sdk' or 'ndk',
sets `Aml_abis: true` in soong.variables.

This is required to enable removing the custom soong.variables that
are being maintained for the ndk and mainline sdk builds.

Bug: 174315599
Test: TARGET_ARCH_SUITE=mainline-sdk m nothing; inspect soong.variables
      (ditto for ndk)
Change-Id: Ib651a637457310270840d721cdccf50bede3ee58
2020-12-15 12:46:46 +00:00
Anton Hansson
b7b3d8ead6 Reformat _board_strip_readonly_list assigment
Allows for adding comments between variable definitions. This matches
the style in product.mk

Test: m nothing
Change-Id: Icc1e3d635a885000c49371997a55001739c02587
2020-12-15 12:45:37 +00:00
Treehugger Robot
dec924e081 Merge "Revert^2 "Always turn on compatible property"" 2020-12-15 12:00:10 +00:00
Treehugger Robot
a25382e565 Merge "Allows GSI AVB keys on vendor boot even when not building vendor boot." 2020-12-15 02:48:43 +00:00
JaeMan Park
c21cde1007 Merge "Add java_sdk_library enforcement flag verification" 2020-12-15 00:00:33 +00:00
JaeMan Park
d06fe704b3 Merge "Add java_sdk_library enforcement flags to product.mk" 2020-12-15 00:00:05 +00:00
Diego Vela
f03fa0c5f2 Revert "Make ab_ota_partitions read only"
This reverts commit 929f1ad1d6.

Reason for revert: Caused a build break
Bug: 175633875

Change-Id: I6cb518a574c865a2e2c4ecdc4203dfa03bbf05d9
2020-12-14 23:08:31 +00:00
Daniel Norman
6af48c8312 Allows GSI AVB keys on vendor boot even when not building vendor boot.
This allows system-only builds (which disable vendor images) to inherit
from device makefiles that normally place GSI AVB keys on vendor boot.

Bug: 175594737
Test: lunch system-only build, m, observe warning not failure
Change-Id: Ib6c199d0a47b3b3be2143241d83ab586966cfd1e
2020-12-14 13:43:13 -08:00
Tianjie
929f1ad1d6 Make ab_ota_partitions read only
Now that we have moved the AB_OTA_BOOTLOADER_PARTITIONS &
AB_OTA_RADIO_PARTITIONS to BoardConfig, we can make the
ab_ota_partitions read only.

Eventually, the variable will be exposed as a product build
property. And we want its value to stay unchanged during the
build process.

Bug: 162148770
Test: build coral
Merged-In: I37ab41cf2ed7bc9cb6db6b4700c03ab48ed31fff
Change-Id: Ied45347c3e56e56d1372d51b98d7e52b02ff4755
(cherry-picked from commit 6e93f484ac)
2020-12-14 15:47:51 +00:00
Yifan Hong
e086ae045e require-artifacts-in-path does not require PRODUCT_NAME/BRAND.
Also make generic_ramdisk.mk not to define them.

Test: m nothing
Change-Id: I5eff49abebe4194e3eba78557e5765e6ef2231e6
2020-12-10 13:18:29 -08:00
Anton Hansson
63d3835f4a Merge changes Ib2a4a208,Ic8235912
* changes:
  Set allow list for generic ramdisk
  Add a "relaxed" mode for require-artifacts-in-path
2020-12-10 12:20:26 +00:00
Jaegeuk Kim
863a120b51 Merge "Enable system partition compression" am: 74e57f6482
Original change: https://android-review.googlesource.com/c/platform/build/+/1520098

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7b50510b61129704f71ab4d9c474d74f4739aef0
2020-12-10 00:58:46 +00:00
Jaegeuk Kim
74e57f6482 Merge "Enable system partition compression" 2020-12-10 00:41:04 +00:00
Anton Hansson
d1258eb2f8 Add a "relaxed" mode for require-artifacts-in-path
This is useful when a makefile will produces different artifacts
depending on other configuration. Having an allow-list that's too strict
can make it a little  difficult to make progress.

Test: m nothing in follow-up
Change-Id: Ic8235912bcbaa8e249a752e042d4f42be4466e34
(cherry picked from commit 0b6fde311ac6bc2b64e69858382117a362645502)
2020-12-09 16:30:43 +00:00
Mohammad Islam
b2568c4731 Merge "Add a product flag that will enable compressed APEX on device" am: 0a246e5e31
Original change: https://android-review.googlesource.com/c/platform/build/+/1512289

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3f1f01b0854b4e8209e82f0027a5ce419ecc50fd
2020-12-09 14:49:32 +00:00
Mohammad Islam
0a246e5e31 Merge "Add a product flag that will enable compressed APEX on device" 2020-12-09 14:34:42 +00:00
Anton Hansson
23f4dafb47 Merge "Move artifact path requirement logic to a separate file" am: 6e579c1347
Original change: https://android-review.googlesource.com/c/platform/build/+/1517924

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3593e2076a4fb89ca849a55e6af119856134fb19
2020-12-09 13:57:08 +00:00
Anton Hansson
6e579c1347 Merge "Move artifact path requirement logic to a separate file" 2020-12-09 13:12:36 +00:00
Anton Hansson
314a943bd3 Merge "Move rule for certificate_violation_modules.txt" am: 63722db3db
Original change: https://android-review.googlesource.com/c/platform/build/+/1517923

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If863889189d69fd26c327480c7d8943ec77afebb
2020-12-09 12:34:08 +00:00
Anton Hansson
63722db3db Merge "Move rule for certificate_violation_modules.txt" 2020-12-09 12:07:15 +00:00
Rupert Shuttleworth
8d22aadd1b Merge "Add missing buildinfo dependencies." am: 9204fde7cc
Original change: https://android-review.googlesource.com/c/platform/build/+/1520200

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I33af92b87ae8e8f32aa893d97b5dece0345c7afe
2020-12-09 08:21:06 +00:00
JaeMan Park
33d9aad0ba Add java_sdk_library enforcement flags to product.mk
Add flags that is used for java_sdk_library enforcement
to product.mk.

PRODUCT_ENFORCE_INTER_PARTITION_JAVA_SDK_LIBRARY is flag
for enabling java_sdk_library enforcement.

PRODUCT_INTER_PARTITION_JAVA_LIBRARY_ALLOWLIST is allowlist
for java_sdk_library enforcement, and it is consists of name
of dependency modules.

Test: m nothing
Bug: 168180538
Change-Id: I8743d9475be53b16f2c9e43d731c576bc56ddfbc
2020-12-09 14:02:38 +09:00
JaeMan Park
aa7b03b970 Add java_sdk_library enforcement flag verification
Raise build error when PRODUCT_ENFORCE_INTER_PARTITION_JAVA_SDK_LIBRARY
is true while BOARD_VNDK_VERSION is not set because
PRODUCT_ENFORCE_INTER_PARTITION_JAVA_SDK_LIBRARY doesn't have any
meaning in that case.

Test: m nothing
Bug: 168180538
Change-Id: Ied2f99763a7cce7674ad50867403a66b18968071
2020-12-09 13:30:51 +09:00
Rupert Shuttleworth
3b37bc8986 Add missing buildinfo dependencies.
Test: Manually via USE_BAZEL=1 m dist (fixes a failure).
Change-Id: Ideb8dfd2e13932be5dcdef780888ffd602b15bd2
2020-12-09 04:24:15 +00:00
Robin Hsu
3e51f4234c Enable system partition compression
* Prerequisites: external/f2fs-tools: sload compression support
* Must work with corresponding changes in system/extras repository
* If Board config does not change, it falls back to old behavior,
  i.e. no compression for the system partition
* Kernel f2fs compression support is a prerequisite if the Board config
  enables the compression (see below)
* Necessary board config change
 (e.g. device/<vendor>/<product>/BoardConfig-common.mk)

BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := f2fs
BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 200000000
BOARD_SYSTEMIMAGE_FILE_SYSTEM_COMPRESS := true
BOARD_SYSTEMIMAGE_F2FS_SLOAD_COMPRESS_FLAGS := <sload compress sub-options>

Setting BOARD_SYSTEMIMAGE_FILE_SYSTEM_COMPRESS to true enables both the
compression support when the initial empty file system be made (mkfs.f2fs)
and the compression flag (-c) when the system image files be side-loaded
by sload.

Sload compress sub-options (i.e. options other than -c) will be provided
by BOARD_SYSTEMIMAGE_F2FS_SLOAD_COMPRESS_FLAGS.   If it is not given, or
is empty, the default sub-options will be used

Please refer to the sload.f2fs manual page.

Setting BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE to f2fs is trivially necessary.

* File system table (fstab), notably the file 'fstab.hardware', should
  also changed:
  - The file type must be changed to f2fs
  - Perhaps also other f2fs-specific options

Bug: 170918499
Test: Pixel4a userdebug build (from build id 6918751)
Signed-off-by: Robin Hsu <robinhsu@google.com>
Change-Id: Id9d67b5cb35dc806e06ff1320e89114abc996a28
2020-12-09 07:24:55 +08:00
Anton Hansson
fae0f97114 Move artifact path requirement logic to a separate file
main.mk was a bit cluttered/difficult to follow wth all the indents. Put
the logic in a separate file instead.

Test: m nothing
Change-Id: I545bcd117a6bcd33b520ad279be1bab9b2d89393
2020-12-08 21:13:00 +00:00
Anton Hansson
cd8fa36cbb Move rule for certificate_violation_modules.txt
It was in the middle of some other logic in main.mk

Put it in Makefile instead next to the other "information" dist txt
files.

Test: make and diff certificate_violation_modules.txt
Change-Id: I5b73a0f89ccf3de69e7608a0568d2b4b6f37e98c
2020-12-08 21:12:36 +00:00
Treehugger Robot
1430a0bc4f Merge "Enable debug ramdisk for vendor_boot with recovery" am: b5e9882939
Original change: https://android-review.googlesource.com/c/platform/build/+/1518219

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib87ab1869bcacfbc99edb5d4f760e09a04447d8b
2020-12-08 00:52:22 +00:00
Treehugger Robot
b5e9882939 Merge "Enable debug ramdisk for vendor_boot with recovery" 2020-12-08 00:34:22 +00:00
Treehugger Robot
e1365ce0b1 Merge "Add option include a pvmfw partition" am: d7bf548967
Original change: https://android-review.googlesource.com/c/platform/build/+/1513771

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ibd4f75d386f47e5a88d56d7b8039d5eb8c2018d3
2020-12-07 22:48:16 +00:00
Treehugger Robot
d7bf548967 Merge "Add option include a pvmfw partition" 2020-12-07 22:20:02 +00:00
Julien Desprez
9e0cc331de Merge "Remove unit tests jar from suites" am: dbafb584dc
Original change: https://android-review.googlesource.com/c/platform/build/+/1510313

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8bbd7863b5932fb2d07d03911ccac4ae269f705f
2020-12-07 22:04:36 +00:00
Julien Desprez
dbafb584dc Merge "Remove unit tests jar from suites" 2020-12-07 21:32:10 +00:00
Andrew Scull
9b103e49e9 Add option include a pvmfw partition
Protected KVM relies on protected VM firmware (pvmfw) to bootstrap the
trust in protected VMs. This firmware is AVB protected and stored in the
pvmfw partition.

Test: build a target with BOARD_PREBUILT_PVMFWIMAGE set, saw the image
      included in the product files and used avbtool to check the footer
      and vbmeta.img details.
Bug: 171280178
Change-Id: I4d6a1819f307c77ca60c0dd3dff39ee28cece4f6
2020-12-07 12:31:23 +00:00
Xin Li
1f72a04078 DO NOT MERGE - Merge RQ1A.201205.011
Bug: 172690556
Merged-In: I61eac7915ab4b23227c3263d3f33a0f71dc3a107
Change-Id: I8deb9ddf5d03c65dab3bdf097339e8af84a9f1b5
2020-12-07 00:17:57 -08:00
Will McVicker
8f52a568f0 Enable debug ramdisk for vendor_boot with recovery
The debug vendor boot image needs to include the debug ramdisk in order
to retain adb root. So make sure this still happens when recovery is
moved to the the vendor boot image.

Bug: 172510680
Test: verify adb root when using vendor_boot-debug.img
Change-Id: I20fe27635dd33e4d8a59e873e704891de223204b
2020-12-04 11:08:32 -08:00
Yo Chiang
b179ae612d Merge "Add phony target to check all PCF ELF prebuilts" am: ad4dae71cf
Original change: https://android-review.googlesource.com/c/platform/build/+/1311493

Change-Id: I9b97245b1b1a894cd87b396bd0ef4bd1aab46290
2020-12-04 04:11:48 +00:00