This happens when the fingerprint property is blacklisted for the
purposes of unified device builds.
Change-Id: I9f8a5041248c3f73fce7a16da73cb8f68c06c8e2
Currently CheckVintfIfTrebleEnabled is called after generating payload.
Users have to wait for ~1 hour before vintf is checked. Do the check
early and fail early.
Test: th
Change-Id: I2e4a8c7eaa62c94c92973c127b1d825a26e63b35
Some OEMs, namely OnePlus don't use AOSP compliant build description.
Making sure that the last piece ends with -keys is more than enough.
Change-Id: Iefa3c408a3fdda0b63db257befb8ba2d36793293
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCYD1LbwAKCRDorT+BmrEO
eMBAAJ9N9ujdbNtS2mlvFzMnUjBG4+GyFgCePHqG6jdUCGOXUniBPfA7SjMVt9Y=
=y5kb
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEA2skEMxbPHNb/U7LbZVRKTMRJykFAmA+Pq4ACgkQbZVRKTMR
JymlPw/9E+oU+RfgpV4cDJ+tErikqBbu+gTLqQ7yT7s03x45GSuyLKEoAje7qGtV
bKKI+QWjQp6EbTOsqtXVOFWIyvE6jgHO1Y4vZhpMN1pf7rsvnsxHk6ExxwPNbQcd
Aq7WUrzcZbVx24Cz+KY5eGKzP6T8AsfAPhz2t6/551NEPYUZ5SP7rvfkMOhJrAWP
8PfqlU1IwqTelNuobZzF9k/+WYJxIaJGTvuDAss8GK0PbOmshTP2ximOk8FTq4Dc
u4qxty5RtipDT3W1Iwm3C9VHHlg22BF53UykZWrpxTtv9kgyfVoBoj7EIaVvKw6V
LHdTFlGYD7CEZUXUbux11ix5E13yWDBeMZ7E/m42rgpQokojYCnvNzmNP9kZle5D
vml+Hb4dLi3KtLhdbP5a7QwPjtDjBGHU4GYzZAInOzD22utjhUp+ctcj/00X3KUS
xRpYJ3+23T/HX94WeYmXANMmY2eEeRwSheUiviLXqEWB65M4CraF8ubID4zDjzop
Sl+UPYm+CkLRdF24ZzYpA6c51MjF4+Unds/mXTbcxBbqMaUVO2FQb5pDC3qw8SiQ
rX1C1wW09FN7ThV5PbFx6dMGlPcWXDCGScMWiWKZguNgPCF9qrGfkxyRU8AIZ97e
mc6/VpPVTs6SzaJluW2rG9WWH4L0YTXJdcTzsGgTzntGxNuEF9A=
=MtGP
-----END PGP SIGNATURE-----
Merge tag 'android-11.0.0_r32' into staging/lineage-18.1_merge-android-11.0.0_r32
Android 11.0.0 Release 32 (RQ2A.210305.006)
* tag 'android-11.0.0_r32':
Version bump to RQ2A.210305.006 [core/build_id.mk]
Version bump to RQ2A.210305.005 [core/build_id.mk]
Version bump to RQ2A.210305.004 [core/build_id.mk]
Version bump to RQ2A.210305.003 [core/build_id.mk]
Update Security String to 2021-03-05
Version bump to RQ2A.210305.001 [core/build_id.mk]
Version bump to RQ2A.210105.005 [core/build_id.mk]
Version bump to RQ2A.210105.004 [core/build_id.mk]
Version bump to RQ2A.210105.003 [core/build_id.mk]
Version bump to RQ2A.210105.002 [core/build_id.mk]
Version bump to RQ2A.201217.002 [core/build_id.mk]
Update Security String to 2021-02-01
[DO NOT MERGE] iorap: Turn off iorap for R before resolving the regression.
Update Security String to 2021-02-05
Version bump to RQ2A.201209.002 [core/build_id.mk]
Version bump to RQ2A.201208.002 [core/build_id.mk]
Version bump to RQ2A.201207.002 [core/build_id.mk]
Version bump to RQ2A.201120.002 [core/build_id.mk]
Update Security String to 2021-01-01
Update Security String to 2021-01-05
DO NOT MERGE Fix the order of loading OEM properties
Version bump to RQ2A.201030.002 [core/build_id.mk]
Version bump to RQ2A.201026.002 [core/build_id.mk]
Fix validate_target_files for target files modified by
Update Security String to 2020-12-01
Update Security String to 2020-12-05
Version bump to RQ2A.201006.001 [core/build_id.mk]
Update Security String to 2020-11-01
Rename wlist to allowlist
Update Security String to 2020-10-01
Conflicts:
core/build_id.mk
core/version_defaults.mk
Change-Id: Ifc2e1fc126b9c6bb92989bc4ab4f4b54b096672b
key passphrases may live in some sort of secure storage, support running
an arbitrary command to retrieve them.
Change-Id: I49862cf60f1b73a2356e0c492e1038beef28a95f
(cherry picked from commit 9caf8603575aecf51761feaeac6db619be76cfd3)
This allows us to skip custom inode count calculation by setting
BOARD_*IMAGE_EXTFS_INODE_COUNT to -1, this will end up letting
mke2fs calculate appropriate inode count on its own.
While build_image only allocates exact number of needed inodes
plus 4% spare with .2% margin, mke2fs will allocate as many
inodes as it thinks is appropriate given the filesystem size.
Change-Id: If03d5edae8378be3b305346176067b01163f6f3d
* Before this commit, the generated `dynamic_partitions_op_list` in
FullOTA packages always tries to remove all partitions and recreate
them upon flashing. This makes it impossible to have a system-only
"FullOTA" because vendor partition(s) are always removed.
* This commit detects if a build is vendor-less and disables every
dynamic partition operation except `resize`, in order to keep the
original content around after the flash. The change should not affect
non-dynamic-partition or builds with vendor image included.
Change-Id: I0cded7f3b2958f35103d73d19b7fb5f292f6c17f
Signed-off-by: Jesse Chan <jc@lineageos.org>
* This allows the ROM to be flashed on any recovery, whether it mounts
system to /system, /system_root or /mnt/system like Q recovery
* Remove any type of system mount with static paths from updater-script
to figure out the path dinamically through backuptool
Change-Id: I7b33726305cb6f3eec146d26135f0081002a25dc
this is a squash of the following commits:
commit 30e43f85f8b83dd4210b86363ab912dd640050a0
Author: Chris Soyars <ctso@ctso.me>
Date: Thu Dec 23 00:44:33 2010 +0100
Add otapackage support for backuptool
Change-Id: I512554c579d444067cd3ccbb0e6946a5eb6bc964a
Modular backuptool.sh. Executes backup and restore methods defined in arbitrary /system/addon.d/*.sh scripts.
* Copy backuptool.functions alongside backuptool.sh.
* Delete both from /system/bin as they are not useful there.
Patch Series
============
http://review.cyanogenmod.com/#change,13265
CyanogenMod/android_build
* edify generator
http://review.cyanogenmod.com/#change,13266
CyanogenMod/android_system_core
* permissions on /system/addon.d
http://review.cyanogenmod.com/#change,13267
CyanogenMod/android_vendor_cm
* 50-cm.sh reference backup script
* modular backuptool.sh
* support backuptool.functions used by /system/addon.d/*.sh scripts
Change-Id: I26b4907d28f49c69627699d2accd2f0fa2d1b112
update ota_from_target_files to handle mounting/unmounting for backupscript
backupscript should not be mounting/unmounting itself as it makes other
scripts have unexpected results (such as modelid_cfg, which expects /system
to be mounted)
instead have the ota script handle the mounting/unmounting
Change-Id: I94511f4147c624d975cb3ecbeaa8b0e98f63437c
build: Don't run backuptool on GMS builds
Change-Id: I5dde27f9d16b88049171db9805221d92e67f3e5d
commit 66ce73d1ffa81b9dd59639241f2e7172e5485a41
Author: Tom Marshall <tdm@cyngn.com>
Date: Wed Apr 9 16:14:07 2014 -0700
build: edify: use set_metadata for backuptool
Also use saner permissions on backuptool.sh
Change-Id: I50742b51867aa358f5924b8dc208833092a35bd9
commit dac6e8fee851433ff35723f2a790e3930aaeb113
Author: Ricardo Cerqueira <ricardo@cyngn.com>
Date: Wed Nov 5 18:16:43 2014 +0000
ota: Include copies of the recovery scripts even if shipping in block mode
commit 5a6d5b87d44f638307531f29c89d19b41c79532b
Author: Ricardo Cerqueira <ricardo@cyngn.com>
Date: Wed Nov 5 19:58:59 2014 +0000
ota: Fix recovery-script cleanups in block mode
Change-Id: Iadb480f8062cfb7a0e6c9024e32ac0d71a7481d7
Author: Arian <arian.kulmer@web.de>
Date: Wed Jun 17 12:35:16 2020 +0200
build: Disable backuptool on user instead of GMS builds
* Backuptool is not exclusively used for GApps but
also used by other things (i.e. Magisk), hence
it shouldn't be disabled on all GMS builds.
Change-Id: Ia95c6fed21d7bed5e2e0610aa94264edc1d02c80
Change-Id: I2401d334d8e16d18d3770b339ec2c787dd8e477c
There may be multiple entries in fstab for a mount point. Use the first
value found so the entries are prioritized in order.
Change-Id: Ibd2631413d3e00507d3a0ec84fb91755f1c7993c
Ticket: OPO-326
* If a bootloader assert is not satisfied, print the
versions that are supported by the package as well as the version
on the device.
Change-Id: I958d49281c51bd4e60d596a727bb94cfc4a21909
* Anything in OUT/install gets packaged up into the zip and extracted
to /tmp/install immediately after FullOTA_InstallBegin.
* Use /tmp/install in edify scripts and remove code related to using
and manipulating /system for install tools.
* Modified to support signing steps being split from build steps.
Package install files into target-files INSTALL path
Read from target-files for OTA package creation
From Change-Id: I64f919c2a757b5474f6cc5f82bd6c33c2a8b558a
* This also fully reverts commit 6a324ba and partially reverts
commit f388104 as the functions are still needed here.
From Change-Ids: I4911244ec9945d197d2b56d0d11eab6d2f7b6d3e
I4943e2e89ee5c810a63746c570dc5e31e95b8c53
Squashed with the following:
Author: LuK1337 <priv.luk@gmail.com>
Date: Wed Feb 19 02:14:59 2020 +0100
releasetools: Use 0oXXX instead of 0XXX for octal
* Fixes py3 syntax error.
Change-Id: Ia9ca6e392f43694ddf4c952b07bf159e8dead36e
Change-Id: I315a3238e36c8d15e26f935e272f7e27dd59c320
includes the following commit:
commit c2bb9607e09d899d2ea0a0f87ff43dc2b66068f1
Author: Scott Mertz <scott@cyngn.com>
Date: Thu Feb 26 10:51:44 2015 -0800
Enable ADB by default when ro.adb.secure is not 1
* Property ro.build.type is not part of the default.prop we can't
use this to decide how to apply adb by default within this function
Change-Id: Ib3eb24c655353966d64c7148d7530244b628ce94
Change-Id: I33ae5c6f2787017a62e679aa0c28d4b909d45935
Add support for optional device tree image (dt.img)
to boot and recovery images. Some devices use kernel device
tree and this adds the device tree image as a section within
the boot/recovery images.
Change-Id: I91431ef2f4b86485895678916e39a8572be878eb
Build: add DT image variable to Makefile
DT image variable is currently present in
generate_extra_images.mk.This file is moved to
build/tasks to support persist image generation
during parallel make. As build/tasks is called
at the end of Makefile, DT image variable is not
available for other images generation like boot and
recovery. Adding this variable in Makefile ensures
the variable is defined before usage
Change-Id: I21f675d8ce648dc1cf1f4f3aede33278300e08c9
CRs-fixed: 548299
Fix case where boot/recovery.img were being built with wrong params.
The boot and recovery images now get built using the same params during ota package
generation as during a normal build.
Change-Id: I93d46e11a4245288f0e87c87a2e4bf45ac5aff69
Fix the extra dt.img compilation issue.
Add support for optional device tree image (dt.img)
for device that doesnt have TARGET_BOOTIMAGE_USE_EXT2
Change-Id: I6e07b3ca6d049a8ebdad7ea304b4f39e7c846151
releasetools: Store and use the dt image file through target files
Target files packages may be used for signing images separate from the
build process. Store the device tree image file in the target files
package so it can be used during the signing process.
Change-Id: Ie8507121fa9c4ba57ecffeab05bd859ae5f5b788
Set in board file with TARGET_OTA_ASSERT_DEVICE.
(cherry-picked from commit 0f452f21fc9323b9d1fe746161761cf40aaa5030)
Change-Id: I3d06bdc0e3e26bde0c0e646accd050364f9713b9
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
Signed-off-by: André Pinela <sheffzor@gmail.com>
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
Account for the possibility that a user has mounted system manually
before installing the FullOTA package.
Change-Id: I97d0540676a7ce98762545e76ecb1a7f6335d204
Squashed also with the following changes:
Author: Luca Stefani <luca020400@lineageos.org>
Date: Thu Aug 17 22:22:13 2017 +0200
core: Include Lineage pathmap
Change-Id: Ie25dee383cc5bc9bb6390cff2cb2460d526d80b6
Author: Simon Shields <simon@lineageos.org>
Date: Fri Mar 2 12:55:47 2018 +1100
build: unconditionally use lineage 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
Author: Luca Stefani <luca020400@lineageos.org>
Date: Fri Aug 18 10:17:00 2017 +0200
envsetup: Call fixup_common_out_dir
Change-Id: I84e16b0df5822cfd8514c46d709109a13c20f86e
Author: Adrian DC <radian.dc@gmail.com>
Date: Sat May 12 11:24:33 2018 +0200
build: Include LineageOS specific properties in build.prop
* Our properties were supposed to go to /system/etc/prop.default
after the following commit:
"lineage: Move to Google's method of defining system default props"
Change-Id: I6cb0e28a7599b010b389cc541015a37010a00f4b
* However if BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED is not true,
only /default.prop will retain the properties contents of
ADDITIONAL_DEFAULT_PROPERTIES and PRODUCT_SYSTEM_DEFAULT_PROPERTIES,
and none of our versioning identification was held in the system
* Enabling BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED globally would
break all properties on devices that handle partitions usually
at the device level rather than the kernel due to mounting races
* Include the vendor/lineage/config/main.mk entrypoint to be allowed
to extend ADDITION_BUILD_PROPERTIES as we need to define our releases
Change-Id: I19918eece0f0dd3ee967db0339b4d09c9a6d540e
Signed-off-by: Adrian DC <radian.dc@gmail.com>
Author: Simon Shields <simon@lineageos.org>
Date: Fri Aug 10 14:39:32 2018 +1000
soong: include Lineage soong_config
Change-Id: Ic7b8993f4a201f8a9d24c6ba32617fa34843afc2
Author: Rashed Abdel-Tawab <rashed@linux.com>
Date: Thu Sep 5 21:35:38 2019 -0700
core: Only include Lineage SE policy if repo exists
Change-Id: If799106d2da6d8c303430e316edff365a22f7c99
Author: dianlujitao <dianlujitao@lineageos.org>
Date: Thu Sep 5 21:56:36 2019 +0800
product: Exclude AOSP apn list on Lineage build
Change-Id: I1fd10089421a2e4b57ef565d87ad1f6036bd1898
Author: Michael Bestas <mkbestas@lineageos.org>
Date: Fri Apr 12 02:10:12 2019 +0300
build: Conditionally include AudioPackage14.mk instead of AllAudio.mk
* AllAudio.mk doesn't contain latest material files and also
contains multiple duplicate files. Just copy the latest
material ones and we'll include the older files in vendor/lineage
Change-Id: Ic7353216a3f3dc3c51006d951ac932cfd6e5f3b5
Author: dhacker29 <dhackerdvm@gmail.com>
Date: Sat Jun 6 22:22:05 2015 -0400
Remove LatinIME as it is included per target in vendor/lineage
Change-Id: Ibce4a244ec0653a7c7798d864047ac667866a1dc
Author: Arne Coucheron <arco68@gmail.com>
Date: Sat Mar 3 22:53:06 2012 +0100
Fix inheritance of PRODUCT_PROPERTY_OVERRIDES for Lineage audio files
Otherwise the ones set in Lineage vendor will be overridden by these.
Change-Id: I3f87dfd009d8ddfd48972c15770599742b12c4af
Author: Abhisek Devkota <ciwrl@cyanogenmod.com>
Remove extra product property overrides
This appears to clash with vendor/lineage/common mk's for overrides; causes
a broken default alarm (and OnTheHunt is so bleh).
Change-Id: I5ec990d3c5ad56b573c45f1a3b20169c989851a0
Author: Pawit Pornkitprasan <p.pawit@gmail.com>
Date: Sat Jan 28 09:05:16 2012 +0700
Disable dataroaming by default
The property is removed so that the property in vendor/lineage
can take effect.
Change-Id: Iefadc1a6e71cbf92ecb7363c953f4b5a82064446
Author: razorloves <razorloves@gmail.com>
Date: Mon Oct 7 05:10:56 2019 -0500
build: Remove su inclusion
This stops including su in all lineage userdebug/eng builds.
Inclusion of su is conditionally handled in /vendor/lineage.
Change-Id: Ia3ad978146f170a2b260d77afe9eb580d4b4f823
Change-Id: Iab8b2ef8b644a7bea10bfd28b99d9e69539b1357
Some required modules from host tool (such as imgdiff) are bound to
required from releasetools_common, but unfortunately required modules
from python_library_host does not work (b/140144201). To make this work
we should mark dependency from each host tool.
Bug: 152258157
Test: Build succeeded without system image
Change-Id: Iedfda9b48d78687d8f622b818eeb93896d4f119d
* When $OUT is on a compressed disk,
`du -k -s` might not return the correct sizes.
* Adding `-b` gets us close to the actual size.
toybox commit: https://github.com/landley/toybox/pull/177
Test: m, builds and boots.
Devices: crosshatch blueline bonito sargo (anything with dynamic partitions)
Change-Id: I1955261de0f6323518b214e2731ef4879c3304e0
(cherry picked from commit d0412222e52b9de18087f510fc57ba93cca47fdd)
add_img_to_target_files.py
See bug description:
"When resigning images, the validate_target_files.py can be used to
verify the images using avbtool. The script will use the vbmeta.img to
achieve this, and all relevant images need to be in the IMAGES folder.
However, due to changes on add_img_to_target_files.py and specifically
the commit 5277d1015, some images (e.g. acpio.img and tos.img) are no
longer copied from RADIO to the IMAGES folder. This causes an error on
validate_target_files.py indicating that it cannot find image such as
IMAGES/acpio.img."
This CL fixes this by symlink images under RADIO directory to IMAGES
directory before invoking avbtool.
Bug: 159299583
Test: python3 -m unittest test_validate_target_files
Change-Id: I5769ee2ab5230d2a3a7cef10706dcc5788e654f8
Merged-In: I5769ee2ab5230d2a3a7cef10706dcc5788e654f8
Apparently needed for cts tests due to apks putting intermediate files under
TARGET_OUT even when going to HOST_OUT.
Test: m with and without change verified no differences in notice files
Bug: 141258651
Change-Id: Iea50b6bd9af9452a2600c97e2f7cb89218b9be7f
(cherry picked from commit 5e9e1fbe836da8bfc829535043463c37a929b460)
Merged-In: Iea50b6bd9af9452a2600c97e2f7cb89218b9be7f
Some apk files, e.g. Chrome.apk has switched to use v2+ scheme.
And the apk file no longer has a META-INF/CERT.RSA. So, the
signature parsing script should use apksigner to dump the cert
info.
Leave the parsing of META-INF/CERT.RSA as a fallback, as some apks
fail the `apksigner verify`. The script also switches to store the
digest of the cert instead of the raw bytes.
Bug: 157735036
Test: run check_target_files_signatures on aosp|signed target-files
(cherry picked from commit a9a50cf6e37dbcd73bfed3759e2848cc064af454)
Change-Id: I910cd1aa91d1e446bef7097871af4171c285685d
Incremental OTA generation was failing since the
function _CheckSecondTokenNotSlotSuffixed was in
broken state, this change fixes the same.
Bug: 160215626
Test: Incremental OTA now gets generated and applied
successfully a non-ab device.
Change-Id: Ifb3886396fe65dcdaeba16c568419b9fa084193d
(cherry picked from commit 52defe48d52a770c326f489357ab8877b211541e)
Merged-In: Ifb3886396fe65dcdaeba16c568419b9fa084193d
Starting from http://go/aog/1328118, we chained the 1st GKI
boot image into vbmeta. However, this fails avb validation;
because the avbtool constructs the image path based by using
"partition name + ext".
This cl works around the issue by renaming boot-5.4.img to
boot.img, so avbtool can find the image correctly.
Bug: 159656873
Test: run validate target file
Change-Id: I577226596e139e5b5f3e6ca3c28ced02431ca392
Merged-Id: I577226596e139e5b5f3e6ca3c28ced02431ca392
(cherry picked from commit 5ec1a7a66a5c66f0e4ba4999c5ac34f7022d246d)
Multiple boot images can be generated based on BOARD_KERNEL_BINARIES
but vbmeta would capture the image descriptor of only the first boot
image specified in BUILT_BOOTIMAGE_TARGET.
Bug : 158213759
Test: Compile multiple boot images and check if vbmeta.img
includes image descriptor of only the first boot image
specified in BUILT_BOOTIMAGE_TARGET
Change-Id: Ib70f65d98546a436da82656bc5c911d437618bb5
Merged-In: Ib70f65d98546a436da82656bc5c911d437618bb5
When calculating the dynamic fingerprints, we need to reopen the
input file if it's a ZipFile. Because the original object has been
closed, as its scope ends after the with statement.
Bug: 152167826
Test: generate an OTA package with zip input and overrides
Change-Id: I623da3cc5fcc91c6230fb5a6e86517ed995913b7
(cherry picked from commit eb06afb602a95668ae401a62295282ee18be516c)
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
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
* 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""
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
This reverts commit b21e48b499850bfb5ac9e6e155ed96e8e724c5c0.
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
This reverts commit 6022545272a7360f7faa5e00ad0e7a8f5ed9d5c3.
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
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
Merged-In: I815d574f791734d4c6a25a9f8d827b5b4f93d7cc