Commit Graph

58346 Commits

Author SHA1 Message Date
Ulya Trafimovich 0b0cf4c411 Provide library path to android.test.base for dexpreopt.
It may be needed in class loader context if the target API version
is less than 30.

Test: lunch aosp_cf_x86_phone-userdebug && m
Change-Id: Ifa5ab18d1dc322184100207ad6eee4bdcf74deb0
2020-06-01 12:29:27 +01:00
Yo Chiang 61e1cc7317 Merge "releasetools: Fix non-existent required dependency" 2020-06-01 06:31:07 +00:00
Treehugger Robot 6be7b57ce7 Merge "remove spurious comma from module-load-list-copy-paths call" 2020-05-29 22:08:11 +00:00
Treehugger Robot d6eb072c9f Merge "Add apksigner to otatools.zip" 2020-05-29 21:28:11 +00:00
Steve Muckle 06b48162f4 remove spurious comma from module-load-list-copy-paths call
The module-load-list-copy-paths fn takes five parameters.

Merged-In: I7d1736da1599e265793173a741053d8a09f1622f
Change-Id: I9286c9e4ca81caf5392bc804dead718bd028b193
2020-05-29 13:54:49 -07:00
Baligh Uddin ab25b2dcfa Add apksigner to otatools.zip
BUG: 157735036
Test: Local build.
Change-Id: I95c7001ad520d6b4a415d21ffdef55152b0e82b2
2020-05-29 19:01:32 +00:00
J. Avila bc4d5bdb87 Merge "Add build support for LZ4 ramdisks" 2020-05-29 16:28:47 +00:00
Jiyong Park 6dd5383c37 Merge changes from topics "remove_bootimage_sysprops", "sysprop"
* changes:
  Drop the dependency from vendor/build.prop to system/build.prop
  Remove ro.bootimage.* sysprops
  ro.build.expect.* sysprops are created in a separate rule
  Make use of ADDITIONAL_ODM_PROPERTIES
  Refactor post_process_props.py
  remove code for default.prop
  Make more use of ADDITIONAL_VENDOR_PROPERTIES
  ADDITIONAL_*_PROPERTIES are props determined by the build system
2020-05-29 01:01:52 +00:00
Yo Chiang 0dcb96c204 Merge "Check module existence with ALL_MODULES subvars" 2020-05-28 10:12:52 +00:00
Treehugger Robot 9e424a5a60 Merge "Fix up recovery_text_res" 2020-05-28 08:23:00 +00:00
Dan Willemsen 9767223dc5 Fix up recovery_text_res
First, make it safer for incremental builds. We used to just be
depending on the bootable/recovery/tools/recovery_l10n/res dir as a
dependency, but that would only trigger a rebuild if a direct child
file/directory was added or removed (so essentially, when a translation
was addded or removed). If a translation was updated, it wouldn't
re-trigger recovery_text_res.

So instead of depending on the directory, depend on the results from
running `find` to list all of the contents in that directory.

Next, move it out of PACKAGING. `m installclean`, which runs in between
incremental builds on our build servers, deletes the obj/PACKAGING
directory. So when recovery_text_res used that directory, we were having
to rebuild it on every incremental build, which isn't optimal when it
takes nearly 90s to build.

So with:
 $ lunch aosp_coral-eng
 $ m bootimage
 $ m installclean
 $ m bootimage

The second `m bootimage` went from executing 666 actions in 93s to
executing 658 actions in 6s.

Finally, remove the last uses of $(call include-path-for,recovery),
since they were all in this file (and they weren't using it for include
paths...). We'd like to remove all of these and switch them to header
libraries or other use cases, but in this case, it's just shorter to use
the real path.

Test: treehugger
Test: m bootimage;
      touch bootable/recovery/tools/recovery_l10n/res/values/strings.xml
      m bootimage
Test: m bootimage; m installclean; m bootimage

Change-Id: I005592e49443aab45ed039a2f0c63f7a69035565
2020-05-27 19:37:03 -07:00
J. Avila 3f6560e626 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>
Change-Id: Iac9538e6ee6ec51e6b487de2101f53bb5d9c54c8
2020-05-27 23:44:33 +00:00
Treehugger Robot a29edba6e8 Merge "Strip debug symbols from modules" 2020-05-27 20:46:16 +00:00
Beverly Tai 7943056adc Merge "Revert "Retire mainline.mk"" 2020-05-27 14:02:57 +00:00
Beverly Tai 4003bd9def Revert "Retire mainline.mk"
This reverts commit 60c0064902.

Reason for revert: build breakages

Change-Id: Ie8304d1979c50578901efed77fb31281c336505c
Fixes: 157548597
2020-05-27 13:28:22 +00:00
Treehugger Robot 6a00738ed8 Merge "Create emulator_* devices for emulators" 2020-05-27 11:27:58 +00:00
Treehugger Robot 8ecc4d5710 Merge "Retire mainline.mk" 2020-05-27 10:31:28 +00:00
SzuWei Lin c73db784b9 Create emulator_* devices for emulators
aosp_arm64 has no emulators after the patch:

https://android-review.googlesource.com/c/platform/build/+/1286895

The patch creates all other emulator_* devices by cloning from
generic_*, and modify all sdk_phone_* to use them.

Bug: 111538404
Test: build sdk_phone_armv7-userdebug
Test: build sdk_phone_x86_64-userdebug
Test: build sdk_phone_x86-userdebug
Change-Id: I2b82e999ea919f005729f322cd948e6b72ba6843
2020-05-27 16:41:44 +08:00
Jiyong Park a9c3220368 Drop the dependency from vendor/build.prop to system/build.prop
The former doesn't use anything from the latter. The dependency is not
needed.

Bug: 117892318
Test: m
Change-Id: I61aeea9feb1ac4467af4f185f3d6930b03145afd
2020-05-27 12:52:44 +09:00
Jiyong Park 0f3ad31a81 Remove ro.bootimage.* sysprops
ro.bootimage.build.date.* are not used anywhere.
ro.bootimage.build.fingerprint was used in the recovery mode, which has
now been switched to ro.build.fingerprint.

Bug: 117892318
Test: m
Change-Id: I3776c4154f86ddb908b24c6899037c6a7df037df
2020-05-27 12:52:44 +09:00
Jiyong Park 3a2e95a63e ro.build.expect.* sysprops are created in a separate rule
This change is required to unify the build rules for */build.prop files;
The rules shouldn't have partition-specific actions.

Bug: 117892318
Test: m
Manually inspect ro.build.expect.[bootloader|baseband] props in
vendor/build.prop

Change-Id: I3b29b2728f779a9d7e1d71a5aa69b02ea940b3c6
2020-05-27 12:52:44 +09:00
Jiyong Park ca9b02c1ce Make use of ADDITIONAL_ODM_PROPERTIES
Properties that were defined in the build rule for odm/build.prop are
now defined via ADDITIONAL_ODM_PROPERTIES.

Bug: 117892318
Test: m
Change-Id: I6220e217d0724b6e27127786e7a908e1e662d1a0
2020-05-27 12:52:44 +09:00
Jiyong Park ae55638f75 Refactor post_process_props.py
The script is refactored to not parse lines everytime a prop is looked
up or updated.

Also it is now built using python_binary_host.

Bug: 117892318
Test: m

Change-Id: I1677ca5aa919c54b7b0740fdc52e1399009f9a12
2020-05-27 12:52:44 +09:00
Jiyong Park 58dd353a07 remove code for default.prop
default.prop files are gone. Remove the code in post_process_prop.py
that handles the file.

Bug: 1313599
Test: m

Change-Id: I3b4ff4adac57a406b70300d34ece7028cb52eb2d
2020-05-27 12:52:43 +09:00
Jiyong Park f2b944ccea Make more use of ADDITIONAL_VENDOR_PROPERTIES
Properties that were defined in the build rule for vendor/build.prop are
now defined via ADDITIONAL_VENDOR_PROPERTIES.

