Commit Graph

7218 Commits

Author SHA1 Message Date
Treehugger Robot
50639bd4cb Merge "support different boot partition sizes in aosp_arm64" am: ade028ea9e am: 6f978c6b7f
Change-Id: Icaf368a8bb753eff980bc053395ad09033dfd47d
2020-05-14 07:52:31 +00:00
Treehugger Robot
ade028ea9e Merge "support different boot partition sizes in aosp_arm64" 2020-05-14 07:05:31 +00:00
Tianjie Xu
c7ff3baddf Merge "Exclude vendor_boot in secondary payload" am: 7a3cf2c4ba am: f6dd644e6b
Change-Id: I5620b9b975de46c5d99c30b0166a8d4a846e83d6
2020-05-14 03:07:54 +00:00
Tianjie
c385064d94 Exclude vendor_boot in secondary payload
The secondary payload is used by factory OTA to speed up the first
boot of the device. The payload should only contain bootloaders
images and the precompiled apps in system_other. Remove vendor_boot
to reduce the secondary payload size.

Test: build a package with secondary payload
Change-Id: I3a9f6dda00a5aac038438065e2bc6483d71b5e95
2020-05-13 14:47:31 -07:00
TreeHugger Robot
1f3678e84c Merge changes from topic "nonab_on_vab_r" into rvc-dev am: 4d8e9cc847
Change-Id: I18ae2cc04e6edad5498fdc0c2de6f5a163d10c82
2020-05-13 18:25:35 +00:00
Yifan Hong
010d320848 resolve merge conflicts of 7169f754cc to rvc-dev-plus-aosp
Change-Id: Ic1a44cfe929707e2fb76282dcd06f839a8159735
2020-05-13 17:44:04 +00:00
TreeHugger Robot
4d8e9cc847 Merge changes from topic "nonab_on_vab_r" into rvc-dev
* changes:
  Use add_slot_suffix function in edify script
  Support forcefully generating non-AB packages.
