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/delta_diff_generator.h
|
b42b98db059a12c44110588fc0b3d5f82d32a2f8 |
|
07-Jul-2015 |
Alex Deymo <deymo@chromium.org> |
update_engine: Load minor_version from the FilesystemInterface. In the normal use case, cros_generate_update_payload doesn't pass the requested minor_version to delta_generator which means we need to detect it from the old image. To detect it, we where looking at the update_engine.conf file in the mounted source directory. This patch uses the recently added FilesystemInterface::LoadSettings() method to read the update_engine.conf settings from the source rootfs partition. In order to make this information available when autodetecting the minor_version and to help future FilesystemInterface mocking for testing, we move the FilesystemInterface instance from inside the OperationsGenerator class to the PartitionConfig, so the filesystems are opened before calling GenerateUpdatePayloadFile. This patch then deprecates the --old_dir flag removing the requirement to run delta_generator and cros_generate_update_payload as root when generating deltas. BUG=chromium:305832 TEST=Ran cros_generate_update_payload to generate deltas from old (link FSI) and new (ToT link) images. Change-Id: I915679d62aae2d1a2acee68cc8c1ec691cc363ad Reviewed-on: https://chromium-review.googlesource.com/283643 Trybot-Ready: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
14158570d3995008dc93a628004118b87a6bca01 |
|
13-Jun-2015 |
Alex Deymo <deymo@chromium.org> |
update_engine: Split delta_diff_generator file. The DeltaDiffGenerator class includes both an OperationsGenerator using the A-to-B operations and a set of common methods used also by the inplace generator. The delta_diff_generator.{h,cc} files also include a single function to generate the payload (GenerateUpdatePayloadFile) that centralizes the logic of generating the operations and writing the payload. This patch splits these three parts in different files. The common delta diff function are moved to the delta_diff_utils.{h,cc} files. The operations generator class that uses A-to-B operations is now in a new ab_generator.{h,cc} pair of files that implement the ABGenerator() class. Finally, the payload file writing methods are now in a single PayloadFile class. This allow us to create payload files without the need to generate images and their deltas. This will be used in a follow up CL to remove the image generation logic from the unittests. BUG=chromium:351589 TEST=Ran unittests. Regenerate a payload with and without this patch; got the same results. Change-Id: I6816d2c805ba8c0c5c9423c720131a100a15ebaa Reviewed-on: https://chromium-review.googlesource.com/280838 Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org> Trybot-Ready: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
249fbf5be69e8de37fbac33c1570a58f902b1f6f |
|
16-Jun-2015 |
Alex Deymo <deymo@chromium.org> |
update_engine: Avoid emitting a MOVE to 0. Workaround the bug where we can't emit a MOVE to the block 0 by excluding it from the inplace generator graph and re-adding the operation later. BUG=chromium:500423 TEST=delta_generator from lulu-R43-6946.31.0 to R45-7174.0.0, test image. Change-Id: I3f16c2ae58b0f31869a39af6a45f7798960c722b Reviewed-on: https://chromium-review.googlesource.com/278020 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Gilad Arnold <garnold@chromium.org> Trybot-Ready: Filipe Brandenburger <filbranden@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
35589c2b9a0e20b42661b132890128d8025c1954 |
|
07-Jun-2015 |
Alex Deymo <deymo@chromium.org> |
update_engine: Remove rootfs_mountpt from ImageConfig. The mounted rootfs is not used anymore during opeartions generation so this patch removes the setting from the ImageConfig. The --new_dir flag is now deprecated because of this. The --old_dir is still being used when no --minor_version is passed, to autodetect the minor version of the old image. With this patch, the rootfs and kernel partitions have a more generic description in the config. BUG=None TEST=Unittest still pass. Change-Id: I0398493a44f8c09159a93a716f2168f45e8f8df9 Reviewed-on: https://chromium-review.googlesource.com/275805 Tested-by: Alex Deymo <deymo@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
6b9e38ef1180efe55e4a82bb18536d1b53fe493d |
|
05-Jun-2015 |
Alex Deymo <deymo@chromium.org> |
update_engine: Use the FilesystemInterface to generate deltas. This patch removes the FilesystemIterator used to iterate the file data blocks, the metadata.{cc,h} files used to iterate the metadata blocks and the ReadUnwrittenBlocks() method used to process the rest of the blocks. Instead, these three cases are handled by the same DeltaReadFilesystem() method using the FilesystemInterface abstraction for ext2. The sub-file block handling was changed from (filename, offset, size) to just the list of blocks (or Extents) and the parsing of the filesystem was removed from the methods that produce operations. The filename is kept just as a label for logging purposes. This patch implies that the filesystem doesn't need to be mounted in order to generate the payload, as all the data is accessed as blocks in a partition. The mountpoint was removed from all the operations generators, but it is still required to mount the old filesystem to detect the minor version supported by the old update_engine. Also, since the list of blocks is never accessed using the FIGETBSZ ioctl, no payload_generator/ test require root privileges, nor the delta_generator binary. BUG=chromium:305832,chromium:331965 TEST=Updated unittest to use extents. Change-Id: Ia2ea9433190258f70e3bce09f896b18326a7abf9 Reviewed-on: https://chromium-review.googlesource.com/275804 Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
52490e776a9d34a94fb18ab1fe7d416425e94dda |
|
04-Jun-2015 |
Alex Deymo <deymo@chromium.org> |
update_engine: Further move Extent manipulation to extent_utils. This patch moves more Extent manipulation functions to extent_utils. It moves NormalizeExtents() and creates a new ExtentsSublist() function that will be used by a follow up CL. BUG=None TEST=Added unittests. Change-Id: Icf0ef0af208aa45c9f44e1a73662b3efd8bbbb45 Reviewed-on: https://chromium-review.googlesource.com/275801 Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
5c6c65570013bbdbd67f9bf6391dd295ef5b5ee6 |
|
03-Jun-2015 |
Alex Deymo <deymo@chromium.org> |
update_engine: Split Extent utils from graph_utils. "Graph" related utils should only concern parts of the code using the inplace generator, since other generators don't use a dependency graph. This patch splits the Extent related utils from the graph related ones creating a new extent_utils.h file. BUG=None TEST=unittest still pass. Change-Id: I0941698b0a47a6cc222e8dc062fc54eb3cdf4de2 Reviewed-on: https://chromium-review.googlesource.com/274899 Reviewed-by: Gilad Arnold <garnold@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
46bd4e20c20d6cb1a2f18d39237b9345d576669e |
|
14-May-2015 |
Gilad Arnold <garnold@chromium.org> |
update_engine: Fix splitting and merging of operation. As previously implemented, these features retained the original operation type, thus potentially violating an invariant of the delta format by which an operation must have the minimum possible size. This could take form in either direction; in one case, we've seen this fail payload verification when a large REPLACE_BZ was split into small operations and the compressed blob of one was larger than the size of the written blocks (i.e. compression was disadvantageous). Instead, when splitting and merging operations we now choose an optimal operation type among REPLACE and REPLACE_BZ. This means that every split/merged data blob is compressed and its size compared to its uncompressed form, storing the smaller of the two and setting the operation type accordingly. This also refactors unit tests and adds more test cases to ensure that operation types are chosen optimally and that the conversion is correct in both directions. Finally, this re-enables the splitting of REPLACE_BZ operations, which was disabled (CL:270581) to prevent payload breakages. BUG=chromium:487595 TEST=Unit tests Change-Id: Ib348b76a96eba6dd612cafa412e1231c43389f96 Reviewed-on: https://chromium-review.googlesource.com/271277 Trybot-Ready: Gilad Arnold <garnold@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Reviewed-by: David Zeuthen <zeuthen@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
41e3474eebe3748a45aba4b297a7a313a1006c6c |
|
11-May-2015 |
Gilad Arnold <garnold@chromium.org> |
update_engine: Merge contiguous operations (reprise). This is reapplying CL:269604 with a small fix that prevents it from adding spurious src_length fields when merging payload operations. This also revises relevant unit tests to catch the said error. The original change is described below. Merges operations of type SOURCE_COPY, REPLACE, or REPLACE_BZ if they have the same type, are contiguous, have only one destination extent, and their combined block count does not exceed the chunk size. BUG=chromium:461651 BUG=chromium:486497 TEST=Unit test (fails before fix, passes after) TEST=Trybot Change-Id: I9f3d7f653454e27177428f2d7c0e6485184a7f8b Reviewed-on: https://chromium-review.googlesource.com/270268 Trybot-Ready: Gilad Arnold <garnold@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
542032d92433045a66e888588d133a47c7fcf956 |
|
11-May-2015 |
Gilad Arnold <garnold@chromium.org> |
Revert "update_engine: Merge contiguous operations." This reverts commit 6a3ea94766bb4972abbd629779914d80dada1245. The CL is suspected to close the tree due to paygen failures. See comments inline (delta_diff_generator.cc) for the culprit. BUG=chromium:486497 TEST=trybot Change-Id: Iaed694a79371e7de208b0de90f8e9cefd61dd7e6 Reviewed-on: https://chromium-review.googlesource.com/270183 Trybot-Ready: Mike Frysinger <vapier@chromium.org> Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org> Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org> Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
58455ae7fe87a312ae648d871a92e1485d0e9989 |
|
04-May-2015 |
Allie Wood <alliewood@chromium.org> |
update_engine: Merge contiguous operations. Merges operations of type SOURCE_COPY, REPLACE, or REPLACE_BZ if they have the same type, are contiguous, have only one destination extent, and their combined block count does not exceed the chunk size. BUG=chromium:461651 TEST=`cros flash --src-image-to-delta`, checking generated payloads using `cros payload show --list_ops`, unit tests. CQ-DEPEND=CL:269134 Change-Id: I5f71e6828561f2e0a6a8ab3e3aae4c362ea2ddde Reviewed-on: https://chromium-review.googlesource.com/269604 Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Trybot-Ready: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
c4797c4c84bd7b25c83c841d65d2599a587c8c10 |
|
08-May-2015 |
Gilad Arnold <garnold@chromium.org> |
update_engine: Delta generator should not read past old image size. This fixes a problem that was introduced by CL:246670 and caused the delta generator to fail when generating deltas from a source image that's smaller than the target image. The bug is fixed by ensuring that the reading and comparing of unused blocks is not attempted for block indexes that exceed the size of the old image. Instead, these blocks are assumed to be new and their content packaged into the payload. BUG=chromium:477876 TEST=Unit tests TEST=delta_generator successfully applied to FSI version 2913.331.0 Change-Id: Icc3163cca25ebeaefe05c2ba852664b6f0504053 Reviewed-on: https://chromium-review.googlesource.com/270075 Trybot-Ready: Gilad Arnold <garnold@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
db1d5a6204ead78024bcfc854cbf084cc53f1734 |
|
04-May-2015 |
Allie Wood <alliewood@chromium.org> |
update_engine: Sort operations by output block. After fragmenting SOURCE_COPY, REPLACE, and REPLACE_BZ operations, payload generator will sort the operations by the start block of their first destination extents. This reduces seeking when writing during payload application. BUG=chromium:461649 TEST=`cros flash --src-image-to-delta`, checking generated payloads using `cros payload show --list_ops`. CQ-DEPEND=CL:269130 Change-Id: I1e2d8e940cd0ce66a1ec62711653ba8b34b0f0a5 Reviewed-on: https://chromium-review.googlesource.com/269134 Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
0d73e03afb30dd402255fd030293b145de492af6 |
|
02-May-2015 |
Allie Wood <alliewood@chromium.org> |
update_engine: Split fragmented REPLACE_BZ ops. Splits REPLACE_BZ operations with multiple destination extents into REPLACE_BZ operations with only one destination extent each. BUG=chromium:461643 TEST=`cros flash --src-image-to-delta` and unit tests. CQ-DEPEND=CL:268520 Change-Id: Ia5c055047c4bb863871507f32d028e4e28cb6af6 Reviewed-on: https://chromium-review.googlesource.com/269130 Reviewed-by: Allie Wood <alliewood@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Trybot-Ready: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
ba4c8b7d7b331be33604bb9e417f1108ba17a868 |
|
28-Apr-2015 |
Allie Wood <alliewood@chromium.org> |
update_engine: Split fragmented REPLACE operations. Splits REPLACE operations with multiple destination extents into REPLACE operations with only one destination extent each. BUG=chromium:461643 TEST=`cros flash --src-image-to-delta` and unit tests. CQ-DEPEND=CL:267697 Change-Id: Id14ec9f23a462f94821454289857e9f25e756d24 Reviewed-on: https://chromium-review.googlesource.com/268520 Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Trybot-Ready: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
b6656a757e8379b63597c1417a8062c5cf416651 |
|
14-Apr-2015 |
Allie Wood <alliewood@chromium.org> |
update_engine: Split fragmented SOURCE_COPY ops. Splits SOURCE_COPY operations with multiple destination extents into individual SOURCE_COPY operations with only one destination extent each. Also normalizes the extent lists before splitting the operation. BUG=chromium:461641 TEST=`cros flash --src-image-to-delta` and unit tests. CQ-DEPEND=CL:267360 Change-Id: I4d4fbe36165d98df7f36e4a1ddacc9b62ee97002 Reviewed-on: https://chromium-review.googlesource.com/267697 Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Trybot-Ready: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
9f6f0a53509476be5f0ba152ec182d46a8d3c976 |
|
30-Mar-2015 |
Allie Wood <alliewood@chromium.org> |
update_engine: Implement SOURCE_COPY/SOURCE_BSDIFF operations. Implement SOURCE_COPY and SOURCE_BSDIFF in DeltaPerformer. These new operations are the same as MOVE and BSDIFF, respectively, except that they read from the source partition rather than the destination partition. Also fills in the source paths in omaha_response_handler_action, which were previously not being set. BUG=chromium:461632 TEST=`FEATURES=test emerge-link update_engine` and manual testing. Change-Id: I81eba5780c73ed920a5db72702d9d7c67dbaa673 Reviewed-on: https://chromium-review.googlesource.com/263747 Reviewed-by: Allie Wood <alliewood@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Trybot-Ready: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
568734533c25a5783ea004aeb0da38244dcd3e5b |
|
28-Mar-2015 |
Allie Wood <alliewood@chromium.org> |
update_engine: Remove sparse hole extents. Whenever there is an extent beginning with a sparse hole, that extent will be filtered out. Extents are now read in from the partition rather than the file itself in ReadFileToDiff. src/dst_length are set to the number of blocks in src/dst_extents * block_size. This was tested manually with _GenerateSinglePayload to generate a delta payload between test images. BUG=chromium:469792,chromium:474497 TEST=`FEATURES=test emerge-link update_engine` and manual testing. Change-Id: I384ec3f16f7fd9087159817358308f22d29e9edf Reviewed-on: https://chromium-review.googlesource.com/264442 Reviewed-by: Don Garrett <dgarrett@chromium.org> Trybot-Ready: Alex Deymo <deymo@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
703022b71fc6a89796f2f97448b1a419007a52ca |
|
07-Apr-2015 |
Shawn N <shawnn@chromium.org> |
Revert "update_engine: Remove sparse hole extents." Speculatively reverting commit 96b659d794be39762e8e7fd9f72fe6f723e21ec8 due to crbug.com/474497. Change-Id: I17fd91c8568b30eafea9e70c9f2255ac2dc459a6 Reviewed-on: https://chromium-review.googlesource.com/264306 Reviewed-by: Shawn N <shawnn@chromium.org> Commit-Queue: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
8e2c4ef89b1c2c8779d003b40c70c75db1839bfb |
|
28-Mar-2015 |
Allie Wood <alliewood@chromium.org> |
update_engine: Remove sparse hole extents. Whenever there is an extent beginning with a sparse hole, that extent will be filtered out. Extents are now read in from the partition rather than the file itself in ReadFileToDiff. BUG=chromium:469792 TEST=`FEATURES=test emerge-link update_engine` Change-Id: I615df120f6e46f66d500128561e0ddfcd407c13a Reviewed-on: https://chromium-review.googlesource.com/262965 Reviewed-by: Allie Wood <alliewood@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
477aec2166a571cbe28081d806c3226e8b31b6e9 |
|
25-Mar-2015 |
Alex Deymo <deymo@chromium.org> |
update_engine: Refactor OperationsGenerator into a base class. This refactor cleans up the interface of the algorithms that generate the list of rootfs and kernel operations removing the mention of a Graph from it. The Graph class is only used by the in-place generator because it requires to keep track of dependencies between operations reading or writting the same block. The full update generator, using only REPLACE or REPLACE_BZ doesn't need to use a graph to do that, but in order to reuse some code, the interface was hacked that way. This patch now uses two vectors of "AnnotatedOperations", which are a mere InstallOperation as defined by the .proto file plus a name used for logging purposes only. Both rootfs and kernel operations have now the same type on the interface, allowing to share common functions handling those. BUG=chromium:331965 TEST=FEATURES=test emerge-link update_engine Change-Id: I78566bbecb948634b7ecc8d086766ce67a79b43e Reviewed-on: https://chromium-review.googlesource.com/262281 Reviewed-by: Alex Vakulenko <avakulenko@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org> Trybot-Ready: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
fdf005161523d9873a281f2a96d51dd4a3261f4f |
|
02-Mar-2015 |
Allie Wood <alliewood@chromium.org> |
update_engine: Add fds for the source partitions. Add new fds for the source partition, one for the rootfs and another for the kernel. These are opened if we have a delta update with minor version 2. This change also adds support for changing the minor versions in tests. There is a new private member, supported_minor_version_, which defaults to kSupportedMinorPayloadVersion. It is set in the unit tests with calls to SetSupportedVersion. BUG=chromium:463573 TEST=`FEATURES=test emerge-link update_engine` Change-Id: Ib988c91eb450b2499c615ae65b271691dfd9c651 Reviewed-on: https://chromium-review.googlesource.com/260950 Trybot-Ready: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
9b244df41f1bdaddd87b7dbd8e1559556059ed1b |
|
12-Mar-2015 |
Alex Deymo <deymo@chromium.org> |
update_engine: Refactor operation generation methods. We have so far three methods to generate the list of operations to update the kernel and the rootfs partitions, which are different strategies: full (using only REPLACE and REPLACE_BZ), delta "in-place" (using also MOVE and BSDIFF) and "source" delta, or delta minor version 2 (using SOURCE_COPY and SOURCE_BSDIFF instead). As we consider ways to support updates for squashfs, the two delta methods don't support filesystems other than ext2, so we need to use yet another different strategy for those. This patch splits the code that generates the list of operations for the kernel and the rootfs in three methods with the same interface. No functional changes were made. Some local functions were exposed as public static methods. The new graph_types.cc is added to avoid a link-time error when the kInvalidIndex member is not inlined. BUG=chromium:430950 TEST=FEATURES=test emerge-link update_engine Change-Id: Ib25ff7a6f17d0990637596dcd6b59568b9e15d26 Reviewed-on: https://chromium-review.googlesource.com/259462 Reviewed-by: Alex Vakulenko <avakulenko@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
f1cbe1783dd025bd7243a8df12f20548196cc023 |
|
06-Mar-2015 |
Alex Deymo <deymo@chromium.org> |
update_engine: Refactor payload generation request args in a class. This patch introduces a new struct PayloadGenerationConfig encapsulating the payload generation request performed by the user in the command line. Since we have several payload generation strategies that are triggered based on the source image version and if there is an image version at all, encapsulating the request in a single struct helps splitting the different strategies in independent classes and pass the payload generation configuration struct with the request to those classes. BUG=chromium:430950 TEST=FEATURES=test emerge-link update_engine Change-Id: Ie960c6510bf02d8e10f5e1adaa847a2048c59598 Reviewed-on: https://chromium-review.googlesource.com/258520 Reviewed-by: Alex Vakulenko <avakulenko@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
fffd23e1ed1903beeb893640c611001175380186 |
|
26-Feb-2015 |
Allie Wood <alliewood@chromium.org> |
update_engine: Payload generator emits SOURCE_COPY and SOURCE_BSDIFF ops. When generating delta updates, payload generator will now emit SOURCE_COPY and SOURCE_BSDIFF operations instead of MOVE and BSDIFF when the minor version is 2. BUG=chromium:461167 TEST=`FEATURES=test emerge-link update_engine` Change-Id: I1e7553312db7362d44d320d457e4a59756bfe5b9 Reviewed-on: https://chromium-review.googlesource.com/254780 Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Trybot-Ready: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
cd514b531a38da1497630fa68b6e3ef45871893d |
|
19-Feb-2015 |
Allie Wood <alliewood@chromium.org> |
update_engine: Refactor inplace payload generator algorithm code. Create a class, InplaceGenerator, that contains all functionality related to the inplace delta generation method (minor version 1). BUG=chromium:459701 TEST=`FEATURES=test emerge-link update_engine` Change-Id: Ib742f70030d6c2fcb1cc3138e0f4aef54eca6975 Reviewed-on: https://chromium-review.googlesource.com/251621 Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
78750a450ce84b2d335134402d041aa8773ab8ef |
|
12-Feb-2015 |
Allie Wood <alliewood@chromium.org> |
update_engine: Detect supported minor version from conf file. If the delta minor version is not given as a command line argument, the payload generator will look for the minor version in etc/update_engine.conf in the old image. BUG=chromium:455493 TEST=`FEATURES=test emerge-link update_engine` CQ-DEPEND=CL:249956 Change-Id: I0f8e3f3c05432169770f2e8e283e8f1fb363def3 Reviewed-on: https://chromium-review.googlesource.com/249955 Reviewed-by: Alex Vakulenko <avakulenko@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
f68bbbc952aa9a71898e4939b5f36187fa564a50 |
|
09-Feb-2015 |
Alex Vakulenko <avakulenko@chromium.org> |
update_engine: replace std::vector<char> with chromeos::Blob To make update engine consistent with the rest of platform2 code replaced std::vector<char> as the container of binary data with chromeos::Blob. BUG=None TEST=`FEATURES=test emerge-link update_engine` Change-Id: I6385fd2257d15aa24bfa74ac35512c2a06c33012 Reviewed-on: https://chromium-review.googlesource.com/247793 Reviewed-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Tested-by: Alex Vakulenko <avakulenko@chromium.org> Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
b8ccad0a8ac2632da2788b47d85e62e334bbe652 |
|
09-Feb-2015 |
Allie Wood <alliewood@chromium.org> |
update_engine: Add command line option for payload minor version. Adds minor_version option to delta_generator for delta updates. This defaults to kSupportedMinorPayloadVersion when the value is not given. Stores the value in the DeltaArchiveManifest protobuf. Checks that the specified version is supported, and fails if it is not. BUG=chromium:455489 TEST=delta_diff_generator unit tests and manual testing. Change-Id: I95fb5576d8f33fe8be738488c5ea85d8a46e917b Reviewed-on: https://chromium-review.googlesource.com/247802 Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Trybot-Ready: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
05735a1879a553153458aae0a25fa5d42e3e408f |
|
03-Sep-2014 |
Ben Chan <benchan@chromium.org> |
update_engine: Include base/macros.h instead of base/basictypes.h update_engine no longer uses the integer types from base/basictypes.h. It should simply include base/macros.h for the DISALLOW_COPY_AND_ASSIGN macro instead. BUG=None TEST=`FEATURES=test emerge-$BOARD update_engine` Change-Id: Idf18bc69339b7170122b289342c724c862454062 Reviewed-on: https://chromium-review.googlesource.com/216140 Tested-by: Ben Chan <benchan@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Ben Chan <benchan@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
923d8faa6b341ce5e16a760749e98cc6703ca2fd |
|
16-Jul-2014 |
Alex Deymo <deymo@chromium.org> |
update_engine: Split payload signing and verification. Payloads are only signed on server-side code (delta_generator) and verified on both sides and unittest. This removes the dependency of payload_generator/ code from delta_performer.cc by spliting the payload signing and verification in two files. Currently, both files are still included on all the built files. This patch also includes some minor linter fixes. BUG=chromium:394184 TEST=FEATURES="test" emerge-link update_engine; sudo emerge update_engine Change-Id: Ia4268257f4260902bc37612f429f44ba7e8f65fd Reviewed-on: https://chromium-review.googlesource.com/208540 Tested-by: Alex Deymo <deymo@chromium.org> Reviewed-by: Alex Vakulenko <avakulenko@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|
161c4a132743f15fc4757112b673085c2a7a7f29 |
|
17-May-2014 |
Alex Deymo <deymo@chromium.org> |
Move payload generator files to payload_generator/ directory. This creates a new subdirectory payload_generator/ with all the payload generator specific files. The SConstruct file is updated to continue building all the files together, including those in the subdirectories, since some parts of the update_engine are using parts of the payload generation code. To reduce this code coupling, a new payload_constants.h file is introduced, with few constants used on the payload definition by both the payload generation and the payload performer. Finally, includes are updated and in some cases removed when they weren't used. Order of includes is also fixed to comply with the style guide. BUG=chromium:374377 TEST=Build and unittests still pass. delta_generator still present on base directory. Change-Id: I454bbc7a66c70ebb19fd596c352c7be40a081f3d Reviewed-on: https://chromium-review.googlesource.com/200325 Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org>
/system/update_engine/payload_generator/delta_diff_generator.h
|