Commit Graph

59618 Commits

Author SHA1 Message Date
Chen Xu
ced4dd2d99 Do not include CellBroadcastLegacy for Go devices
CellBroadcastLegacy app is for migrating data from pre-mainline world.
Go devices do not take mainline module, thus excluding this apk
from build. Otherwise, both CellBroadcastLegacy app and
CellBroadcastAppPlatform will have the same package name
com.android.cellbroadcastreceiver

Bug: 157702986
Test: build go target:  walleye_svelte-userdebug
Change-Id: I254a8af334580b79ffdbc9e8bfa95b23500f507e
2020-06-18 15:41:23 -07:00
TreeHugger Robot
2e2cb808cb Merge "Add test config template for sh_test." into rvc-dev 2020-06-15 16:37:06 +00:00
Dan Willemsen
458af2daa1 Fix dependencies on INSTALLED_RECOVERYIMAGE_TARGET
Instead of copying the logic (which led to divergences), use the
same list of dependencies for both users of build-recoveryimage-target

Bug: 158774198
Test: treehugger
Test: build-coral.ninja is the same before/after
Change-Id: I8f8c006432f3b8120df1f39c98009155fdff32ad
Merged-In: I8f8c006432f3b8120df1f39c98009155fdff32ad
(cherry picked from commit d120ac68fa)
2020-06-12 12:26:37 -07:00
frankfeng
e56f07725b Add test config template for sh_test.
Verification of compatibility with existing sh_test targets is in progress.

Bug: 148805488
Bug: 151761373

Test: make
Test: unit tests
Test: verified test config auto-gen for bc-tests and toybox-tests
Change-Id: Id8ce5dd0723e8c95921e2e20bff72fc828d47d87
Merged-In: Id8ce5dd0723e8c95921e2e20bff72fc828d47d87
2020-06-11 22:57:48 +00:00
TreeHugger Robot
0ffb2a8265 Merge "iorap: Move the pinner property to product/build.prop" into rvc-dev 2020-06-11 22:31:22 +00:00
TreeHugger Robot
c59ba8dab0 Merge changes If99c31cc,I41fb7611,Ia2ec8b29 into rvc-dev
* changes:
  base_rules.mk optimizations
  More performance improvements
  Rewrite test data logic to make it faster
2020-06-11 21:33:15 +00:00
TreeHugger Robot
1455b76f9f Merge "Add LZ4 support to the release tools" into rvc-dev 2020-06-11 18:41:19 +00:00
J. Avila
d30b751838 Add LZ4 support to the release tools
The core android build platform has changed to add support for LZ4
compression for ramdisks, but the release tools were not. Fix this.

Bug: 156129966
Merged-In: I39680b91930d2d3cbd0cd565beb78e1ee699397e
Change-Id: I39680b91930d2d3cbd0cd565beb78e1ee699397e
2020-06-11 15:22:04 +00:00
Dan Willemsen
91afa94150 base_rules.mk optimizations
A few more misc improvements that I found while analyzing the
performance of base_rules.mk.

This brings an aosp-master/aosp_crosshatch-userdebug kati run from 33.3s
to 28.6s

Bug: 158488548
Test: build-aosp_crosshatch.ninja is the same before/after
Change-Id: If99c31cc7b5d7133d70eb644c6095f19060b71e5
Merged-In: If99c31cc7b5d7133d70eb644c6095f19060b71e5
(cherry picked from commit 8447b8116a)
2020-06-10 17:18:20 -07:00
Dan Willemsen
74a1a483fc More performance improvements
Instead of using `x := $(x) foo`, make sure `x` is initialized first,
then use `x += foo`.

For a aosp-master/aosp_crosshatch-userdebug build, this takes the build
from 49s to 33s (no significant difference in peak memory)

Bug: 158488548
Test: build-aosp_crosshatch.ninja is the same before/after
Change-Id: I41fb7611030dd3ba824f896a9c9eadbdd218f464
Merged-In: I41fb7611030dd3ba824f896a9c9eadbdd218f464
(cherry picked from commit fd1e67b8ce)
2020-06-10 17:18:13 -07:00
Dan Willemsen
e88ef9299a Rewrite test data logic to make it faster
It turns out we have a few tests with thousands of test data files,
which this logic does not handle very well. Just switching from `x :=
$(x) ...` to `x += ...` accomplishes the majority of these gains, but I
rewrote the logic to be less function-call+eval based to hopefully make
it easier to understand.

