change incremental OTA file install order
(Cherry-pick from donut.)
Delete the old recovery-from-boot patch before patching system files,
then install the new one at the end of the process. Also fix an issue
with applypatch returning the wrong status.
Change-Id: I614fce39f307eded696ba792912b863f9fb0580b
diff --git a/tools/releasetools/ota_from_target_files b/tools/releasetools/ota_from_target_files
index dddaafc..920ce8f 100755
--- a/tools/releasetools/ota_from_target_files
+++ b/tools/releasetools/ota_from_target_files
@@ -751,7 +751,8 @@
# as fodder for constructing the recovery image.
recovery_sh_item = MakeRecoveryPatch(output_zip,
target_recovery, target_boot)
- script.UnpackPackageDir("recovery", "/system")
+ script.DeleteFiles(["/system/recovery-from-boot.p",
+ "/system/etc/install-recovery.sh"])
print "recovery image changed; including as patch from boot."
else:
print "recovery image unchanged; skipping."
@@ -787,6 +788,10 @@
script.Print("Unpacking new files...")
script.UnpackPackageDir("system", "/system")
+ if updating_recovery:
+ script.Print("Unpacking new recovery...")
+ script.UnpackPackageDir("recovery", "/system")
+
script.Print("Symlinks and permissions...")
# Create all the symlinks that don't already exist, or point to