Commit Graph

22929 Commits

Author SHA1 Message Date
Treehugger Robot
aa0584c22d Merge "Add RBE_CXX_COMPARE variable to locally disable compare mode for C++" 2020-05-27 02:27:09 +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
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
Treehugger Robot
95fc5e76a6 Merge "Delete deps-license target." 2020-05-21 21:37:06 +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
Mark Salyzyn
4e20965769 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.
Change-Id: Ib2925aec6ea7a2a01a554c808d6697d8c85f9fc0
2020-05-20 14:44:01 -07:00
Treehugger Robot
0ead402c40 Merge "Do not fail if unzip found no files to extract" 2020-05-20 20:18:04 +00:00
Julien Desprez
f244a36850 Merge "Add tradefed-test-framework to the suites exported jar" 2020-05-20 16:46:22 +00:00
Sasha Smundak
262491b0a8 Do not fail if unzip found no files to extract
Fixes: 157081961
Test: manual
Change-Id: Ib84c9fa1ceb45542ebcee14e048ecf2c1783c0c0
Merged-In: Ib84c9fa1ceb45542ebcee14e048ecf2c1783c0c0
2020-05-20 04:58:01 +00:00
Yo Chiang
7c147f7e29 Merge "Resolve module bitness for PRODUCT_PACKAGES" 2020-05-20 04:55:22 +00:00
Hongguang Chen
f23364d280 Add options to sign the prebuilt custom images.
The custom images are any images owned by OEMs and SoCs, oem images
mounted on /oem is an example. The oem images can be used to customize
devices for different carriers, like wallpaper, ringtones, and
carrier-specific apks. OEMs can generate multiple oem images, like
oem.img, oem-carrier1.img and oem-carrier2.img and flash different oem
images for different carriers. The oem images are only one case, OEMs
and SoCs can add more custom images and mount them to custom partitions.

This change enables custom images to be vbmeta.img chained partitions.
The following configuration in BoardConfig.mk is an exmaple. It has two
custom partitions: oem and test. They will be signed by different keys.
And they will be chained by vbmeta.img. The custom images here are
prebuilts, which can be built by `make custom_images` separately.
BOARD_AVB_<CUSTOM_PARTITION>_IMAGE_LIST should include all custom images
to apply AVB signing. And to every custom partition, one image whose
name is partition name must be added in its
BOARD_AVB_<CUSTOM_PARTITION>_IMAGE_LIST.

BOARD_CUSTOMIMAGES_PARTITION_LIST := oem test

BOARD_AVB_OEM_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
BOARD_AVB_OEM_ALGORITHM := SHA256_RSA4096
BOARD_AVB_OEM_ADD_HASHTREE_FOOTER_ARGS :=
BOARD_AVB_OEM_ROLLBACK_INDEX_LOCATION := 1
BOARD_AVB_OEM_PARTITION_SIZE := 5242880
BOARD_AVB_OEM_IMAGE_LIST := \
    device/xxxx/yyyy/oem/oem.img \
    device/xxxx/yyyy/oem/oem1.img

BOARD_AVB_TEST_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_TEST_ALGORITHM := SHA256_RSA2048
BOARD_AVB_TEST_ADD_HASHTREE_FOOTER_ARGS :=
BOARD_AVB_TEST_ROLLBACK_INDEX_LOCATION := 2
BOARD_AVB_TEST_PARTITION_SIZE := 10485760
BOARD_AVB_TEST_IMAGE_LIST := \
    device/xxxx/yyyy/test/test.img \
    device/xxxx/yyyy/test/test1.img

To resign the custom images in the target zip file, the
avb_extra_custom_image_key, avb_extra_custom_image_algorithms and
avb_extra_custom_image_extra_args options are added to the
sign_target_files_apks tool too. The following test cases list some
examples about how to use them.

BUG: 154171021
Test: 1) "atest --host releasetools_test releasetools_py3_test -c"
  2) Build images by 'make dist', sign and validate target files.
   a) Test on dist w/ chained vbmeta_system and ome 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 \
     xxx-target_xxx.zip signed.zip
   validate_target_files.py signed.zip
   Flash image and boot up.
   Verify the oem images and vbmeta images in OUT and target zips by
   avbtool.

   b) Test on dist w/ chained vbmeta_system and oem and test 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=--do_not_generate_fec \
     --avb_extra_custom_image_key test=test_rsa4096.pem \
     --avb_extra_custom_image_algorithm test=SHA256_RSA4096 \
     xxx-target_xxx.zip signed.zip
   validate_target_files.py signed.zip
   Verify the oem, test images and vbmeta images in OUT and target zips
   by avbtool.

   c) Test on dist w/o chained partition.
   sign_target_files_apks -d certs xxx-target_xxx.zip signed.zip
   validate_target_files.py signed.zip
   Flash image and boot up.
   Verify the vbmeta images in OUT and target zips by avbtool.

Change-Id: Ifccfee5e8909697eef6ccda0cc352fa16a9f6db6
2020-05-20 04:10:00 +00:00
Treehugger Robot
3dbbfde296 Merge changes I80341c2e,I0935f611,Ia805cb47
* changes:
  Deprecate ADDITIONAL_DEFAULT_PROPERTIES
  Move most of the sysprop generation rules to sysprop.mk
  Add PLATFORM_VERSION_LAST_STABLE
2020-05-20 03:49:26 +00:00
Bob Badour
fe1328755d Merge "Revert "Delete deps-license target."" 2020-05-20 02:16:06 +00:00
Bob Badour
233336e8a8 Revert "Delete deps-license target."
This reverts commit a553cc828e.

Reason for revert: atest has code that tries to build the target

Change-Id: I46902b3930a5a73aa3e5a15f29e0bb0246e59250
2020-05-20 02:14:04 +00:00
Yifan Hong
65afc07f9d Support forcefully generating non-AB packages.
Force generate a non-A/B update package when requested.

Bug: 154344887
Test: ota_from_target_files.py --force_non_ab ...
Test: apply it as well

Change-Id: I5e81eb161722e07ef50081b6a16685cbc9963ae2
(cherry picked from commit 7169f754cc)
Merged-In: I5e81eb161722e07ef50081b6a16685cbc9963ae2
2020-05-19 15:23:27 -07:00
Treehugger Robot
def74b4c2b Merge "support different boot partition sizes in aosp_arm64" 2020-05-19 21:30:07 +00:00
Treehugger Robot
c2c427f6bb Merge "Delete deps-license target." 2020-05-19 17:56:53 +00:00
Yo Chiang
502606f8ce Merge "Refactor bitness resolving logic of product-installed-files" 2020-05-19 03:17:29 +00:00
Bob Badour
a553cc828e Delete deps-license target.
If used, the results would be inaccurate in any case.

Test: treehugger

Change-Id: I3fdd76bf7d97f6a9f40bccbf437986e5bb7e9e88
2020-05-18 16:50:47 -07:00
Julien Desprez
fae54cbd8a Add tradefed-test-framework to the suites exported jar
New jar that needs to be packaged for suites.

Test: make cts
Bug: 149758913
Change-Id: If29508f3dd30939be603ed03f2536c960ca40d92
2020-05-18 13:30:29 -07:00
Jiyong Park
80f164c0b3 Deprecate ADDITIONAL_DEFAULT_PROPERTIES
As we merge default.prop into build.prop, we don't need to distinguish
ADDITIONAL_DEFAULT_PROPERTIES and ADDITIONAL_BUILD_PROPERTIES. Deprecate
the former in favor of the latter.

Bug: 117892318
Test: m
Change-Id: I80341c2e05d70821396202dc9e94104625ebf024
2020-05-18 21:44:52 +09:00
Jiyong Park
e134686bca Move most of the sysprop generation rules to sysprop.mk
There is no change in functionality. This change just changes the
location of the code.

Bug: 117892318
Test: m
Change-Id: I0935f611069aeae867edefe8ca61bddb2aae4c78
2020-05-18 17:00:57 +09:00
Jiyong Park
c969779a05 Add PLATFORM_VERSION_LAST_STABLE
This is a partial cherry-pick of Iaeefb35137de01c6ea57115d8830dd9bc30eccba
to prevent merge conflicts that are expected with the upcoming major
refactoring around sysprops.

The addition of the variable here doesn't cause any side effect because
it is simply ignored by the buildinfo.sh tool.

Bug: 117892318
Test: m
Change-Id: Ia805cb47ae07c40e91ede16bb6e5c4291de619b4
Merged-In: Iaeefb35137de01c6ea57115d8830dd9bc30eccba
2020-05-18 16:54:42 +09:00
Yo Chiang
ca6e50fa2c Merge "Access ALL_MODULES subvars with my_register_name" 2020-05-18 03:41:23 +00:00
Treehugger Robot
203fd77042 Merge "Update auto-gen test config template with PARAMETERIZED_STRINGS placeholder" 2020-05-18 01:50:49 +00:00
Treehugger Robot
3528db55f3 Merge "Remove /default.prop" 2020-05-16 08:39:56 +00:00
Treehugger Robot
ff58fe4874 Merge "vendor_boot: remove INTERNAL_MKBOOTIMG_VERSION_ARGS from mkbootimg args" 2020-05-16 00:17:20 +00:00
Steve Muckle
903a1ca7e1 support different boot partition sizes in aosp_arm64
The different boot images in aosp_arm64 have different partition size
requirements. Add support for defining a partition size associated with
each boot image variant.

