add -w option to ota_from_target_files

Add option to make OTA packages that wipe user data.
This commit is contained in:
Doug Zongker
2009-04-21 17:12:54 -07:00
parent 72611ece86
commit dbfaae5567

View File

@@ -33,6 +33,10 @@ Usage: ota_from_target_files [flags] input_target_files output_ota_package
Generate an incremental OTA using the given target-files zip as
the starting build.
-w (--wipe_user_data)
Generate an OTA package that will wipe the user data partition
when installed.
"""
import sys
@@ -58,6 +62,7 @@ OPTIONS.incremental_source = None
OPTIONS.require_verbatim = set()
OPTIONS.prohibit_verbatim = set(("system/build.prop",))
OPTIONS.patch_threshold = 0.95
OPTIONS.wipe_user_data = False
def MostPopularKey(d, default):
"""Given a dict, return the key corresponding to the largest
@@ -331,6 +336,9 @@ def WriteFullOTAPackage(input_zip, output_zip):
script.append("write_radio_image PACKAGE:radio.img")
script.append("show_progress 0.5 0")
if OPTIONS.wipe_user_data:
script.append("format DATA:")
script.append("format SYSTEM:")
script.append("copy_dir PACKAGE:system SYSTEM:")
@@ -511,6 +519,9 @@ def WriteIncrementalOTAPackage(target_zip, source_zip, output_zip):
script.append("\n# ---- start making changes here\n")
if OPTIONS.wipe_user_data:
script.append("format DATA:")
DeleteFiles(script, [SubstituteRoot(i[0]) for i in verbatim_targets])
if updating_boot:
@@ -602,21 +613,22 @@ def main(argv):
def option_handler(o, a):
if o in ("-b", "--board_config"):
common.LoadBoardConfig(a)
return True
elif o in ("-k", "--package_key"):
OPTIONS.package_key = a
return True
elif o in ("-i", "--incremental_from"):
OPTIONS.incremental_source = a
return True
elif o in ("-w", "--wipe_user_data"):
OPTIONS.wipe_user_data = True
else:
return False
return True
args = common.ParseOptions(argv, __doc__,
extra_opts="b:k:i:d:",
extra_opts="b:k:i:d:w",
extra_long_opts=["board_config=",
"package_key=",
"incremental_from="],
"incremental_from=",
"wipe_user_data"],
extra_option_handler=option_handler)
if len(args) != 2: