79ffca0eec59ce48514af7a3ef8ba13abb3ea4a3 |
|
29-Mar-2016 |
Sen Jiang <senj@google.com> |
Stream the output to disk. Now that update_engine no longer uses minor version 1, old file and new file are always different in the device, so we can write the output to disk right away to save memory. The old behavior is still kept if the new file is overlapping with the old file for paycheck.py usage. Test: bsdiff_unittest Test: apply a 3M patch overwriting old file, uses 25M memory. Test: apply a 3M patch not overwriting old file, uses 9M memory. Bug: 28345972 (cherry picked from commit 5b372b684ac4f9585fb2a00098d77f959bec0074) Change-Id: I532af8389048007078b82d9a4c9071ca349c43b0
/external/bsdiff/Makefile
|
437b7afd23768d737055fa70b79f5f2f714583a5 |
|
15-Oct-2015 |
Alex Deymo <deymo@google.com> |
bspatch: Re-enable extents support. With the implementation of the ExtentsFile, we can now use the FileInterface from bspatch to read and write files. This patch re-enables the extent argument support and adds unittests for the argument parsing. Bug: 24478450 Test: make all test && ./unittest Change-Id: If6837f250df10c24d3ff96f7ad8f0e0d98126788
/external/bsdiff/Makefile
|
03f1debab429e673ba5e9e317c5a04e36e850cef |
|
13-Oct-2015 |
Alex Deymo <deymo@google.com> |
bspatch: Use a C++ interface for file access. This patch moves the exfile.cc implementation to a C++ class with an abstract interface of a file. The implementation of exfile.cc, renamed to extents_file.cc, now uses C++ STL classes and has unittests to test its core functionality. Bug: 24478450 Test: Unittests added. make all test -j5 && ./unittests Change-Id: I8d8f07150ad2ea465c55b5178ca9fbab49185eea
/external/bsdiff/Makefile
|
20891f9c246ec36e6c148579522ac00051b64457 |
|
13-Oct-2015 |
Alex Deymo <deymo@google.com> |
Convert C sources to C++. To help refactoring the FILE* access behind an interface and better integrate with unittest code, this patch moves the C sources to C++. Minor changes to make this conform to C++ were included. Bug: 24478450 Test: `make all test && ./unittests`; mm Change-Id: I27d7fb0660efc18ea0cb84ff544c9dd9c4803050
/external/bsdiff/Makefile
|
a5cff2283b9bc60da9f4e74ba07a2119f5616653 |
|
08-Apr-2015 |
Alex Deymo <deymo@chromium.org> |
Add gtest unittest framework. bsdiff and bspatch are in C and had no unittest. This patch keeps those programs as C code, but adds the C++ gtest unittest framework to allow testing them. Two simple unittests added to validate that the unittests work. BUG=None TEST=make test; ./unittests Change-Id: I8bca6b0c6bc5d5880464183d50a602c9886d20d0
/external/bsdiff/Makefile
|
4384370cec4c917dd5d093546ac524b13e8d7dba |
|
13-May-2014 |
Alex Deymo <deymo@chromium.org> |
bsdiff: Don't install delta_generator tools on the device. Update Engine's delta_generator requires the bsdiff binary to be present on the host when the au-generator.zip is created with the generate_au_zip.py script. This .zip file will later run on the builders. Nevertheless, the bsdiff binary is not required on the ChromeOS devices, only bspatch is. This patch removes the bsdiff and its dependencies from the device saving a few KB. BUG=chromium:372644 TEST=Manual test: TEST=emerge-link --unmerge libdivsufsort && emerge-link bsdiff # Both work, bsdiff not present on link TEST=sudo emerge bsdiff # Works, bsdiff present on the host. Change-Id: Ie2823c796185d616523fe8bf79a7c4c91fa3a0c0 Reviewed-on: https://chromium-review.googlesource.com/199466 Reviewed-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org>
/external/bsdiff/Makefile
|
99b5374de3cf896b8b77779798218be279bda210 |
|
30-Apr-2013 |
Gilad Arnold <garnold@chromium.org> |
bsdiff: support for lazy reading from extent files in bspatch Previously, bspatch used to read the whole content of a file to be patched into a memory buffer, only to copy this data while generating the new file content, which is written to a second buffer. The said read buffer entails an unnecessary memory allocation requirement, especially since it's being indexed almost linearly. This behavior was further extended to support extents (i.e. a list of <offset, length> pairs), which are used extensively during Chrome OS updates. This change introduces extent files, which let users open files through a layer of extents as ordinary glibc file handles. This in turn allows us to easily convert reads from a memory buffer into direct reads from an extent file. Extent files are buffered on the outer level (done for us by glibc), but otherwise use a system file descriptor for the underlying I/O; this proved to be the most efficient combination when applying actual update payloads. Since we are reading a single byte at a time using fread(2), and since the program is decidedly single-threaded, we shift to using _unlocked variants, which appear to reduce the total update time significantly without otherwise affecting memory/CPU footprint. We expect this to cut bspatch's memory usage by nearly one half. Note that in general it is possible to use the same abstraction for implementing direct writing to the target file; however, due to the way we implement delta updates, there is risk that such writes might clobber the read data, and so further support is needed to mark safe operations (i.e. no read/write dependencies) as such. This CL obsoletes the previous ebuild patch for handling extent arguments, which is therefore removed. It also (i) gets rid of logic for special handling of /dev/fd filenames, which is deemed redundant; (ii) fixes the Makefile (via a separate patch) and changes the ebuild to use it, for uniformity; (iii) updates the ebuild to EAPI version 4; (iv) sets -Wall -Werror and fixes eliminates a warning due to bsdiff.c; (v) enhances man pages for both bsdiff/bspatch. BUG=chromium:229705 TEST=Passes update engine unittests with new bspatch TEST=delta payload with BSDIFF operations updates correctly on x86-alex Change-Id: I4bb4afa42e43279048093e7a7f0ef96406b0c9e0 Reviewed-on: https://gerrit.chromium.org/gerrit/49595 Reviewed-by: Gilad Arnold <garnold@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
/external/bsdiff/Makefile
|
c285feace7a051368d4c5069cc6e0f30cd769f0d |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/external/bsdiff/Makefile
|
7ba06301a23a7ddc64bfcdb21b046606a5ba3a05 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/external/bsdiff/Makefile
|
03874566c6f74e11d030fa2c534b3dd5a06721af |
|
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
/external/bsdiff/Makefile
|