For an aosp-master/aosp_coral-eng build, this brings the time spent in
this logic from 7.6s to 0.3s (total kati runtime of 54s to 46s). Kati's
peak memory use (maxrss) also shrunk from 6.1GB to 3.8GB.

Bug: 158488548
Test: build-aosp_coral.ninja is the same before/after
Change-Id: Ia2ec8b29b5c1dd12fa7ea10b4f80fe802c692725
Merged-In: Ia2ec8b29b5c1dd12fa7ea10b4f80fe802c692725
(cherry picked from commit c5ec8e95bc)
2020-06-10 17:18:05 -07:00
Paul Scovanner
fff4e1f5a4 Update Security String to 2020-08-05 am: d4b7f4de4b
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/11826025

Change-Id: I79b57da2c0387b33868dd36d3881d1d9ee3801b7
2020-06-10 21:01:31 +00:00
Paul Scovanner
d4b7f4de4b Update Security String to 2020-08-05
Bug: 158587413
Change-Id: I5f0b271fb5302e8c72024b49fb1a2ae5120821e0
2020-06-10 18:35:18 +00:00
Paul Scovanner
a26a678246 Update Security String to 2020-08-01 am: a4d5641a34
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/11812416

Change-Id: Ic81f52a8bea6a2cba37f62ae00f42a8a130cf1b4
2020-06-10 16:56:15 +00:00
Paul Scovanner
a4d5641a34 Update Security String to 2020-08-01
Bug: 158587413
Change-Id: I21b16ed52ef9c7c26a671692c66b06855b147b16
2020-06-09 19:41:58 +00:00
yawanng
74800141bf iorap: Move the pinner property to product/build.prop
/system/build.prop must not be device-specific, it's for all Android targets.
The pinner.pin_camera=true is device-specific, so move it to /product/build.prop.

Bug: 158366075
Test: Make
Change-Id: Ie5cd37e09fe1d589ea619e6bb5edf807211d047f
2020-06-09 16:43:01 +00:00
TreeHugger Robot
7a726856a9 Merge "Use APK CtsShim prebuilts for flattened apex." into rvc-dev 2020-06-09 11:14:45 +00:00
Josh Gao
76e974567c Rename adbd_system_binaries to adbd_system_api.
This is going to include libraries as well, so rename to reflect this.

Bug: http://b/157709367
Test: treehugger
Change-Id: I94625a6343e18032d8607cf8c58bde49d64db85c
(cherry picked from commit 67e0295833)
2020-06-08 14:07:02 -07:00
Dario Freni
b586dba65a Use APK CtsShim prebuilts for flattened apex.
Fix: 158036322
Test: built flame-userdebug with m OVERRIDE_TARGET_FLATTEN_APEX=true, ran
atest CtsAppSecurityHostTestCases:android.appsecurity.cts.PrivilegedUpdateTests#testDisableUpdatedSystemApp
and verified that the cts shim apex is not installed

Change-Id: Icc52500cfc0a555e11d1a467b2da0649c7f5d31f
Merged-In: Icc52500cfc0a555e11d1a467b2da0649c7f5d31f
(cherry picked from commit c9a786e5f77a5c06da6c07f718e4a7619a75d9e6)
2020-06-08 18:44:52 +00:00
Steve Muckle
d03ec51f38 fix spurious / on toplevel kernel module installations
When kernel modules are being put directly into lib/modules/ (as opposed
to lib/modules/<subdir>/), the empty part of the destination path causes
a target containing a redundant /. If the target is also added elsewhere
in the build without the redundant /, then rule merging will miss it,
and a build error will occur.

Bug: 158158635
Change-Id: I797addce760f4886166efa283302a53783581625
Merged-In: I797addce760f4886166efa283302a53783581625
2020-06-05 18:56:41 -07:00
TreeHugger Robot
849d4b3f27 Merge "Add tradefed-test-framework to the suites exported jar" into rvc-dev 2020-06-05 23:15:56 +00:00
Julien Desprez
7859593560 Add tradefed-test-framework to the suites exported jar
New jar that needs to be packaged for suites.

