summaryrefslogtreecommitdiffstats
path: root/tools/releasetools/rangelib.py
Commit message (Collapse)AuthorAgeFilesLines
* py3: update all the thingsAnthony King2016-01-041-0/+2
| | | | Change-Id: I5e11b46b7c2f7f8760d6c0e713ca99c1e88b7cd3
* Split large files for BBOTA v3.Tao Bao2015-08-261-0/+33
| | | | | | | | | | | | | | | | | | | | | | | For BBOTA v3, we need to stash source blocks to support resumable feature. However, with the growth of file size and the shrink of the cache size, source blocks that represent a file are too large to be stashed as a whole. CL in [1] solves the issue by replacing the diff command with a "new" command. However, it may increase the generated package size substantially (e.g. from ~100MB to ~400MB). With this CL, if a file spans too many blocks, we split it into smaller pieces by generating multiple commands. For the same case above, it reduces the package size to ~150MB. One potential downside is that after splitting, files like .jar, .apk and .zip can no longer use imgdiff. We may lose the potential benefit of using imgdiff for patch size reduction. [1] commit 82c47981bd0602a1c7b50dfabf9a6a2412993bae Bug: 22430577 Change-Id: Iee1ad6543f3d40368e079e418cc31728e1ab3f48 (cherry picked from commit 9a5caf2c30e5dcb19823dff328de1cfb140a2799)
* Zero out blocks that may be touched by dm-verity.Tao Bao2015-07-101-0/+22
| | | | | | | | | | dm-verity may touch some blocks that are not in the care_map due to block device read-ahead. It will fail if such blocks contain non-zeroes. As a workaround, we mark them as extended blocks and zero out explicitly to avoid dm-verity failures. Bug: 20881595 Change-Id: I54e24e70ad822c0d6d7af43301f74d24505f4461
* Make releasetools pylint clean.Dan Albert2015-03-241-1/+2
| | | | | | | | This caught a few bugs/syntax errors (a few character classes were not escaped properly in regex patterns, some indentation was illegal, etc). Change-Id: I50637607524e68c4fb9cad7167f58a46b8d26b2c
* add unit tests for rangelibDoug Zongker2014-09-251-19/+51
| | | | Change-Id: I3b77e849007259e697da56bd493ae5b553b901d1
* generate version 2 blockimgdiff filesDoug Zongker2014-09-251-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | Generate version 2 of the block_image_update transfer list format. This improves patch size by a different strategy for dealing with out-of-order transfers. If transfer A must be done before transfer B due to B overwriting A's source but we want to do B before A, we resolve the conflict by: - before B is executed, we save ("stash") the overlapping region (ie the blocks B will overwrite that A wants to read) - when A is executed, it will read those parts of source data from the stash rather than from the image. This reverses the ordering constraint; with these additions now B *must* go before A. The implementation of the stash is left up to the code that executes the transfer list to apply the patch; it could hold stashed data in RAM or on a scratch disk such as /cache, if available. The code retains the ability to build a version 1 block image patch; it's needed for processing older target-files. Change-Id: Ia9aa0bd45d5dc3ef7c5835e483b1b2ead10135fe
* add missing AOSP copyright noticesDoug Zongker2014-09-021-0/+14
| | | | Change-Id: Idc812db30b259a55702f8728197f957f2d24d978
* new block OTA system toolsDoug Zongker2014-08-261-0/+161
Replace the xdelta/xz-based block OTA generation with a new system based on the existing bsdiff/imgdiff tools. Bug: 16984795 Change-Id: Ia9732516ffdfc12be86260b2cc4b1dd2d210e886