summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2022-05-02Don't enable ADB by default on userdebug buildsMichael Bestas
Change-Id: I33ae5c6f2787017a62e679aa0c28d4b909d45935
2022-01-12build: set custom fingerprint in ro.build.fingerprint tooJan Altensen
[kubersharma001]: * Adapt to android-12.0: Change-Id: Iffc6583aa624bd74f420ce060f0e612769f81735
2022-01-12Don't make recovery patch for devices with prebuilt vendorTheScarastic
Change-Id: I05c0155e6331bfeccd4ad545e003fa3fa3498044
2022-01-12Move recovery-from-boot.p from /system to /vendordianlujitao
The file was missed when moving recovery resources, but the assertion path was changed, as a result non-Treble devices failed to build. Fixes: Ia4045bd67ffb3d899efa8d20dab4c4299b87ee5f Change-Id: Ib7822a9bd5b1a2ab7e762e9fb35dbb22291a3a76
2022-01-12Allow override of device asserts, including multi-device supportSteve Kondik
Set in board file with TARGET_OTA_ASSERT_DEVICE. ota_from_target_files: Remove device dependent arguments. These device-specific arguments are defined at build time and are necessary to generate the zip correctly. Don't use command line arguments to specify them, but write all the needed information in misc_info.txt when the target-files zip is generated. ota_from_target_files will then read misc_info.txt and set everything automatically. Change-Id: Ibdbca575b76eb07b53fccfcea52a351c7e333f91
2022-01-12Add Project ICE build supportLuca Stefani
Squashed also with the following changes: Author: Simon Shields <simon@lineageos.org> Date: Fri Mar 2 12:55:47 2018 +1100 build: Unconditionally use AOSPA pathmap. even if we're not building a lineage target, we need to use the lineage pathmap to make things like recovery and ril happy Change-Id: I974c30ad10d4ff5b7805c3df9c22010f1e002bf1 Author: Luca Stefani <luca.stefani.ge1@gmail.com> Date: Tue Jan 22 15:50:52 2019 +0100 Don't export BUILD_NUMBER in envsetup. * The value is meant to be set only before running an /official/ build * This allows us to execute consecutive make commands without running kati for every invocation Change-Id: Ifa94b839f30c7260009c8a3c91c202b50e28022e Change-Id: I6ca3c6a68aa5ea78649b96ac86fb65ff7f489736
2021-11-30sign_target_files_apks: adding --allow_gsi_debug_sepolicyBowgo Tsai
https://android-review.googlesource.com/q/topic:gsi_debug_policy adds userdebug_plat_sepolicy.cil into the GSI system.img to reduce the steps of repacking a debug ramdisk. This CL checks that the file userdebug_plat_sepolicy.cil shouldn't exist before signing, unless the caller explicitly specifies --allow_gsi_debug_sepolicy to allow it. Note: also fixes the indentation around the block. Bug: 201482141 Test: sign_target_files_apks *-target_files-*.zip signed.zip Change-Id: I56ed328a9ae70cf49dbd3c6efb5a4a8c54e1b7a7 Merged-In: I56ed328a9ae70cf49dbd3c6efb5a4a8c54e1b7a7 (cherry picked from commit 2a781692ae34379441bf7e892fd67c0db1af777e) (cherry picked from commit 5a73b0ee976dc61fe6fa12e48f15d5ec53f90878)
2021-08-11Merge SP1A.210811.001Brian Orr
Change-Id: Ic03dc5d44a2c301b9f2fff7d2a80c17574d6f857
2021-08-06Make apex util detect if hashtree is presentKelvin Zhang
Test: sign_target_fiels_apks oriole_target_files.zip Bug: 195194430 Change-Id: I919d169ce4d66e6a1cdbfd15babde25005971a30
2021-07-27Merge SP1A.210723.002Scott Lobdell
Change-Id: I47917a60efed80d3d31bbed0f84cdffd8d56d484
2021-07-26Support for dexopt postprocessing in merge_target_files.Jose Galmes
When using the VSDK, dexopt is not applied during the vendor build. To avoid a first-boot time regression, dexopt is applied during the merge stage, by running dexopt on the vendor apps and rebuilding the vendor image. Bug: 188179859 Change-Id: Ic648a5a9c1bf6dccff8540f656bed7f158acda31 (cherry picked from commit 9c8f6eb7e1a854db6420e13d3f4c63d058389826)
2021-07-19Adjust some behaviors for --rebuild-sepolicyPo Hu
1. system_ext or product may not be a standalone partition, 2. keep symbolic links in vendor image, 3. target-files package may not contain IMAGES folder. Bug: 192422274 Change-Id: I77867408cc764abb975319a23c387ec63fcf87c3 (cherry picked from commit 0e4403e8469a20446158e6dedf9e55e63d1c3359)
2021-07-14Write the vbmeta digest to the output zipfile alsoTianjie
During signing, we write the entry directly to the output zip, intead of a temp directory. Add the logic to write vbmeta_digest.txt to output zipfile too. So the digest file will show up in the signed target files. Bug: 189926233 Test: add_img_to_target_files -a <target-files.zip> Change-Id: Ibf28a8f97512bda8c8c695e06190e1fb6573c53e (cherry picked from commit c3bf3d00a3077b66aa178f00fb789d34a042c9e8)
2021-07-13fs_config reads headers from snapshots, if availableJustin Yun
fs_config requires the information from the header files in system/core and bionic/libc. To build the vendor side fs_config, use the header files in the vendor snashot if the required version exists. Bug: 187222756 Test: check ninja depedency with and without snasphots. Change-Id: Ibf96eab4d9a129745be1a19b2aa2e4c8f57cf6bf (cherry picked from commit 9d3356b306387460379c46701daff533a43c388b)
2021-07-02Regenerate odm or vendor using combined sepolicy if --rebuild-sepolicy.Daniel Norman
This allows merged devices to boot using a precompiled_sepolicy built from merged sources, rather than recompiling this sepolicy at boot time every boot. Bug: 178727214 Test: Merge an R+S build using --rebuild-sepolicy and --vendor-otatools. Observe odm.img is rebuilt by the vendor otatools.zip when merging. Observe device boots using ODM's precompiled_sepolicy file. Test: Same as above, for S+S. Test: Merge an S+S build using --rebuild-sepolicy and *not* --vendor-otatools. Observe odm.img is rebuilt without using a separate otatools.zip. Observe device boots using ODM's precompiled_sepolicy file. Change-Id: I9595b8a3296d6deec21db8f0c9bc5b7ec4debd57 (cherry picked from commit 571e182e9cd517128d5fb0bae44b071296a70d6f)
2021-06-23Merge SP1A.210618.002Scott Lobdell
Change-Id: If714a40279fd018ecf5cdd7c4cffc5339b7a5e7b
2021-06-22Merge SP1A.210616.001Brian Orr
Change-Id: I5340d077062343a5b1b4712d29fa372c6d2d7e09
2021-06-14Add ro.vendor.build.dont_use_vabc to disable VABC OTAKelvin Zhang
This prop is owned by OEM, OEM can set this if they want to disable VABC. Test: m dist, make sure generated OTA has VABC disabled Bug: 185400304 Change-Id: Iceb2fb1f399d38a51722352a86ddf68af05fa24e Merged-In: Iceb2fb1f399d38a51722352a86ddf68af05fa24e
2021-06-14Merge "Handles capex in signing script" into sc-devBaligh Uddin
2021-06-12Handles capex in signing scriptTianjie
Today, the signing script simply ignores capex files, because it looks for hardcoded '.apex' suffix. Add support to handle capex as well. Bug: 190574334 Test: Sign a target file locally Change-Id: I3085ca7b0396a4fbf1b220f7de44d4eafb60c3d8 (cherry picked from commit 4d48d50036e71ccb31cf05326417ee084fd7583a)
2021-06-09Missing required packages for f2fs when building ota packageJaegeuk Kim
Bug: 171942852 Signed-off-by: Jaegeuk Kim <jaegeuk@google.com> Change-Id: Ib2ecc0cf88d71f358bd04e6c4ac129607fe4054c Merged-In: Ib2ecc0cf88d71f358bd04e6c4ac129607fe4054c
2021-06-04Merge SP1A.210604.001Scott Lobdell
Change-Id: I8ee23d0c3640087083fb4928dbef5832d47ab239
2021-06-02Merge "Check super size for factory OTA at build time" into sc-devTianjie Xu
2021-06-01Merge changes from topic "f2fs-system" into sc-devJaegeuk Kim
* changes: Enable f2fs compression for other partitions Enable --readonly for system compression
2021-05-26Check super size for factory OTA at build timeTianjie
For VAB launched device, factory OTA will write system_other partition to the super image. So we want to check that sum(dynamic partitions) + system_other + overhead <= super at build time. Since we don't know the overhead at build time, we might instead check sum(all partitions) < super. Bug: 185809374 Test: m check-all-partition-sizes, unittests Change-Id: Ia7ba5999d23924a1927e9a9463856a4d0ea90c20 Merged-In: Ia7ba5999d23924a1927e9a9463856a4d0ea90c20 (cherry-picked from commit 294ec7d9e5298d91768e0f2e9abe4cc7de180fe1) Change-Id: I479d1b399a1639b595ae5d7f1481c771a3439e51
2021-05-26Enable f2fs compression for other partitionsJaegeuk Kim
Bug: 171942852 Signed-off-by: Jaegeuk Kim <jaegeuk@google.com> Change-Id: I231f7a2b808cc792fd582cd444825e4a47722984
2021-05-26Enable --readonly for system compressionJaegeuk Kim
This option is to reduce system partition size. Bug: 171942852 Signed-off-by: Jaegeuk Kim <jaegeuk@google.com> Change-Id: Idc849cfce33ac0badb2b9b7953bb821c46a24472
2021-05-26Support AVB signing for BOARD_PREBUILT_BOOTIMAGEBowgo Tsai
Devices using GKI architecture will use a prebuilt boot.img. However, we should still sign this prebuilt boot.img with device-specific AVB keys. Steps to test the CL. 1. In a device BoardConfig.mk: # Uses a prebuilt boot.img TARGET_NO_KERNEL := true BOARD_PREBUILT_BOOTIMAGE := device/google/redbull/boot.img # Enable chained vbmeta for the boot image. # The following can be absent, where the hash descriptor of the # 'boot' partition will be stored then signed in vbmeta.img instead. BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA4096 BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2 2. `make bootimage`, then `avbtool info_image --image $OUT/boot.img`, checks the image is re-signed with a device-specific key 3. `make dist` to generate out/dist/TF.zip 4. `unzip out/dist/TF.zip IMAGES/boot.img` 5. `avbtool info_image --image out/dist/IMAGES/boot.img`, checks the image is re-signed with a device-specific key 6. `sign_target_files_apks \ --avb_boot_key=external/avb/test/data/testkey_rsa8192.pem \ --avb_boot_algorithm=SHA256_RSA8192 \ --avb_boot_extra_args="--prop test:sign" \ ./out/dist/*-target_files-eng.*.zip signed.zip`, resign the TF.zip 7. `unzip signed.zip IMAGES/boot.img`, then use `avbtool info_image` to check the boot.img is re-signed with the --avb_boot_key in step 6. Bug: 188485657 Test: above steps Change-Id: I7ee8b3ffe6a86aaca34bbb7a8898a97b3f8bd801 Merged-In: I7ee8b3ffe6a86aaca34bbb7a8898a97b3f8bd801 (cherry picked from commit cf9ead8972dd2b7c90772b6a1fd26bd4311a7c74)
2021-05-19Merge "Expose ota_metadata_proto for consumption" am: 51c8f9f34c am: ↵Kelvin Zhang
9dbff33bd9 am: 580a36f814 am: ee491d95eb Original change: https://android-review.googlesource.com/c/platform/build/+/1708627 Bug: 186581246 Bug: 188575410 Change-Id: I996092bd29f8f6231c8055b44d59ae87d5809127 (cherry picked from commit 7780289064062d5529f88af0909fb6b02c521ac5)
2021-05-19Merge SP1A.210513.004Chris Gross
Change-Id: Id3d65f7ab3903f7a99ec3dcfb24186275de1c8f8
2021-05-14Reland: Enable verity computation on VABC devicesKelvin Zhang
Test: th Test: Manual OTA test on bramble, pause/resume multiple times Test: verity enabled, VABC enabled OTA Test: verity enabled, VABC disabled OTA Test: verity disabled, VABC enabled OTA Test: verity disabled, VABC disabled OTA Change-Id: Ia236984b158761f84f54ab7a6d3d49491c249546
2021-05-11Merge "Calculate the runtime ro.build.id in ota scripts"Tianjie Xu
2021-05-11Merge "sign_target_files_apks: replacing GKI signing args completely"Treehugger Robot
2021-05-10Merge SP1A.210510.001Brian Orr
Change-Id: Ife6652cf718c7d08b65f148c2e69b8e39bcba050
2021-05-10Calculate the runtime ro.build.id in ota scriptsTianjie
If the build prop ro.build.id isn't set at build time, init will set it at runtime. The logic is appending the vbmeta digest to the ro.build.legacy.id. Make the same change in ota scripts, so the correct build fingerprint will be saved in the ota metadata. Bug: 186786987 Test: generate an OTA, check the metadata Change-Id: I278f59c41c1f98d4cbea749e5d9e4eaf7a6b9565
2021-05-10sign_target_files_apks: replacing GKI signing args completelyBowgo Tsai
Commit I8bd8ad3acf324931b47d45fd30bc590206b1927e adds a default value of "gki_signing_signature_args" in the misc_info.txt for release signing to work. However, it's better to replace the default value entirely (e.g., --prop foo:bar) as there is no need to include them in the final release-signed image. Bug: 178559811 Bug: 177862434 Test: atest releasetools_test Test: atest releasetools_py3_test Change-Id: I060b5a7076ff3e5d883abeb7d72f3db887c9fd69
2021-05-08Merge "Don't set the build id if we need to append the digest"Tianjie Xu
2021-05-08Merge "Add ota_metadata_proto_java"Treehugger Robot
2021-05-07Merge "Calculate the vbmeta digest when building images"Tianjie Xu
2021-05-06Don't set the build id if we need to append the digestTianjie
Background in http://go/compatible-build-fingerprint. If we want to append unique vbmeta digest to build id, we cannot setup the prop value at build time. Instead, set the old value as ro.build.legacy.id; and let init set ro.build.id at runtime. Bug: 186786987 Test: build a target file with the flag on Change-Id: Ie139725bb7e5c65bd3f28f43b9975ba48ee10354
2021-05-05Calculate the vbmeta digest when building imagesTianjie
Calculate the vbmeta digest if the device builds vbmeta image. The digest will used later to determine the build fingerprint in new format. One sample usage is the ota package generation, where we put the build fingerprint in the ota metadata. But we don't have the runtime vbmeta digest provided the bootloader. Bug: 186786987 Test: unit tests Change-Id: If572e2b973e295a6c95a9e23a65bb20b3afbf1b0
2021-05-05Add ota_metadata_proto_javaKelvin Zhang
Test: th Change-Id: Iac9b679299db6a23cdf85d7c46f20d0538ba6015
2021-05-05Disable downgrade VABC OTAsKelvin Zhang
Downgrade VABC OTA causes users to wait in recovery for merge to complete, disable by default. Test: th Test: generate downgrade OTA, make sure VABC disabled Test: generate upgrade OTA with --wipe_user_data, make sure VABC disabled Test: generate upgrade OTA, make sure VABC is used Test: generate downgrade OTA with --vabc_downgrade, make sure VABC is enabled Bug: 187215486 Change-Id: Ib7e6165252d47f1ecaac4fc2329b580274c8d70e
2021-05-03Merge "Fix more pylint warnings."Chih-hung Hsieh
2021-05-01Merge "Avoid to print undefined image_size and partition_size"Treehugger Robot
2021-04-30Fix more pylint warnings.Chih-Hung Hsieh
* add .pylintrc to use 2 space indentation * rename single-letter local variables Test: ./warn.py build.log > warnings.html Change-Id: I2ca56a6cb130a9d6c73328c5592ad7cde8a974ab
2021-04-30Merge "Disable VABC if either source/target doesn't support it"Treehugger Robot
2021-04-30Disable VABC if either source/target doesn't support itKelvin Zhang
If source supports VABC, delta_generator/update_engine will attempt to use VABC. This dangerous, as the target build won't have snapuserd to serve I/O request when device boots. Therefore, disable VABC if source build doesn't supports it. Test: downgrade from VABC enabled build to a build w/o VABC Change-Id: Ie8353e00f65354c2242ee5255b6652c6b62483a4
2021-04-29Avoid to print undefined image_size and partition_sizeHuang Jianan
If dynamic partitioning is enabled and the partition size is not set, we will get a KeyError before image_size or partition_size is calculated when we try to catch exception in BuildImageMkfs. Bug: 186704243 Test: build_image.py can correctly throw exception Change-Id: I3d8c143ad5603d07fe94afb8bb911ead244f0bf7 Signed-off-by: Huang Jianan <huangjianan@oppo.com>
2021-04-28Fix/suppress most pylint and gpylint warningsChih-Hung Hsieh
* Add missing function doc strings. Suppress this warning on trivial functions in *_warn_patterns.py. * Remove unused g-importing-memeber, g-complex-comprehension. * Suppress pylint warning on unrecognized g-* options. * Suppress too-few-public-methods warnings on simple classes. * Suppress too-many-arguments and missing-function-docstring in html_writer.py, which will be refactored later. * Fix bad naming, long lines and line breaks, and bad quotes. Test: compare output for build.log Change-Id: Icdb34f014a10ec1e642c2cfe8003fc3ae245b507