Test: make cts
Bug: 149758913
Bug: 156482663
Merged-In: If29508f3dd30939be603ed03f2536c960ca40d92
Change-Id: If50a1e76ffdb4651bf004b26eb111e113569c6c4
2020-06-05 23:08:17 +00:00
Sasha Smundak
e5d502d3e5 [automerger skipped] Implement android_app_set module. am: eefa8e954e am: 8ae0c83259 -s ours
am skip reason: Change-Id I66edc5b423898a11dbba1c3d9796c7bd4d6b4428 with SHA-1 60d03bd7db is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/11718673

Change-Id: Ibc9321288f6abf0712a7c722d6451d8ce3c4097f
2020-06-05 17:57:21 +00:00
Sasha Smundak
8ae0c83259 Implement android_app_set module. am: eefa8e954e
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/11718673

Change-Id: I661aed2c61ac4123c0e9a3d02c9da72ef3fac754
2020-06-05 17:38:07 +00:00
Pierre Couillaud
bb726614db Strip debug symbols from modules (fixup)
allow to also skip the stripping of the modules present in vendor
ramdisk when the BOARD configuration is set to skip the strip step.

there is also a shortcoming of this functionality: it currently assumes
the modules to strip are all created equal against the same arch in
particular, however this does not work for kernel modules which are
for mixed mode platforms, as example {kernel,android} == {aarch64,armv7}
because it will select the "android" mode strip which is unaware of the
kernel mode architecture.

Bug: 156395749
Bug: 155193290
Change-Id: I35ef51845224e94e3e253acdeb6bb14b990a401b
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
2020-06-03 23:44:37 +00:00
Steve Muckle
f6ce461f1f refactor kernel module build, add version support
Refactor the build support for kernel modules. This refactoring is
leveraged to add support for directories of kernel modules in each
partition. To add a directory of kernel modules, define
BOARD_KERNEL_MODULE_DIRS to include the directory name, for example:

BOARD_KERNEL_MODULE_DIRS := 5.4

The build will then check all the usual kernel module related macros
with an extension of _5.4, for example you can define

BOARD_VENDOR_KERNEL_MODULES_5.4 := <modules to copy>
BOARD_VENDOR_KERNEL_MODULES_ARCHIVE_5.4 = <path to archive file>
BOARD_VENDOR_KERNEL_MODULES_LOAD_5.4 := <modules for load list>

Bug: 157645635
Change-Id: I1687d0ec85c1dcf21350350623b4689aba3f6717
Merged-In: I1687d0ec85c1dcf21350350623b4689aba3f6717
2020-06-03 11:18:10 -07:00
Steve Muckle
7576d5e131 move BOARD_RECOVERY_KERNEL_MODULES_LOAD default
Moving this makes each of the partition's kernel module Makefile
generation more similar, enabling a forthcoming cleanup/refactoring.

If recovery-is-boot and there are kernel modules defined in
BOARD_GENERIC_RAMDISK_KERNEL_MODULES, those kernel modules will
now be included in the default assignment to
BOARD_RECOVERY_KERNEL_MODULES_LOAD. If this is not desired then
BOARD_RECOVERY_KERNEL_MODULES_LOAD may simply be set to
BOARD_RECOVERY_KERNEL_MODULES (or a custom list of recovery kernel
modules to load).

Bug: 157645635
Change-Id: Ia1392b7d20d07cee75420edd95dcee1dc825516e
Merged-In: Ia1392b7d20d07cee75420edd95dcee1dc825516e
2020-06-03 11:17:32 -07:00
Steve Muckle
2319129a88 move module list creation outside conditionals
Currently the two special-case calls to create just a module load list
(as opposed to copying a set of modules and creating a module load list)
are inside checks that the related board macro for the module set is not
empty.

While it would be incorrect to create a non-empty module load list with
an empty set of modules, this error would quickly surface at runtime.
More importantly, moving these out will permit refactoring this code to
clean it up.

Bug: 157645635
Change-Id: I199788d49072d4c59737b3ef2c75546852cf3e36
Merged-In: I199788d49072d4c59737b3ef2c75546852cf3e36
2020-06-03 11:16:31 -07:00
Steve Muckle
708435b557 fix reference to BOARD_ODM_MODULES_LOAD
This check is meant to initialize BOARD_ODM_KERNEL_MODULES_LOAD to
BOARD_ODM_KERNEL_MODULES if BOARD_ODM_KERNEL_MODULES_LOAD is empty.

Bug: 157645635
Change-Id: I9c8ac0e64bb002e926d15b446a63801d7cfa9911
Merged-In: I9c8ac0e64bb002e926d15b446a63801d7cfa9911
2020-06-03 11:15:52 -07:00
Sasha Smundak
eefa8e954e Implement android_app_set module.
Bug: 152319766
Test: manual and builtin
Change-Id: I66edc5b423898a11dbba1c3d9796c7bd4d6b4428
Merged-In: I66edc5b423898a11dbba1c3d9796c7bd4d6b4428
2020-06-03 09:50:48 -07:00
Anton Hansson
a973323a9d Merge "releasetools: Add signapk as required modules" into rvc-dev 2020-06-01 17:53:21 +00:00
J. Avila
5ea1cf103f Merge "Add build support for LZ4 ramdisks" into rvc-dev 2020-05-31 15:55:08 +00:00
J. Avila
9600ace371 Add build support for LZ4 ramdisks
Ramdisks are currently compressed using gzip, which is generally
smaller, but slower to decompress than lz4. Provide an option for an
lz4 scheme to reduce the time taken to unpack initramfs during boot.

Bug: 156129966
Signed-off-by: J. Avila <elavila@google.com>
Merged-In: Iac9538e6ee6ec51e6b487de2101f53bb5d9c54c8
Change-Id: Iac9538e6ee6ec51e6b487de2101f53bb5d9c54c8
2020-05-29 22:46:31 +00:00
Baligh Uddin
1325034c81 Add apksigner to otatools.zip
BUG: 157735036
Test: Local build.
Change-Id: I3778021f94236b0ac09a33149f2872fb5f740be2
Merged-In: I95c7001ad520d6b4a415d21ffdef55152b0e82b2
2020-05-29 21:49:39 +00:00
TreeHugger Robot
270308af15 Merge "iorap: Add a config mk for large memory device." into rvc-dev 2020-05-29 21:27:26 +00:00
Yan Wang
ef60ddcf6a iorap: Add a config mk for large memory device.
Pinner for camera is turned on for large memory.

Bug: 157667363
Test: Make
Change-Id: I86be79f59fa5b569fbd4e68402d3ea1b9b62275f
2020-05-28 22:50:52 +00:00
Hongguang Chen
96c88287a7 Fix _ImportParser() error if property is imported from oem partition.
The oem partition allows system build.prop to import properties from it
by "import /oem/oem.prop xxxx". An _ImportParser() error was raised on
this case.

BUG: 154171021
Test: 1) "atest --host releasetools_test releasetools_py3_test -c"
      2) On a device who has oem partition, "make dist" and sign its
      target zip file.
Change-Id: I47875bf7a698390e11690150e6516a3064550ca0
Merged-In: I47875bf7a698390e11690150e6516a3064550ca0
2020-05-28 15:22:31 -07:00
David Zeuthen
c599a2708f Merge "Update Identity Credential AIDL and Keymaster AIDL to V2 in VNDK list" into rvc-dev 2020-05-28 22:04:19 +00:00
Tianjie Xu
8098b73e0c Merge changes I637dea34,I4a9fa35c,I5c952cd2 into rvc-dev
* changes:
  Add an option to input the boot variables for OTA package generation
  Reland "Calculate the runtime fingerprint prefixes from build prop"
  Reland "Add a wrapper class PartitionBuildProp""
2020-05-28 18:56:21 +00:00
TreeHugger Robot
20daf73fd9 Merge "Update auto-gen test config template with PARAMETERIZED_STRINGS placeholder" into rvc-dev 2020-05-28 06:12:35 +00:00
Chen Xu
18029ed3d2 Merge "support data migration by default" into rvc-dev 2020-05-28 00:24:29 +00:00
Tianjie
48d159fa7c Add an option to input the boot variables for OTA package generation
The values of the ro.boot* variables are not part of the image files
and are provided (e.g. by bootloaders) at runtime. Meanwhile, their
values may affect some of the device build properties, as a different
build.prop file can be imported by init during runtime.

This cl adds an option to accepts a list of possible values for some
boot variables. The OTA generation script later use these values to
calculate the alternative runtime fingerprints of the device; and
list the device names and fingerprints in the OTA package's metadata.

