releasetools: Abort the update on apply_patch failures.
We used to silently ignore the return value from apply_patch() even if
it had failed. It gives us more trouble to investigate the failure when
the affected file/partition gets touched in subsequent OTAs. This CL
adds the checking of the return value and aborts the update accordingly.
Bug: 25893277
Change-Id: Ie5e1c563576e503343e6a5b28ed4d7039f6f919c
diff --git a/tools/releasetools/edify_generator.py b/tools/releasetools/edify_generator.py
index b3785ac..d923cc8 100644
--- a/tools/releasetools/edify_generator.py
+++ b/tools/releasetools/edify_generator.py
@@ -284,8 +284,8 @@
cmd = ['apply_patch("%s",\0"%s",\0%s,\0%d'
% (srcfile, tgtfile, tgtsha1, tgtsize)]
for i in range(0, len(patchpairs), 2):
- cmd.append(',\0%s, package_extract_file("%s")' % patchpairs[i:i+2])
- cmd.append(');')
+ cmd.append(',\0%s,\0package_extract_file("%s")' % patchpairs[i:i+2])
+ cmd.append(') ||\n abort("Failed to apply patch to %s");' % (srcfile,))
cmd = "".join(cmd)
self.script.append(self.WordWrap(cmd))