ddf9db52938e67d4dcbf7c4f159b094eaddbabeb |
|
03-Mar-2017 |
Alex Deymo <deymo@google.com> |
Update Makefile to build shared libraries. The Makefile didn't build libbspatch and libbsdiff. This patch includes those libraries in the Makefile and moves the header files exposed by those to an include/bsdiff subdirectory following the Android convention so calling program can include "bsdiff/bspatch.h" avoiding any collision with other libraries. The Android.mk is updated to export the new include path while keeping the old style until calling programs are updated. The new Makefile allows Chromium OS to build the new libraries. Bug: None Test: FEATURES=test emerge-link bsdiff; sudo emerge bsdiff Test: mmma external/bsdiff Change-Id: I2ea9251eb224e9418fe236e4c4c9c5621853f590
/external/bsdiff/Makefile
|
716d569273ef2aeacfe7555f60f7784b2366225d |
|
10-May-2016 |
Sen Jiang <senj@google.com> |
Provide interface for in memory bspatch. Renamed existing MemoryFile to BufferFile, and added a read only MemoryFile to provide file interface to read file data already in memory without extra copy (extra memory usage). Added write only SinkFile to provide sink function support used in applypatch. It will enable imgpatch the ability to stream output. Test: mma Bug: 26982501 Change-Id: I025ce4064c9f46623dd73f24d30e21e88f08a292
/external/bsdiff/Makefile
|
5b372b684ac4f9585fb2a00098d77f959bec0074 |
|
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: 25773600 Change-Id: Ic289c9bcc6f1810d0f222a9a4241c05756084b1c
/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
|