make building recovery and boot images optional
If the source target-files zip omits files needed to build the
recovery and/or boot images, leave them out instead of dying with an
error. This lets build like "generic-userdebug" work.
diff --git a/tools/releasetools/ota_from_target_files b/tools/releasetools/ota_from_target_files
index 73eccd4..547c65c 100755
--- a/tools/releasetools/ota_from_target_files
+++ b/tools/releasetools/ota_from_target_files
@@ -310,8 +310,12 @@
script.ShowProgress(0.1, 0)
- common.ZipWriteStr(output_zip, "radio.img", input_zip.read("RADIO/image"))
- script.WriteFirmwareImage("radio", "radio.img")
+ try:
+ common.ZipWriteStr(output_zip, "radio.img", input_zip.read("RADIO/image"))
+ script.WriteFirmwareImage("radio", "radio.img")
+ except KeyError:
+ print "warning: no radio image in input target_files; not flashing radio"
+
script.ShowProgress(0.5, 0)
if OPTIONS.wipe_user_data:
@@ -324,9 +328,10 @@
symlinks = CopySystemFiles(input_zip, output_zip)
script.MakeSymlinks(symlinks)
- common.BuildAndAddBootableImage(os.path.join(OPTIONS.input_tmp, "RECOVERY"),
- "system/recovery.img", output_zip)
- Item.Get("system/recovery.img", dir=False)
+ if common.BuildAndAddBootableImage(
+ os.path.join(OPTIONS.input_tmp, "RECOVERY"),
+ "system/recovery.img", output_zip):
+ Item.Get("system/recovery.img", dir=False)
FixPermissions(script)