Bug: 117892318
Test: m
Change-Id: Ib3dc9d001a8dcd0aa38f1acae384a96b67b5af8a
2020-05-27 12:52:43 +09:00
Jiyong Park 57f51f1693 ADDITIONAL_*_PROPERTIES are props determined by the build system
This change defines ADDITIONAL_<partition>_PROPERTIES to store properties
determined by the build system itself.

ADDITIONAL_SYSTEM_PROPERTIES was originally ADDITIONAL_BUILD_PROPERTIES.
ADDITIONAL_VENDOR_PROPERTIES was originally FINAL_VENDOR_DEFAULT_PROPERTIES.
ADDITIONAL_PRODUCT_PROPERTIES has been there and thus not changed.
ADDITIONAL_ODM_PROPERTIES is newly defined, although it is empty now.

In addition, ADDITIONAL_VENDOR_PROPERTIES are now defined in
core/main.mk along with other ADDITIONAL_*_PROPERTIES.

Bug: 117892318
Test: m

Change-Id: Ic41bba2e5695355436ac8df353866cfc044e1e0b
2020-05-27 12:52:43 +09:00
Howard Chen c0ea7e89b8 Merge "Add tinyhostless to mainline_system.mk" 2020-05-27 02:41:37 +00:00
Yo Chiang 60c0064902 Retire mainline.mk
We've converted all known users of mainline.mk to use
mainline_system.mk. Don't include mainline.mk directly in the future,
instead include mainline_system.mk and other partition specific
makefiles. Remove mainline.mk to prevent people from accidentally
including it again.

Bug: 141443017
Test: TH
Change-Id: Id161f29951982a100482a6201130adeebdb49846
2020-05-27 02:29:02 +00:00
Treehugger Robot aa0584c22d Merge "Add RBE_CXX_COMPARE variable to locally disable compare mode for C++" 2020-05-27 02:27:09 +00:00
Yo Chiang e32703d3be Merge "Remove mainline_arm64.mk" 2020-05-27 02:26:26 +00:00
J. Avila a2ceec665d 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>
Merged-In: I248d4e2097992f00975b344b5da41aa5d8016812
Change-Id: I248d4e2097992f00975b344b5da41aa5d8016812
2020-05-26 23:35:26 +00:00
Treehugger Robot a74d425017 Merge "depmod: pair in a modules.load.recovery on BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD" 2020-05-26 21:10:54 +00:00
Treehugger Robot fdc392b245 Merge "Fix type error" 2020-05-26 19:24:41 +00:00
Kousik Kumar b0f055db13 Add RBE_CXX_COMPARE variable to locally disable compare mode for C++
When we do 64-32 migration, we want compare mode to be present only for
non-c++ actions as it would impact performance on 32-core machines
otherwise.

Bug: b/157414300
Test: Ran a build with "RBE_CXX_LINKS="true" RBE_CXX_LINKS_EXEC_STRATEGY="remote" RBE_CXX_COMPARE="false" RBE_compare="true" use_rbe mmma bionic"
and observed that local-executions happened only for link actions and
not for C++ actions.

Change-Id: Ia972c74d804085196a7b6ec755af63042c6b3909
2020-05-26 11:57:02 -07:00
Treehugger Robot 223c0f66d5 Merge "Generate product build props always" 2020-05-26 17:26:01 +00:00
Yo Chiang cb559ac3d8 Remove mainline_arm64.mk
mainline_arm64 is broken for quite some time. Let's just remove it
rather than trying to fix it.
IIUC this was a testing ground for mainline_system.mk when it was first
introduced. Now we have plenty of products that use mainline_system.mk
(e.g. mainline_system_arm64, aosp_arm64, aosp_<pixel>, ...).

Bug: 141443017
Test: TH
Change-Id: I8e0825b2d94134fd8e9e3edc5e2aa15dbcdf10ba
Merged-In: I08990b70d45c0663a9700f41b670513674bf7e97
2020-05-26 14:09:25 +00:00
Howard Chen 2f6bb93178 Add tinyhostless to mainline_system.mk
The tinyhostless module is provided by AOSP and is required by Mediatek
devices.

