39910dcd1d68987ccee7c3031dc269233a8490bb |
|
10-Nov-2015 |
Alex Deymo <deymo@google.com> |
Split payload application code into a subdirectory. This patch splits from the main libupdate_engine code the part that is strictly used to download and apply a payload into a new static library, moving the code to subdirectories. The new library is divided in two subdirectories: common/ and payload_consumer/, and should not depend on other update_engine files outside those two subdirectories. The main difference between those two is that the common/ tools are more generic and not tied to the payload consumer process, but otherwise they are both compiled together. There are still dependencies from the new libpayload_consumer library into the main directory files and DBus generated files. Those will be addressed in follow up CLs. Bug: 25197634 Test: FEATURES=test emerge-link update_engine; `mm` on Brillo. Change-Id: Id8d0204ea573627e6e26ca9ea17b9592ca95bc23
/system/update_engine/payload_generator/block_mapping.cc
|
3f39d5cc753905874d8d93bef94f857b8808f19e |
|
13-Oct-2015 |
Alex Vakulenko <avakulenko@google.com> |
update_engine: Rename "chromeos" -> "brillo" in include paths and namespaces libchromeos is transitioning to libbrillo and chromeos namespaces and include directory is changing to brillo. Bug: 24872993 Change-Id: I770659a95be380a50fe3b2ba9f91d65818f40945
/system/update_engine/payload_generator/block_mapping.cc
|
aea4c1cea20dda7ae7e85fc8924a2d784f70d806 |
|
20-Aug-2015 |
Alex Deymo <deymo@google.com> |
Re-license update_engine to Apache2 This patch automatically replaced the license on all text files from Chromium OS (BSD style) to AOSP (Apache2), keeping the original year as a reference. The license header was added to .gyp and .gypi files, the NOTICE was replaced with a copy of the Apache2 license and MODULE_LICENSE_* file was updated. BUG=b/23084294 TEST=grep 'Chromium OS Authors' doesn't find anything. Change-Id: Ie5083750755f5180a8a785b24fe67dbf9195cd10
/system/update_engine/payload_generator/block_mapping.cc
|
f0061358b5f741baeeb9177b838b289d2ce318f3 |
|
01-Jul-2015 |
Alex Deymo <deymo@chromium.org> |
update_engine: Handle moved and zero blocks in payload generation. Delta generation uses only the file name to detect when files changed. Therefore, renaming a file doesn't get detected and the new name is assumed to be a new file. On the other hand, free-space blocks are often just zeros so they can be easilly encoded independently from the rest. This patch detects blocks that moved and blocks with zeros and handles those blocks beforehand regardless of where are they in the filesystem (file data, metadata, free space, etc). For blocks that moved, SOURCE_COPY or MOVE operations are created as needed. For blocks with zeros we use REPLACE_BZ operations. Blocks processed in this way will be excluded from other files, metadata or free space processing done. This solves perfomance issues when trying to process with bsdiff files with very long runs of zeros. CQ-DEPEND=CL:283643 BUG=chromium:504445 TEST=Unittest added. Run delta_generator between cid canary 7195 and 7201 and it doesn't take forever to finish. Change-Id: I892fe7456608e83a2946133da335eb4fbd19a645 Reviewed-on: https://chromium-review.googlesource.com/283172 Commit-Queue: Alex Deymo <deymo@chromium.org> Trybot-Ready: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Reviewed-by: Gilad Arnold <garnold@chromium.org>
/system/update_engine/payload_generator/block_mapping.cc
|