History log of /external/bsdiff/Makefile
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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