releasetools: Fix the bug that skips loading OEM dict.
The CL in [1] unintentionally breaks the OEM dict loading logic in the
incremental BBOTA path. We should always require and load the OEM
property dict if _either_ of the source and target builds uses OEM
properties. Otherwise with the current "and" operator, it skips loading
the OEM property dict and thus fails to generate an OTA package that has
OEM property changes (e.g. updating from build with fingerprint to
another one using thumbprint).
The CL in [1] actually makes the right change in the file-based OTA
path, but introduces the bug in the block-based OTA path.
This CL also cleans up the line that reads recovery_mount_options.
[1] commit 7f804ba71f
("releasetools:
allow for multiple OEM property values.").
Test: Genearte an OTA that has OEM property changes successfully.
Change-Id: Idce4ad59825d432618535ce09ab22bd7ddc524f2
This commit is contained in:
parent
b379762089
commit
2f5358d38b
1 changed files with 4 additions and 6 deletions
|
@ -409,10 +409,10 @@ def WriteFullOTAPackage(input_zip, output_zip):
|
|||
# in the target build.
|
||||
script = edify_generator.EdifyGenerator(3, OPTIONS.info_dict)
|
||||
|
||||
recovery_mount_options = OPTIONS.info_dict.get("recovery_mount_options")
|
||||
oem_props = OPTIONS.info_dict.get("oem_fingerprint_properties")
|
||||
oem_dicts = None
|
||||
if oem_props:
|
||||
recovery_mount_options = OPTIONS.info_dict.get("recovery_mount_options")
|
||||
oem_dicts = _LoadOemDicts(script, recovery_mount_options)
|
||||
|
||||
target_fp = CalculateFingerprint(oem_props, oem_dicts and oem_dicts[0],
|
||||
|
@ -503,8 +503,6 @@ else if get_stage("%(bcb_dev)s") == "3/3" then
|
|||
if HasVendorPartition(input_zip):
|
||||
system_progress -= 0.1
|
||||
|
||||
recovery_mount_options = OPTIONS.info_dict.get("recovery_mount_options")
|
||||
|
||||
script.ShowProgress(system_progress, 0)
|
||||
|
||||
# Full OTA is done as an "incremental" against an empty source image. This
|
||||
|
@ -632,12 +630,12 @@ def WriteBlockIncrementalOTAPackage(target_zip, source_zip, output_zip):
|
|||
source_version, OPTIONS.target_info_dict,
|
||||
fstab=OPTIONS.source_info_dict["fstab"])
|
||||
|
||||
recovery_mount_options = OPTIONS.source_info_dict.get(
|
||||
"recovery_mount_options")
|
||||
source_oem_props = OPTIONS.source_info_dict.get("oem_fingerprint_properties")
|
||||
target_oem_props = OPTIONS.target_info_dict.get("oem_fingerprint_properties")
|
||||
oem_dicts = None
|
||||
if source_oem_props and target_oem_props:
|
||||
if source_oem_props or target_oem_props:
|
||||
recovery_mount_options = OPTIONS.source_info_dict.get(
|
||||
"recovery_mount_options")
|
||||
oem_dicts = _LoadOemDicts(script, recovery_mount_options)
|
||||
|
||||
metadata = {
|
||||
|
|
Loading…
Reference in a new issue