The OTA metadata is verified by the OTA server or recovery to ensure
the correct OTA package is used for update. We haven't made any
restrictions on what ro.boot* variables can be used for fingerprint
override. One possible candidate can be the skus listed in
ODM_MANIFEST_SKUS.

Bug: 152167826
Test: unittests pass, generate an OTA file with the new option
Change-Id: I637dea3472354236d2fd1ef0a3306712b3283c29
Merged-In: I637dea3472354236d2fd1ef0a3306712b3283c29
2020-05-27 22:14:30 +00:00
Tianjie Xu
835aac5cf6 Reland "Calculate the runtime fingerprint prefixes from build prop"
This reverts commit b21e48b499.

In practice, some partners use the 'import' statement to override
the device fingerprint at runtime. The runtime fingerprint will
later add to the metadata of OTA package, so that the OTA server
can deliver the package to corresponding devices correctly.

This CL supports parsing a subset of import statement that the init
process recognizes. And we loose the restriction based on how the
dynamic fingerprint is used in practice. Right now, we only searches
for the override of brand, name and device. And the placeholder
format should be ${placeholder}, with its value supplied by the
script caller.

As part of the implementation, we generate all the possible
combinations of the input boot variables. And recalculate the
fingerprint for each of the combination. Though we load the
build.prop multiple times, the logic is easier to follow. Also,
it's more convenient to enhance the logic if we only want to
allow some of the boot variables combination later.

Bug: 152167826
Change-Id: I4a9fa35c7ac037ff1cf4f9a4bdff602beac3894b
Merged-In: I4a9fa35c7ac037ff1cf4f9a4bdff602beac3894b
Test: unittests pass
2020-05-27 22:14:02 +00:00
Tianjie Xu
726d20a68f Reland "Add a wrapper class PartitionBuildProp""
This reverts commit 6022545272.

The build prop for a partition used to be a simple key:value
dictionary. But we need more fields to hold the alternative build
props overriden by the 'import' statement. Therefore, add a new
class as a wrapper for these props first.

Bug: 152167826
Change-Id: I5c952cd2a976ba1a09ddc66d56c2b8b55a61986b
Merged-In: I5c952cd2a976ba1a09ddc66d56c2b8b55a61986b
Test: unittests pass
2020-05-27 22:13:34 +00:00
Chen Xu
9dfa9ec4ae support data migration by default
include stub cellbroadcat app for data preservation by dafault.

Bug: 155844209
Change-Id: I34d1978ce89f4d4edbf327a3b61f7fb87262aae0
Merged-in: I34d1978ce89f4d4edbf327a3b61f7fb87262aae0
2020-05-27 16:15:48 +00:00
Mark Salyzyn
d702af1ef1 depmod: pair in a modules.load.recovery on BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD
If the BoardConfig defined BOARD_VENDOR_RAMDISK_MODULES_LOAD and
BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD, generate both a
modules.load and modules.load.recovery respectively on the vendor
ramdisk.  BOARD_VENDOR_RAMDISK_MODULES must be the set, or super set,
of all the modules represented in both of *_LOAD BOARD variables.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 151950334
Test: build, confirm, fastboot flashall, boot with split.
Merged-In: Ib2925aec6ea7a2a01a554c808d6697d8c85f9fc0
Change-Id: Ib2925aec6ea7a2a01a554c808d6697d8c85f9fc0
2020-05-27 13:26:00 +00:00
TreeHugger Robot
0e5c584ba8 Merge "Generate product build props always" into rvc-dev 2020-05-27 04:46:06 +00:00
Hongguang Chen
4217f575c3 Merge "Allow more than one '=' in avb_extra_custom_image_extra_args." into rvc-dev 2020-05-26 23:46:13 +00:00
J. Avila
43872f0eb7 Strip debug symbols from modules
The size of the ramdisk has greatly increased, which can be a source of
boot time regressions. Strip the modules of debug symbols for the vendor
ramdisk and vendor partitions; vendor stripping can be skipped via BOARD
config.

Bug: 156395749
Signed-off-by: J. Avila <elavila@google.com>
Change-Id: I248d4e2097992f00975b344b5da41aa5d8016812
2020-05-26 14:38:43 +00:00
TreeHugger Robot
13aff4012d Merge "sign_apex.py respects hash algorithm" into rvc-dev 2020-05-26 01:03:48 +00:00