Reopen temporary system image to avoid stale data.
NamedTemporaryFile's aggressive caching behavior can cause an issue
where changes made by another process aren't visible even after the
fseek() below or a flush(). To avoid this, simply open the file
again and read from the fresh version.
This fixes an issue where verity metadata written by append2simg
doesn't become visible to img_from_target_files.
Change-Id: I291fb3a95d5b532218ac6205ecc9e9b4f3a36bd4
diff --git a/tools/releasetools/img_from_target_files.py b/tools/releasetools/img_from_target_files.py
index 596a47e..93092b3 100755
--- a/tools/releasetools/img_from_target_files.py
+++ b/tools/releasetools/img_from_target_files.py
@@ -90,8 +90,7 @@
mapdata = None
if sparse:
- img.seek(os.SEEK_SET, 0)
- data = img.read()
+ data = open(img.name).read()
img.close()
else:
success, name = build_image.UnsparseImage(img.name, replace=False)