2020-05-13 17:26:44 +00: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
Tianjie Xu
6c9400948c Merge "Reland "Calculate the runtime fingerprint prefixes from build prop"" am: e9ab85956f am: 728d35e3a9
Change-Id: Ifdd0fd225c0e0d7cdcb10442dacafcf986a197f7
2020-05-12 19:19:51 +00:00
Tianjie Xu
dca53f1a18 Merge "Reland "Add a wrapper class PartitionBuildProp""" am: 49b45296f6 am: 2399593a28
Change-Id: I6f5d7244907bec60b1a4641327874ff95bdb551f
2020-05-11 22:09:22 +00:00
Luca Stefani
972a64ec8d releasetools: Add signapk as required modules
* common.py requires the signapk jar

Bug: 156149605
Test: m otapackage ( before it was broken )
Change-Id: Ic0cff0a21258cb1e7d1ced5553a940dcf5cd6d04
Merged-In: Ic0cff0a21258cb1e7d1ced5553a940dcf5cd6d04
2020-05-11 14:39:36 +01:00
Tianjie Xu
9afb221c9e 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
Test: unittests pass
2020-05-10 21:49:53 +00:00
Tianjie Xu
0fde41e711 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
Test: unittests pass
2020-05-09 05:24:18 +00:00
Greg Kaiser
3fd11f86a6 Merge changes from topic "revert-1297095-MANSYJSCZY" am: 763c8a7691 am: 7eb76f74d9
Change-Id: If2a0528ccea808512dca010d68929ad841607070
2020-05-09 00:58:29 +00:00
Greg Kaiser
6022545272 Revert "Add a wrapper class PartitionBuildProp"
Revert submission 1297095

Bug: 156131275
Reason for revert: Broken build
Reverted Changes:
I2fe7e93a2:Add a wrapper class PartitionBuildProp
Iac093a40d:Calculate the runtime fingerprint prefixes from bu...

Change-Id: Ie846d23b9f5c3325d021236725826512be7a3c78
2020-05-09 00:30:33 +00:00
Greg Kaiser
b21e48b499 Revert "Calculate the runtime fingerprint prefixes from build prop"
Revert submission 1297095

Bug: 156131275
Reason for revert: Broken build
Reverted Changes:
I2fe7e93a2:Add a wrapper class PartitionBuildProp
Iac093a40d:Calculate the runtime fingerprint prefixes from bu...

Change-Id: I8b1262c6e94a1db349de39896e56f366c8d64d4c
2020-05-09 00:30:33 +00:00
Tianjie Xu
e9dc695f60 Merge changes Iac093a40,I2fe7e93a am: 8aba9ec7c8 am: 93eec51aa4
Change-Id: I3f20e7d90ccf0d83aab03f6d89e3b2522b596ffc
2020-05-08 21:26:19 +00:00
Tianjie
0d2fcd50d7 Calculate the runtime fingerprint prefixes from build prop
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
Test: unittests pass
Change-Id: Iac093a40dc6f873c5e1858efa44cb2bd6082508a
2020-05-07 23:52:07 -07:00
Yifan Hong
ae6e0d5d28 Use add_slot_suffix function in edify script
Whenever a device is retrieved from fstab, wrap it with
add_slot_suffix() if it has slotselect option.

Test: change fstab (changes boot image, which is a static partition),
      change system partition (a dynamic partition),
      generate incremental OTA with --force_non_ab and apply it on
      cuttlefish
Bug: 153581609
Change-Id: Id3f8e4425b65176baf1b0ff1ee07ab3d820a3a7f
2020-05-07 16:55:39 -07:00
Yifan Hong
7169f754cc 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
2020-05-07 12:48:17 -07:00
P.Adarsh Reddy
e4d5d568a3 releasetools: Fallback to "mkbootimg_args" if "recovery_mkbootimg_args" not found.
For older target_files.zip, since "recovery_mkbootimg_args" may not be
set fallback to the earlier config -"mkbootimg_args" for recovery image.
This will make releasetools backward compatible, and usable for
older/already generated target-files package.

Bug: 155708400
Change-Id: If40359130b8e6da48cb8c345d8cb079f457fe36f
Merged-In: If40359130b8e6da48cb8c345d8cb079f457fe36f
2020-05-07 09:15:57 -07:00
Tianjie
fd3883f159 Add a wrapper class PartitionBuildProp
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
Test: unittests pass
Change-Id: I2fe7e93a2f4de8e55f5f8051b000b96b5efdc85a
2020-05-06 22:09:44 -07:00
Treehugger Robot
aa887670ae Merge "releasetools: Fallback to "mkbootimg_args" if "recovery_mkbootimg_args" not found." am: ec8abc0eb3 am: ec788a7f58
Change-Id: Id69aafe1eb55e2f126f53d302dfaf91740015f0f
2020-05-06 08:08:57 +00:00
Treehugger Robot
ec8abc0eb3 Merge "releasetools: Fallback to "mkbootimg_args" if "recovery_mkbootimg_args" not found." 2020-05-06 07:32:12 +00:00
Treehugger Robot
bcf9ffa819 Merge "Allow passing in codename_to_api_level_map to sign_apex." 2020-05-05 19:00:11 +00:00
Yifan Hong
b1ee30d728 Merge "Fix check target files vintf test." am: 2637f8bec7 am: 90095aeb1f
Change-Id: I0db3785d55ac50a4744fed0857bf9d2944bc0754
2020-05-05 15:49:38 +00:00
Jeff Sharkey
2a5b9342f0 Merge "Split MediaProvider into its own target." into rvc-dev am: f068a60e8a
Change-Id: I7efc2e73ce5798c19432f4004b7cf913599ccbd1
2020-05-05 15:37:01 +00:00
Yifan Hong
2637f8bec7 Merge "Fix check target files vintf test." 2020-05-05 15:23:17 +00:00
Jeff Sharkey
f068a60e8a Merge "Split MediaProvider into its own target." into rvc-dev 2020-05-05 15:21:13 +00:00
Hongguang Chen
3435403284 Skip _oem_props if oem_dicts is None.
The oem_dicts in BuildInfo is only available to ota_from_target_files
when it's called with "--oem_settings" input. However, aosp/1135332
starts to use BuildInfo in add_img_to_target_files w/o oem_dicts. An
assert is triggered due to it when oem_fingerprint_properties is in the
info_dict.
This change skips _oem_props reading if oem_dicts is None to allow this
case.

BUG: 155360923
BUG: 154171021
Test: Sign images with oem_fingerprint_properties.
Change-Id: I6a73feecd9567fd4d85f4eab3d4e11c5df28fe39
Merged-In: Idfd41c8b20b23d50e4895f24500f9a25625b7d98
2020-05-04 20:45:33 +00:00
Treehugger Robot
59abc40f73 Merge "Skip _oem_props if oem_dicts is None." am: 6464edbf3e am: 67893b73c6
Change-Id: I6b68f078908546571917ecf75cc52e4ebf0df10d
2020-05-04 19:33:12 +00:00
Hongguang Chen
d7c160ffbf Skip _oem_props if oem_dicts is None.
The oem_dicts in BuildInfo is only available to ota_from_target_files
when it's called with "--oem_settings" input. However, aosp/1135332
starts to use BuildInfo in add_img_to_target_files w/o oem_dicts. An
assert is triggered due to it when oem_fingerprint_properties is in the
info_dict.
This change skip _oem_props reading if oem_dicts is None to allow to
this case.

BUG: 155360923
BUG: 154171021
Test: Sign images with oem_fingerprint_properties.
Change-Id: I6a73feecd9567fd4d85f4eab3d4e11c5df28fe39
2020-05-04 16:54:10 +00:00
P.Adarsh Reddy
d8e24eee70 releasetools: Fallback to "mkbootimg_args" if "recovery_mkbootimg_args" not found.
For older target_files.zip, since "recovery_mkbootimg_args" may not be
set fallback to the earlier config -"mkbootimg_args" for recovery image.
This will make releasetools backward compatible, and usable for
older/already generated target-files package.

Change-Id: If40359130b8e6da48cb8c345d8cb079f457fe36f
2020-05-04 14:30:09 +00:00
Jeff Sharkey
7a3c61259e Split MediaProvider into its own target.
As we move towards becoming a Mainline module, it's important that
we catch as many bugs as possible during initial code review, and
Error Prone is designed to do exactly that.

Instead of lumping ourselves into the generic "packages" grouping,
this change adds a specific package for this Mainline module.

Bug: 142561358
Test: ./build/soong/soong_ui.bash --make-mode MediaProviderLegacy com.google.android.mediaprovider MediaProviderTests RUN_ERROR_PRONE=true
Change-Id: I62102febe39225a54c77d9ad463c350b3df9cafa
2020-05-03 11:36:17 -06:00
Yifan Hong
975e2bef86 Fix check target files vintf test.
check_vintf now checks deprecation as well, which
requires matrix fragments to exist. Update tests to
reflect this.

The test also uses legacy vendor manifest path, which makes
it not combined with the ODM manifests, causing sku_compat
test to fail. Fix it by using the new vendor manifest path
(which libvintf correctly combines it with the ODM manifests.)

Fixes: 155131894
Test: python -m unittest test_check_target_files_vintf
Change-Id: Ib660f8796efc3465d9513688695dac29c63a7514
2020-05-01 16:34:22 -07:00
Baligh Uddin
d9fcafd612 Allow passing in codename_to_api_level_map to sign_apex.
BUG: 154517483
Change-Id: I93a90ae066b0e9eeb1b2ff26d9cb9b07a11fe68c
Merged-In: I93a90ae066b0e9eeb1b2ff26d9cb9b07a11fe68c
2020-05-01 13:56:04 +00:00
Steven Laver
dd33d75d39 releasetools: correct allowed property sources for incremental OTAs
When loading build info from a previous version of Android, the set of
allowed property sources should match those available in that version.
In this particular case, the product_services partition was a valid
property source in Android 10.

Bug: 155053195
Test: ran unit tests from test_common.py
Test: generated an incremental OTA which previously failed
Change-Id: Ic0b0a112656533eca78dee31517deff7e3c8d7cc
Merged-In: Ic0b0a112656533eca78dee31517deff7e3c8d7cc
2020-04-30 10:54:48 -07:00
Steven Laver
96bebd05e0 Merge "releasetools: correct allowed property sources for incremental OTAs" am: 1ae5abc46e am: 73345e3395
Change-Id: I53d6c3ef4bd81ffb224d7ae5a6d0d6cc5ad526dc
2020-04-30 16:33:11 +00:00
Steven Laver
8e2086e6e3 releasetools: correct allowed property sources for incremental OTAs
When loading build info from a previous version of Android, the set of
allowed property sources should match those available in that version.
In this particular case, the product_services partition was a valid
property source in Android 10.

Bug: 155053195
Test: ran unit tests from test_common.py
Test: generated an incremental OTA which previously failed
Change-Id: Ic0b0a112656533eca78dee31517deff7e3c8d7cc
2020-04-29 22:30:42 +00:00
Treehugger Robot
802de3295f Merge "Add elsk to the owner of scripts" am: 7cdc91f5ea am: 5cd6aacf6f
Change-Id: Ie827bc3ae437769f1b203d334a306eb4e045296c
2020-04-29 00:57:20 +00:00
Treehugger Robot
7cdc91f5ea Merge "Add elsk to the owner of scripts" 2020-04-29 00:32:31 +00:00
Tianjie
ded2ae16a5 Add elsk to the owner of scripts
Test: build
Change-Id: Ia722605596c354d4e295a6d18a2696fdf90c582c
2020-04-28 14:56:01 -07:00
Elliott Hughes
4e75f0e0d0 Merge "releasetools: Use du -b" am: b5e650a119 am: a3140155a1
Change-Id: Idbb5bf079d1228e8db71d0f86ca20fbe23aab9f0
2020-04-28 17:29:39 +00:00
Elliott Hughes
b5e650a119 Merge "releasetools: Use du -b" 2020-04-28 16:55:49 +00:00
Tianjie Xu
2ca6aa0f4e Merge "releasetools: Add missing log format specifier" into rvc-dev 2020-04-27 22:59:54 +00:00
Luca Stefani
7f4ca3ac04 releasetools: Add missing log format specifier
bug: 154786239
Test: m otapackage
Change-Id: I273cf315400dd2b624d2853ece0c30c6fb3d529d
(cherry picked from commit 88e1a14523)
2020-04-27 20:50:27 +00:00
Baligh Uddin
7a1f00a2f5 Allow passing in codename_to_api_level_map to sign_apex. am: 8424f2e56c
Change-Id: I2381a2a4708f91deff051c539f4e65894e86a875
2020-04-25 20:55:30 +00:00
Baligh Uddin
8424f2e56c Allow passing in codename_to_api_level_map to sign_apex.
BUG: 154517483
Change-Id: I93a90ae066b0e9eeb1b2ff26d9cb9b07a11fe68c
2020-04-25 18:30:24 +00:00
Steve Muckle
f83e3c3c3f support multiple boot.img files in release tools
Support for generating multiple boot.img files is required in the
release tools to enable GKI distribution/signing.

Bug: 151094943
Change-Id: I536a286d3123f35918106a52c49b1148d746370f
Merged-In: I536a286d3123f35918106a52c49b1148d746370f
2020-04-22 11:14:05 -07:00
Tianjie Xu
6c14671ba6 Merge "Update the argument when signing aftl" am: f53f313c36 am: 9ec3777b95
Change-Id: I53d38d4b8e990c957971be0de6c5032198310eaa
2020-04-21 23:12:04 +00:00