summaryrefslogtreecommitdiff
path: root/scripts/update_payload
Commit message (Collapse)AuthorAgeFilesLines
...
* paycheck: Check MOVE operations for start block 0.Allie Wood2015-04-272-9/+41
| | | | | | | | | | | | | | | | | paycheck now blocks payloads that read or write to block 0 in a MOVE operation. It must do this because old versions of PReadAll and PWriteAll could not seek to 0. BUG=chromium:480751 TEST=unit tests, test_paycheck.sh Change-Id: I042de444c92896496795af235e9386dca6c77be2 Reviewed-on: https://chromium-review.googlesource.com/267088 Reviewed-by: Gilad Arnold <garnold@chromium.org> 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>
* update_payload: Add SOURCE operations to applier.Allie Wood2015-04-152-23/+125
| | | | | | | | | | | | | | | | | | | Add support for SOURCE_COPY and SOURCE_BSDIFF to paycheck by adding functions to apply these operations in applier. Also remove the source to destination partition copy in the applier when minor version is 2. Adds constants for source and inplace minor versions to common.py. BUG=chromium:461635 TEST=unit tests and ./test_paycheck.sh with sample payloads. CQ-DEPEND=CL:263747 Change-Id: I72d354d0609d205aab374dbdca6f30eb4de6a819 Reviewed-on: https://chromium-review.googlesource.com/264931 Tested-by: Allie Wood <alliewood@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Trybot-Ready: Allie Wood <alliewood@chromium.org>
* update_payload: Fix checker unittests.Allie Wood2015-04-061-12/+3
| | | | | | | | | | | | | | | | Checker unittests failed when fail_bad_type=True in DoCheckOperationsTest. When the operation was added (in AddOperation), a ValueError was raised because an invalid enum value (for op.type) was given. For now, fail_bad_type tests have been removed. BUG=None TEST=`./checker_unittest.py` Change-Id: I19220e295c576b4ddc6f427dedd4bc037908483d Reviewed-on: https://chromium-review.googlesource.com/264005 Reviewed-by: Allie Wood <alliewood@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
* update_payload: Move minor version checks to CheckOperation.Allie Wood2015-02-272-106/+54
| | | | | | | | | | | | | | | Various small fixes. Move checks for operation and minor version compatibility to CheckOperation. BUG=none TEST=`./checker_unittest.py` and running paycheck on payloads. Change-Id: I6abd0ec200c1d4d885b09dfb84ee7e6cfad4172c Reviewed-on: https://chromium-review.googlesource.com/254345 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>
* update_payload: Add checks for new operations and minor version.Allie Wood2015-02-262-10/+189
| | | | | | | | | | | | | | | | | Paycheck now checks to make sure delta payloads with minor version 1 do not have SOURCE_COPY or SOURCE_BSDIFF operations and that payloads with minor version 2 do not have MOVE or BSDIFF operations. It also checks that the minor version given matches the payload type (delta or full). BUG=chromium:459799 TEST=`./checker_unittest.py` and running paycheck on payloads. Change-Id: I2a61e44760ae2b672015acdf8683501327b5d197 Reviewed-on: https://chromium-review.googlesource.com/253050 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>
* update_payload: Remove assertIsNone.Alex Deymo2015-02-261-13/+0
| | | | | | | | | | | | | | | | unittest.assertIsNone was introduced in python 2.7 but at the time our servers were running an older python version. We have migrated to python 2.7 so we can drop the local wrapper now. BUG=None TEST=ran unittest. Change-Id: I1c43d027361ab7f8f5fad83cc900361e5a6ee137 Reviewed-on: https://chromium-review.googlesource.com/253610 Commit-Queue: Alex Deymo <deymo@chromium.org> Trybot-Ready: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org>
* update_payload: Regenerate proto file with new operation codes.Allie Wood2015-02-202-5/+17
| | | | | | | | | | | | | | | Regenerate update_metadata_pb2.py to include SOURCE_COPY and SOURCE_BSDIFF, the new a to b operations for delta minor version 2. BUG=chromium:459363 TEST=unit tests and `cbuildbot --remote link-release --hwtest` Change-Id: I3631c7af97f57d48f86a34c37f97ec8c3cef088d Reviewed-on: https://chromium-review.googlesource.com/250954 Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org>
* update_payload: Regenerate protobuf file.Allie Wood2015-02-091-6/+13
| | | | | | | | | | | | | | | Regenerate update_metadata_pb2.py so that it includes minor_version field. BUG=None TEST=unit tests and `cbuildbot --remote link-release --hwtest` Change-Id: I05a09f2e9afa424aeeb7791982040211c0152957 Reviewed-on: https://chromium-review.googlesource.com/247162 Reviewed-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Allie Wood <alliewood@chromium.org> Tested-by: Allie Wood <alliewood@chromium.org>
* paycheck: Allow payloads with no operations.Gilad Arnold2015-02-062-20/+12
| | | | | | | | | | | | | | | | | Due to a fix to the delta generator (CL:246670) we may actually end up with delta payloads that contain no operations (e.g. a delta from an image to itself). This is a good thing and we want paycheck to not rule out trivial deltas such as these. BUG=chromium:453659 TEST=Empty delta verification passes Change-Id: I461f48bba743a5b96b77aa3f55697ffc5cb8ea0e Reviewed-on: https://chromium-review.googlesource.com/246673 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
* paycheck: Fix format compliance errors.Gilad Arnold2015-02-062-1/+32
| | | | | | | | | | | | BUG=None TEST=None Change-Id: I2d810bae961387a63495ba5bbe85b7222b5f86ef Reviewed-on: https://chromium-review.googlesource.com/246672 Commit-Queue: Gilad Arnold <garnold@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org>
* paycheck: strip newlines off of hash digest stringsGilad Arnold2013-11-121-1/+1
| | | | | | | | | | | | | This is an annoyance I'd like to get rid of. BUG=None TEST=None Change-Id: I6119163ffc4944dd2f857bad055822b37229a692 Reviewed-on: https://chromium-review.googlesource.com/176478 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
* paycheck: fix errors around percentage / formatting of zero sizesGilad Arnold2013-10-073-5/+15
| | | | | | | | | | | | | | | | | | | | | | This fixes two problems, both having to do with histogram generation: * When the total number of elements is zero, paycheck would crash due to a division by zero; further, even if the crash is fixed (returning, say, None) the histogram will contain a meaningless value in parenthesis, which we might as well drop. Both are fixed here. * When some size (say, bytes) is zero, its formatter (bytes-to-human-readable) returns None, which shows up as is in the final report. This should be checked and avoided. BUG=None TEST=Crash fixed; None percentage/formatted value omitted. Change-Id: I8bb5fbc47e1cde9dcbee7f7b96bcb63ef3a0935e Reviewed-on: https://chromium-review.googlesource.com/172046 Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org>
* paycheck: fixes to checker module (readability review)Gilad Arnold2013-09-122-405/+400
| | | | | | | | | | | | | BUG=None TEST=Passes unit tests TEST=Passes integration tests Change-Id: Ifd502af9d2755b2c23805cd03857ebbf0e633732 Reviewed-on: https://chromium-review.googlesource.com/59752 Reviewed-by: Gilad Arnold <garnold@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
* paycheck: allow to pass an explicit path to bspatchGilad Arnold2013-08-262-5/+9
| | | | | | | | | | | | | | | | | The bspatch binary is used when applying update payloads. By default, we were using whatever bspatch that was found via path expansion in os.execvp, however there are cases where we want to be specific about where the bspatch binary is that we need to be using (such as during paygen runs). BUG=chromium:277072 TEST=Non-default bspatch binary used Change-Id: I85ffd28aeb26938cbf5ea428fa97d29af0353a7d Reviewed-on: https://gerrit.chromium.org/gerrit/66736 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
* paycheck: accommodate > 255 block reads/writesGilad Arnold2013-07-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | It turns out that, in some delta payloads, we're read/writing specific blocks as many as 270 times. Therefore, the unsigned char counters we've used for recording these accesses overflow and cause the execution to die unexpectedly (also failing paygen when that happens). This change increases the counter size to an unsigned short. It should be noted that the fact that we have such frequently accessed blocks through the course of an update is somewhat troubling by itself, and should be investigated. BUG=chromium:261417 TEST=Checking a previously failed payload now passes Change-Id: I47903cde9971c142cd33382b485b22a88a06b80f Reviewed-on: https://gerrit.chromium.org/gerrit/63040 Commit-Queue: Gilad Arnold <garnold@chromium.org> Reviewed-by: Gilad Arnold <garnold@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org>
* update_payload library: TODO + bug referencesGilad Arnold2013-06-101-0/+4
| | | | | | | | | | | BUG=chromium:243559 TEST=None Change-Id: I6837b87ff6f0b845ebbca97fdfa4190dc2d1282a Reviewed-on: https://gerrit.chromium.org/gerrit/57179 Commit-Queue: Gilad Arnold <garnold@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org>
* paycheck/applier: stop using fallocateGilad Arnold2013-06-031-5/+5
| | | | | | | | | | | | | | | | | | It appears that fallocate is not supported on certain filesystems (e.g. failing on paygen genati instances). It also appears that we can do just fine without it when applying a full update, without significant impact on performance. In the interest of making the update_payload library more portable, we therefore drop the fallocate call and replace it with a simple create/truncate code (all Python standard lib calls). BUG=chromium:244091 TEST=Integration tests Change-Id: I57f7dec19e8131050c1d56d891e486714d4f7128 Reviewed-on: https://gerrit.chromium.org/gerrit/56762 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Matt Tennant <mtennant@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
* paycheck: truncate partitions resulting from applying a payloadGilad Arnold2013-05-242-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | Since the correctness of the result only encompasses the filesystem (or otherwise "meaningful data") on the target partition, it is desirable to actually get rid of whatever is past that point. There are different reasons for the presence of such extra space in delta updates, including remnants from a source partition that served as baseline for a delta update, or scratch space used by MOVE operations for breaking cycles. We make truncation the default behavior, although it can be suppressed by passing the right flag (truncate_to_expected_size=False). Note that this change is necessary for comparing the results of applying a payload to the partitions as they are extracted from a target image, which is to be attempted during payload generation. This also fixes tiny gpylint complaints. BUG=chromium:241283 TEST=Emitted partition files truncated as expected Change-Id: Ibb71e4f2305ec41224afdc503168ae02c312f6fe Reviewed-on: https://gerrit.chromium.org/gerrit/56532 Tested-by: Gilad Arnold <garnold@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org> Reviewed-by: Gilad Arnold <garnold@chromium.org>
* paycheck: move stuff from checker_unittest.py to test_utils.pyGilad Arnold2013-05-222-38/+36
| | | | | | | | | | | | | This is all stuff that'll come in handy when testing other modules. BUG=chromium:217039,chromium:215780,chromium:189855 TEST=Passes unittests Change-Id: I57d1fae97330f22748885f8028352f07b5058396 Reviewed-on: https://gerrit.chromium.org/gerrit/47615 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
* paycheck: move default pubkey handling inside the libraryGilad Arnold2013-05-221-7/+9
| | | | | | | | | | | | | | | | This is a more sensible choice given that the pubkey ships within the library directory and hence should not be specified explicitly by an outside entity (like paycheck). From the practical standpoint, it makes this useful feature available to clients who use the library directly. BUG=chromium:241283 TEST=Unit + integration tests Change-Id: I059302326af1e0e394829466ee97ad2f60de4986 Reviewed-on: https://gerrit.chromium.org/gerrit/56335 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
* Update paycheck to understand the updated update_metadata fields.Don Garrett2013-05-152-7/+116
| | | | | | | | | | | | | | | | | | When checking a payload, always start by printing a description of the payload being checked. Recompiled (with protoc) the updated update_metadata.proto from the update_engine. BUG=chromium:226310 TEST=Manual Run CQ-DEPEND=CL:47347 Change-Id: Ib60c6e6978d30444db7b65ef6d09540c9ffacdb8 Reviewed-on: https://gerrit.chromium.org/gerrit/50899 Commit-Queue: Don Garrett <dgarrett@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Tested-by: Don Garrett <dgarrett@chromium.org>
* paycheck: allow src_extents to span the whole new partition sizeGilad Arnold2013-05-141-8/+9
| | | | | | | | | | | | | | | | In a previous fix, we allowed paycheck to consider the whole new partition (beyond just the filesystem) as valid range for write operations. However, since updates are done in place, they should also be considered valid for read operations. This is now fixed. BUG=chromium:240726 TEST=Previously failing delta update now verified successfully Change-Id: Ib904c0265e2fd61ab0768169b3257c4131441888 Reviewed-on: https://gerrit.chromium.org/gerrit/51138 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
* paycheck: applier honors sparse holesGilad Arnold2013-05-131-8/+30
| | | | | | | | | | | | | | | Up until now, paycheck's applier ignored sparse (aka pseudo-) extents completely, except for REPLACE operations (where a sparse extent is an indicator for a signature blob). This is now fixed. BUG=chromium:221846 TEST=Passes integration test Change-Id: I8b7fde6e4bb20912a59ce9a509a20c00c5c0751b Reviewed-on: https://gerrit.chromium.org/gerrit/50558 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
* paycheck: support for in-place BSDIFF operationsGilad Arnold2013-05-133-45/+116
| | | | | | | | | | | | | | | | | | | | | | | | When applying BSDIFF operations in payloads, we used to extract the block sequences from the old partition and serialize it into a temporary file, and vice versa for the new partition. This worked but did not allow us to test bspatch as it is actually being used by the update engine. This CLs allows paycheck to invoke bspatch so that it reads/writes block extents directly from/to the partition file, in the same way it's being used by the update engine. Since performance is the same, this is the new default behavior; users can opt for the aforementioned old behavior using a command-line flag (-x or --extract-bsdiff). BUG=chromium:229705 TEST=bspatch invoked differently depending on the -x flag TEST=Passes unit/integration tests Change-Id: I8821754e1163b357617ece6befa42d1c2e575930 Reviewed-on: https://gerrit.chromium.org/gerrit/50486 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Darin Petkov <petkov@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
* paycheck: src/dst -> old/new in applier codeGilad Arnold2013-05-132-40/+40
| | | | | | | | | | | | | | | The old/new terminology is consistent with that used in update payload manifest, as well as other parts of the update_payload library (e.g. checker). BUG=None TEST=Unit/integration test passes Change-Id: I91244ae8adf073b958e8cd7e7670341f056c848e Reviewed-on: https://gerrit.chromium.org/gerrit/50130 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
* paycheck: use base64 encoding for SHA256 hashes throughoutGilad Arnold2013-05-072-6/+6
| | | | | | | | | | | | | | | | | Turns out we were using base64 when adding SHA256 data to a payload report, but intermittently using hex encoding in error messages. This is now fixed. BUG=None TEST=No mention of hex encoding in the code TEST=gpylinted correctly TEST=Passes unit tests Change-Id: Id2dc2fcd154d4647cc1a076579dde7a789c09e40 Reviewed-on: https://gerrit.chromium.org/gerrit/50104 Reviewed-by: Gilad Arnold <garnold@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org> Commit-Queue: David James <davidjames@chromium.org>
* paycheck: enforce physical partition size correctlyGilad Arnold2013-05-076-71/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During payload checking, payload has wrongly interpreted the size reported in the update payload to be the physical partition size, whereas this is in fact the size of the filesystem portion only (a misnomer). This sometimes caused it to emit errors on out-of-bounds operations, which are otherwise harmless in real-world scenarios. This CL makes a clear distinction between the two, with the following semantics: - The payload's embedded filesystem size must by <= the physical partition sizes. - Reading/writing from/to the new partition must be within the physical partition size boundaries, and not the filesystem ones. - Reading from the old partition is only allowed from filesystem boundaries; this is unchanged from current behavior and appears to be consistent with how we perform delta updates. - Old/new SHA256 verification during payload application is now limited to the allotted filesystem portion only (and not the full partition size). This is consistent with the update engine's semantics. - Other than that, this change currently has no further effect on payload application, which remains more permissive wrt to partition sizes. This also means that the sizes of partitions resulting from a payload application will not necessarily abide by the predetermined physical partition sizes. This is in line with the prevailing division of responsibilities between payload checking (strict) and application (relaxed). BUG=chromium:221847 TEST=Payload checking respects partition size override TEST=Unit tests pass TEST=Integration tests pass Change-Id: I0dbc88d538c0cc53b7551f4dfa8f543bcf480cd5 Reviewed-on: https://gerrit.chromium.org/gerrit/50103 Reviewed-by: Gilad Arnold <garnold@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org> Commit-Queue: David James <davidjames@chromium.org>
* Add public update key as default.Don Garrett2013-05-061-0/+9
| | | | | | | | | | | | | This adds the key, and makes it default. BUG=chromium:237064 TEST=Ran tool manually. Change-Id: I0c47515980dd0349e6d427524b933ff812b61318 Reviewed-on: https://gerrit.chromium.org/gerrit/49704 Tested-by: Don Garrett <dgarrett@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Don Garrett <dgarrett@chromium.org>
* paycheck: allow to disable specific checksGilad Arnold2013-05-024-63/+102
| | | | | | | | | | | | | | | This became necessary as the delta generator appears to generate payloads that fail certain checks (e.g. during update_engine unit testing). BUG=None TEST=Disabled checks not being triggered Change-Id: I4491e0cb32ef44f85e11ffb0402b40d1371525ae Reviewed-on: https://gerrit.chromium.org/gerrit/49676 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
* paycheck: unit tests + fixes to checker moduleGilad Arnold2013-04-057-45/+1646
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds missing unit tests for the checker module, bundled with fixes to some bugs that surfaced due to unit tests. This includes: * A fake extent (signified by start_block == UINT64_MAX) that accompanies a signature data blob bears different requirements than previously implemented. Specifically, the extent sequence must have exactly one extent; and the number of blocks is not necessarily one, rather it is the correct number that corresponds to the actual length of the signature blob. * REPLACE/REPLACE_BZ operations must contain data. * MOVE operation validation must ensure that all of the actual message extents are being used. * BSDIFF operation must contain data (the diff). * Signature pseudo-operation should be a REPLACE. BUG=chromium-os:34911,chromium-os:33607,chromium-os:7597 TEST=Passes unittests (upcoming); works with actual payloads. Change-Id: I4d839d1d4da1fbb4a493b208958a139368e2c8ca Reviewed-on: https://gerrit.chromium.org/gerrit/45429 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
* Modify paycheck to print out hashes in base64.Chris Sosa2013-03-291-2/+1
| | | | | | | | | | | | | | | | Both the update engine and sha256_partitions.sh print out hashes in base64 encoding. Let's stay consistent with ourselves so we can diagnose hash mismatches correctly. BUG=None TEST=Ran it with a delta payload and compared hashes with sha256_partitions.sh and logs from applying it in the update_engine. Change-Id: I90c511b936792a073fbe069065ff53c24f47041c Reviewed-on: https://gerrit.chromium.org/gerrit/46910 Commit-Queue: Chris Sosa <sosa@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Tested-by: Chris Sosa <sosa@chromium.org>
* Fix update out-of-bounds check for partition boundary.Gilad Arnold2013-03-151-1/+1
| | | | | | | | | | | | | | | This is an off-by-one error caught during the implementation of unit tests. BUG=None TEST=Unit tests (upcoming) pass as expected. Change-Id: I9a5da10588f0ac4314e9a35280ff1f38c34c88ac Reviewed-on: https://gerrit.chromium.org/gerrit/44953 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org>
* Update payload library + command-line toolGilad Arnold2013-03-0811-0/+2323
| | | | | | | | | | | | | | | | | | | | | | | | | | | An initial implementation of a Python module for parsing, checking and applying a Chrome OS update payload. Comes with a command-line tool (paycheck.py) for applying such operations on payload files, and a test script (test_paycheck.sh) for ensuring that the library and tool are working correctly. Since update_payload is introduced as a package, we're moving some previously merged utilities into the package's directory. (Unit testing for this code will be uploaded on a separate CL; see chromium-os:39663) BUG=chromium-os:34911,chromium-os:33607,chromium-os:7597 TEST=test_paycheck.sh successful on MP-signed payloads CQ-DEPEND=I5746a1d80e822a575f0d96f94d0b4e765fc64507 Change-Id: I77123a1fffbb2059c239b7145c6922968fdffb6a Reviewed-on: https://gerrit.chromium.org/gerrit/43041 Reviewed-by: Gilad Arnold <garnold@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Reviewed-by: Jay Srinivasan <jaysri@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
* Move update_metadata_pb2.py to host/lib/update_payloadGilad Arnold2013-02-261-0/+390
This is necessary for proper packaging of the upcoming update_payload library. Has to be done in a separate CL so that pylint checks can be disabled (--no-verify). BUG=None TEST=None Change-Id: I5746a1d80e822a575f0d96f94d0b4e765fc64507 Reviewed-on: https://gerrit.chromium.org/gerrit/43809 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>