Commit Graph

25606 Commits

Author SHA1 Message Date
SzuWei Lin 7240eca439 Merge "Skip generate-common-build-props for older devices without /product" 2021-01-12 01:28:36 +00:00
Peter Collingbourne 4e98e687ec Merge "Remove ANDROID_EXPERIMENTAL_MTE." 2021-01-11 20:42:44 +00:00
Peter Collingbourne fcd9ccf4a1 Remove ANDROID_EXPERIMENTAL_MTE.
Now that the feature guarded by this flag has landed in Linux 5.10
we no longer need the flag, so we can remove it.

Bug: 135772972
Change-Id: I02fa50848cbd0486c23c8a229bb8f1ab5dd5a56f
2021-01-11 10:55:51 -08:00
Treehugger Robot 17652e8981 Merge "Implement fake vendor snapshot" 2021-01-08 00:24:51 +00:00
Bob Badour ddfcfb8e2b Merge changes from topic "revert-1541855-revert-1377717-metalics-BOEMJWNSHV-PBOZXBJQZD"
* changes:
  Revert^2 "Rough-in license metadata support to make."
  Revert^2 "Add variables for notice deps, license kinds etc."
2021-01-07 22:42:08 +00:00
Inseob Kim c497641e6f Implement fake vendor snapshot
A fake vendor snapshot is a vendor snapshot whose prebuilt binaries and
captured headers are all empty. It's much faster to be built than the
real vendor snapshot, so users can exploit the fake vendor snapshot to
reduce the size of vendor snapshot they need, by installing the fake
snapshot and then inspecting the ninja dependencies.

Bug: 157967325
Test: m dist vendor-fake-snapshot
Change-Id: I7fa5d5033a296965b21e840765cc7fe02fd1f44e
2021-01-07 13:56:33 +09:00
Bob Badour 7a95820907 Revert^2 "Rough-in license metadata support to make."
Changed shell script to /bin/sh syntax for portability to mac_os etc.

54066744f0

Change-Id: Ibd472fc1bedfdc228a704108f0280b13ab1c9333
2021-01-06 20:52:43 -08:00
Bob Badour 21bd34fe09 Revert^2 "Add variables for notice deps, license kinds etc."
dcfb9c5ef5

Change-Id: I6a60f55ab0e7013061a695cb1b7c5ffde29577dd
2021-01-06 20:46:49 -08:00
Jose "Pepe" Galmes bee0c588a8 Merge "Support for recovery snapshot." 2021-01-06 21:17:54 +00:00
Bob Badour 2d76d2df84 Merge changes from topic "revert-1377717-metalics-BOEMJWNSHV"
* changes:
  Revert "Add variables for notice deps, license kinds etc."
  Revert "Rough-in license metadata support to make."
2021-01-06 19:17:43 +00:00
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 5e35fecc1d Merge changes from topic "metalics"
* changes:
  Rough-in license metadata support to make.
  Add variables for notice deps, license kinds etc.
2021-01-06 18:08:06 +00:00
Bill Yi 0fc21ee8a5 Merge "Merge RQ1A.210105.003 to aosp-master - DO NOT MERGE" 2021-01-06 13:58:59 +00:00
Inseob Kim 5cbfbf4ca7 Merge "Support building mixed versions of sepolicy" 2021-01-06 05:07:05 +00:00
Bill Yi 8d34c584de Merge RQ1A.210105.003 to aosp-master - DO NOT MERGE
Merged-In: Ic0390b8c19cbe4b38042939647e316901bb4bd17
Change-Id: I4f5adfb48b892311c1bd2dd2a50b670547eb2fb5
2021-01-05 18:30:21 -08:00
Inseob Kim fb7c801b67 Support building mixed versions of sepolicy
Now newer system policy and older vendor policy can be built together by
setting following variables:

- BOARD_SEPOLICY_VERS
- BOARD_REQD_MASK_POLICY (copy of older system/sepolicy/reqd_mask)
- BOARD_PLAT_VENDOR_POLICY (copy of older system/sepolicy/vendor)
- BOARD_(SYSTEM_EXT|PRODUCT)_(PUBLIC|PRIVATE)_PREBUILT_DIRS (copy of
  older system_ext and product policies)

Bug: 168159977
Test: try normal build and mixed build
Test: boot and check selinux denials
Change-Id: I4e2890c96cab69e60c83c60f8c396cfe049ec05b
2021-01-06 10:41:45 +09: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
Jiyong Park cddea9b426 Add TARGET_FORCE_APEX_SYMLINK_OPTIMIZATION
The APEX symlink optimization is a build-time trick to save the
storage/RAM usage of APEX by replacing some files in APEX with symlinks
to the files in the system partition. The optimization however is
automatically turned off for 'updatable: true' APEXes because doing the
optimization for them will hide the sys-health implication until when
the APEXes are built unbundled (i.e. prebuilt) and thus the
optimization is impossible.

TARGET_FORCE_APEX_SYMLINK_OPTIMIZATION forcibly disables the safety net.
When it is set to true, the symlink optimization is done regardless of
the 'updatable' property. This is useful for some of the devices like Go
where most APEXes (even the 'updatable: true' ones) should be
effectively non-updatable.

Bug: 175630508
Test: TARGET_FORCE_APEX_SYMLINK_OPTIMIZATION=true m and check that
updatable APEXes have symlinks to system libs

Change-Id: I261fd4ab2dd8e62ff435306b11168121cbcf662a
2021-01-05 21:03:30 +09:00
Jose Galmes 5cd2547df9 Support for recovery snapshot.
Bug: 171231437
Test: source build/envsetup.sh
Test: ALLOW_MISSING_DEPENDENCIES=true m -j nothing
Change-Id: I6dbcf21ee26c53cd3ac573d118a99d68161aa2c7
2020-12-21 08:32:44 -08:00
Yo Chiang 817e104290 Merge "Add support for packing multiple vendor ramdisks in vendor_boot" 2020-12-21 03:46:05 +00:00
Oleksiy Avramchenko d3d0f7d62e Skip generate-common-build-props for older devices without /product
Common ro.product properties are always generated for the
product partition, even if it is not present. This was introduced
for the R release with Ia88c8efecb18db9c27baa466e492bfd898b581d3
"Generate product build props always" commit.

It violates CDD requirements for the devices which were released
earlier. Add optional parameter to build-properties which allows to
skip the common properies generation and product partition specific
checks to make sure common properties are not generated for
the devices released before R and without product partition.

Test: manual, build product/etc/build.prop for shipping levels 28, 30
      and for the devices with and without product partitions
Bug: 174677451
Change-Id: Ia3275d7229d0a873e0a4f1d1ea7a25c758c85bb9
2020-12-18 00:53:20 +01: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