This support is limited to aosp_arm64 currently, which is built with
recovery-as-boot.

A previous version of this change did not update the boot-debug image
AVB logic with the required macro for multiple boot partition size
support. This is now required because the aosp-arm64 boot.img is
configured as a chained AVB partition.

Bug: 156036850
Bug: 155049180
Change-Id: I66b57de91042bfd56ba54a3659843d8cf7873955
2020-05-15 10:16:17 -07:00
Jaewoong Jung
8140bb1dc7 Merge "Implement android_app_set module." 2020-05-15 12:13:43 +00:00
Treehugger Robot
642343975e Merge "Don't check link type of Soong app JNI libraries" 2020-05-15 07:17:42 +00:00
easoncylee
9425870f73 Update auto-gen test config template with PARAMETERIZED_STRINGS
placeholder

Bug: 134509111
Test: add "test_mainline_modules: [some.apk]" to TetheringTests,
and build the modules, confirm the parameterized option is added
in the test config.

Change-Id: I0f4f837412075520153d21c9ca12cf5c3f555de7
2020-05-15 11:43:43 +08:00
Sasha Smundak
b30ff0a65b Implement android_app_set module.
Bug: 152319766
Test: manual and builtin
Change-Id: I66edc5b423898a11dbba1c3d9796c7bd4d6b4428
2020-05-14 19:06:28 -07:00
Colin Cross
1c8d81e5d9 Don't check link type of Soong app JNI libraries
Link type checking is already done within Soong, and
SOONG_SDK_VARIANT_MODULES is not complete yet while parsing Soong
modules, skip JNI link type checking for Soong apps.

Bug: 156225490
Test: m checkbuild
Change-Id: I2f6824b180ccdd62c26497bdca527540ca22f0d7
2020-05-14 12:50:52 -07:00
Paul Duffin
29beb858ef Merge "Revert "support different boot partition sizes in aosp_arm64"" 2020-05-14 09:23:49 +00:00
Paul Duffin
b5a334d0b3 Revert "support different boot partition sizes in aosp_arm64"
This reverts commit 11c4bcf406.

Reason for revert: Broke build b/156569314

Bug: 156569314
Change-Id: I384740320acf48d09b0544e45b5a13ff0a6a163d
2020-05-14 08:40:52 +00:00
Jiyong Park
c47b4ee74b Remove /default.prop
It was kept for non-Treble devices, but now /system/build.prop is used
instead by having both system-configured sysprops and vendor-configured
sysprops. To summarize:

* For Treble compliant devices
- /system/build.prop has
  ADDITIONAL_DEFAULT_PROPERTIES
  PRODUCT_SYSTEM_DEFAULT_PROPERTIES
  props generated from buildinfo_common.sh
  props generated from buildinfo.sh
  props read from TARGET_SYSTEM_PROP file
  ADDITIONAL_BUILD_PROPERTIES

- /vendor/build.prop has
  PRODUCT_DEFAULT_PROPERTY_OVERRIDES
  props generated from buildinfo_common.sh
  props read from TARGET_VENDOR_PROP
  PRODUCT_PROPERTY_OVERRIDES

* For non-Treble devices,
PRODUCT_DEFAULT_PROPERTY_OVERRIDES moves from /vendor/build.prop to
/system/build.prop (just after PRODUCT_SYSTEM_DEFAULT_PROPERTIES).

Other props in /vendor/build.prop remain there but they are not used
because it's a symlink for /system/vendor/build.prop and init does not
follow symlink. Especially, PRODUCT_PROPERTY_OVERRIDES is ignored.
Someone might think this as a bug, which actually is, but this change
doesn't attempt to fix that, because 1) that's out of scope of this
change, and 2) we will anyway merge PRODUCT_PROPERTY_OVERRIDES and
PRODUCT_DEFAULT_PROPERTY_OVERRIDES into one.

Bug: 117892318
Test: TH passes

Change-Id: I867f3615ef8c06650ab2ee96642bac4f6d8ca820
2020-05-14 16:46:26 +09:00
Jiyong Park
09153e244e Remove /system/etc/prop.default
Contents that were in /system/etc/prop.default are now in
/system/build.prop.

The content is placed at the top of build.prop to keep the existing
order between the two files.

Caveat: /prop.default still remains for non-Treble devices.

Bug: 117892318
Test: TH passes
Test: inspect  /system/build.prop and check if it has contents from
the old /system/etc/prop.default file

Change-Id: Ibc74edb88904f953a1e5e6ceef44c461f381c9cf
2020-05-14 16:28:19 +09:00
Jiyong Park
b894d4bb68 Remove /vendor/default.prop
Contents that were in /vendor/default.prop are now in /vendor/build.prop

The content is placed at the top of build.prop to keep the existing
order between default.prop and builld.prop.

Bug: 117892318
Test: TH passes
Test: inspect  /vendor/build.prop and check if it has contents from
the old /vendor/default.prop file

Change-Id: Ifa1f1dca3b4f4a5fa87d26b8ee058ee706dc54bb
2020-05-14 16:19:32 +09:00
Treehugger Robot
ade028ea9e Merge "support different boot partition sizes in aosp_arm64" 2020-05-14 07:05:31 +00:00
Yo Chiang
5814247ed2 Access ALL_MODULES subvars with my_register_name
ALL_MODULES and subvars are registered with my_register_name.
Replace references of ALL_MODULES.$(LOCAL_MODULE).* with
ALL_MODULES.$(my_register_name).*.

Bug: 155869107
Test: TH presubmit build pass
Test: TH presubmit build noop
Change-Id: I1481c341a285dc04de86619abec3194bb92c9739
2020-05-14 04:08:42 +00:00
Yo Chiang
5e85bfe3a3 Resolve module bitness for PRODUCT_PACKAGES
PRODUCT_PACKAGES contains "simple module name" and "bitness suffix".
Call `resolve-bitness-for-modules` to resolve module bitness before
using PRODUCT_PACKAGES.

Bug: 155869107
Test: TH presubmit build_test
Test: check the value of event_log_tags_src
Change-Id: I95fcd833990b3401892c2f7859c83acd90f9e920
2020-05-14 04:07:56 +00:00
Steve Muckle
70ef6fd4f2 Merge "Enables signing for generic boot images" 2020-05-13 19:36:56 +00:00
Yo Chiang
b85a140c3c Refactor bitness resolving logic of product-installed-files
* Add get-modules-for-2nd-arch helper function

Add a generic function to retrieve second arch variant module names for
TARGET, HOST and HOST_CROSS modules.
It uses ALL_MODULES.<module>.FOR_2ND_ARCH to make sure that we are
really returning second arch variant module names.
Unlike `get-32-bit-modules` this function doesn't sort its output so it
potentially saves us a tiny bit of makefile parsing time.

* Add resolve-bitness-for-modules

Factor out the common bitness-resolving logic of
`product-installed-files` and `host-installed-files` to a helper
function.
When resolving HOST_CROSS modules, the primary arch is 32-bit and
secondary arch is 64-bit.

Bug: 155869107
Test: TH
Test: check the value of product_target_FILES and product_host_FILES
Change-Id: I0fdea2e8c55e5b8edf960dbf5e17bb789abb0bf8
2020-05-13 20:42:07 +08:00
Steve Muckle
11c4bcf406 support different boot partition sizes in aosp_arm64
The different boot images in aosp_arm64 have different partition size
requirements. Add support for defining a partition size associated with
each boot image variant.

This support is limited to aosp_arm64 currently, which is built with
recovery-as-boot.

Bug: 156036850
Bug: 155049180
Change-Id: I73b70a4d52c2662c3015899632bb8a2b424108d5
2020-05-12 16:51:45 -07:00
Inseob Kim
b2daf711a3 Merge "DO NOT MERGE Add 30.0 to PLATFORM_SEPOLICY_COMPAT_VERSIONS" 2020-05-11 09:53:21 +00:00
cfig
125efba2bf vendor_boot: remove INTERNAL_MKBOOTIMG_VERSION_ARGS from mkbootimg args
'os_version' and 'os_patch_level' are not defined in vendor boot image header,
so remove INTERNAL_MKBOOTIMG_VERSION_ARGS to avoid confusion

Test: lunch aosp_cf_x86_64_phone-userdebug; m vendorbootimage

Change-Id: I19c82846c9669bbd5475605e8b2457744040390d
2020-05-11 15:01:53 +08:00
Yo Chiang
6190f6910f Merge "Ban ELF prebuilts in PRODUCT_COPY_FILES" 2020-05-11 05:14:29 +00:00