Test: build aosp_wembley-userdebug
Bug: 157109906
Change-Id: I2a1c4957c19fd4cbd60744d2d9cb534f19d3f239
2020-05-26 02:51:14 +00:00
Treehugger Robot 6d412db1b3 Merge "Allow more than one '=' in avb_extra_custom_image_extra_args." 2020-05-25 22:08:12 +00:00
Yo Chiang a0359ca828 releasetools: Fix non-existent required dependency
HOST module img_from_target_files has non-existent required: zip2zip
HOST module releasetools_py3_test has non-existent required: otatools
HOST module releasetools_test has non-existent required: otatools

Bug: 7456955
Test: TH presubmit
Test: atest releasetools_test # Test result doesn't change
Change-Id: I4fa4fb9c120fda5d4cb309b1e3a2660c3387eb7f
2020-05-25 17:14:51 +08:00
Hongguang Chen 883eecbc4b Allow more than one '=' in avb_extra_custom_image_extra_args.
avb_extra_custom_image_extra_args can be set to
'oem=--signing_helper_with_files=/tmp/avbsigner.sh' on signing server.
The second '=' shouldn't be splitted in this case.

BUG: 154171021
Test: Manually sign target zip files which has custom images.
  sign_target_files_apks -d certs --avb_extra_custom_image_key \
    oem=oem_rsa4096.pem --avb_extra_custom_image_algorithm \
    oem=SHA256_RSA4096 --avb_extra_custom_image_extra_args \
    oem="--signing_helper_with_files=/tmp/avbsigner.sh" \
    xxxx-target_files.zip signed.zip

Change-Id: I815d574f791734d4c6a25a9f8d827b5b4f93d7cc
2020-05-24 21:10:44 -07:00
Treehugger Robot 95fc5e76a6 Merge "Delete deps-license target." 2020-05-21 21:37:06 +00:00
Tianjie Xu 1ca7b10456 Merge "Add an option to input the boot variables for OTA package generation" 2020-05-21 17:58:21 +00:00
Treehugger Robot 8a87dae43b Merge "Add options to sign the prebuilt custom images." 2020-05-21 16:34:13 +00:00
Bob Badour 2441181bdf Delete deps-license target.
If used, the results would be inaccurate in any case.

Deleted atest references: http://aosp/1315404 http://aosp/1315405

Test: treehugger
Test: atest -c --rebuild-module-info com.google.android.gts.updateengine.UpdateEngineHostTest

Change-Id: I6efbf1f5ff3a533b26d6bbedc14a6fcc1b200391
2020-05-21 07:11:55 -07:00
SzuWei Lin 1e6b3e78df Generate product build props always
GSI do not build product partition, and contains the product
contents under /system/product/. Original logic do not generate
the product build props on this case.

The patch fixes the logic for product build props generation to
align the other partitions.

Bug: 157191627
Test: build aosp_arm64-userdebug
Test: check /system/product/build.prop in out folder
Change-Id: Ia88c8efecb18db9c27baa466e492bfd898b581d3
2020-05-21 20:16:47 +08:00
Anton Hansson 438fc22219 Merge "Revert "Minor cleanup for script consistency and adherence to Google shell style guide."" 2020-05-21 10:50:57 +00:00
Matt Alexander d9c56568de Revert "Minor cleanup for script consistency and adherence to Google shell style guide."
This reverts commit d92718356d.

Reason for revert: Adding the opening brace to the end of the function breaks lunch.  

Change-Id: Ia3a9ff01964de0e616a534058d568150de32558a
2020-05-21 10:49:17 +00:00
Tianjie d6867167d1 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
2020-05-20 19:01:17 -07:00
Treehugger Robot ed67178e4a Merge "sign_apex.py respects hash algorithm" 2020-05-21 00:35:54 +00:00
Treehugger Robot 513bce3b4e Merge "Minor cleanup for script consistency and adherence to Google shell style guide." 2020-05-20 22:37:00 +00:00