summaryrefslogtreecommitdiff
path: root/scripts/update_payload/update_metadata_pb2.py
AgeCommit message (Collapse)Author
2021-02-22Add vabc_compression parameter to update_metadataKelvin Zhang
Test: treehugger Change-Id: Icc65db9a7c4fbdf22376f9900016ae1b7058c611
2021-02-11Reland: Pass apex_info.pb file to delta_generatorKelvin Zhang
target_files contain META/apex_info.pb, which contains metadata about compressed apexes. Extract this file from target_file.zip, and pass it to delta_generator. delta_generator will then copy these data to update_metadata Test: generate an OTA, make sure a device running an older build can install the OTA Bug: 172911822 Change-Id: If0e185a32262a849d533c3316ffdf205cb6628b6
2021-02-04Reland: Add ApexInfo field to update_metadata.protoMohammad Samiul Islam
ApexInfo defination has been duplicated from ota_metadata.proto Bug: 172911822 Test: m Test: atest update_engine_unittests:PayloadPropertiesTest Change-Id: I25b11fdeff4a9ad927f5bcb866660f4b66e563fe
2021-01-30Revert "Add ApexInfo field to update_metadata.proto"Tianjie Xu
This reverts commit 8e2dce0ccc2699a0df9d8473fa586811f4b1b69c. Reason for revert: b/178908708 Change-Id: I76f09bdb467b4f9f13fe7a0ae28c55e08fea197a
2021-01-30Revert "Pass apex_info.pb file to delta_generator"Tianjie Xu
This reverts commit 4e5da3e9d7459e3d983db943ebf3cb4c36af9c60. Reason for revert: b/178908708 Change-Id: I616da64ffda5b94044f3493861d6d01aebfaad61
2021-01-30Revert "Regenerate checked-in update_metadata_pb2.py with aprotoc"Tianjie Xu
This reverts commit f650fa41940c0792b72f5c7299d952537bf6f3db. Reason for revert: b/178908708 Change-Id: I7ff38e1b6e776862777c42259ecbe84000cfdbb0
2021-01-29Regenerate checked-in update_metadata_pb2.py with aprotocYifan Hong
Fixes this error: AttributeError: 'module' object has no attribute '_internal_create_key' Test: run it Change-Id: I2621090c87e614bbc5ba6c9be22e60d7ed066173
2021-01-28Pass apex_info.pb file to delta_generatorKelvin Zhang
target_files contain META/apex_info.pb, which contains metadata about compressed apexes. Extract this file from target_file.zip, and pass it to delta_generator. delta_generator will then copy these data to update_metadata Test: generate an OTA Bug: 172911822 Change-Id: Ia4babb9e711a92f2b78ef8e1dd6ad35d0a2bb5a8
2021-01-27Add ApexInfo field to update_metadata.protoMohammad Samiul Islam
ApexInfo defination has been duplicated from ota_metadata.proto Bug: 172911822 Test: m Test: atest update_engine_unittests:PayloadPropertiesTest Change-Id: Ife95e27977be1e32999d9777b226e0eeb644f3fc
2021-01-20Add a "vabc_enabled" flag to update_metadataKelvin Zhang
When doing a downgrade build, the target build might not support vabc. So disable vabc in this case. Test: treehugger Change-Id: Ie5a56adf99b495a40d1caafbda6466181da1bc10
2020-10-12Add estimate_cow_size field to update metadataKelvin Zhang
Part of VAB project. When installing update through Virtual AB it is nice to have an estimate of COW image size. When generating an OTA update, delta_generator will fill in this field. Later on libsnapshot will use this as an hint when creating snapshots. Test: mm -j Change-Id: I56aa9dfa5e9d955f971a6464aea433b569cd9307
2020-08-25Support per-partition timestampsKelvin Zhang
update_engine is heading toward supporting partial updates, which an OTA update can update just a subset of all partitions. In this context, a single max_timestamp in OTA manifest is insufficient for checking potential downgrades, as different partitions can have different timestamps. This CL adds per-partition timestamp support on update_engine side. update_engine will accept a payload with per-partition timestamps and reject the update if any partition has an older timestamp. Changes made: 1. Add new version field to PartitionUpdate protobuf message. 2. Add new methods to HardwareInterface for fetching/checking timestamp of each partition. 3. Update delta_performer to invoke new APIs in 2 properly. 4. Add relevant testcases. Test: unittest Bug: 162553432 Change-Id: I767343e003fd35ce0d22197b15040488cf30be30
2020-07-06Merge remote-tracking branch 'aosp/upstream-master' into mergeTianjie
It's a merge from chrome OS with some reverts. 1. the fd watcher change, because the libbrillo version isn't compatible in aosp. commit 6955bcc4ffe4cc9d62a88186b9a7e75d095a7897 commit 493fecb3f48c8478fd3ef244d631d857730dd14d 2. two libcurl unittest. Because the RunOnce() of the fake message loop seems to have different behavior in aosp. commit d3d84218cafbc1a95e7d6bbb775b495d1bebf4d2 Put preprocessor guards to use the old code in aosp. And we can switch to the new code in the other path after adopting the new libbrillo & libchrome. Test: unit tests pass, apply an OTA Change-Id: Id613599834b0f44f92841dbeae6303601db5490d
2019-10-29update_engine: Deprecate major version 1Amin Hassani
We have moved away from major version 1 in Chrome OS and already have a stepping stone for it in M53. So this cleanup makes the code much easier to understand. BUG=chromium:1008553 TEST=FEATURES="test" sudo emerge update_engine update_payload TEST=cros_generate_update_payload --image chromiumos_test_image.bin --check --output delta.bin Change-Id: I01815dfa5fdf395f8214ef162e01ecca2d42f7fc Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/1857459 Tested-by: Amin Hassani <ahassani@chromium.org> Reviewed-by: Sen Jiang <senj@chromium.org> Commit-Queue: Amin Hassani <ahassani@chromium.org>
2019-10-08Update update_metadata_pb2.pyYifan Hong
Generated with: aprotoc --python_out scripts/update_payload update_metadata.proto Test: cd system/update_engine/scripts && ./run_unittests Change-Id: I68b0659e5de7545fb0143a930859c703ec50ae13
2019-10-03update_engine: Deprecate minor version 1Amin Hassani
Minor version 1 was for the old days where we rewrite the signle partition with an update (no A/B partitions). But those days are long over and we don't think there is any device out that has this capability anymore. Even if there is, we can always serve full payloads along with the stepping stone we have in M53. So this is safe to go. BUG=chromium:1008553 TEST=sudo FEATURES=test emerge update_engine TEST=ran cros flash two times. Change-Id: Ib928ade36af5136cd4013a30dfb39ee7fd5b07b1 Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/1829160 Tested-by: Amin Hassani <ahassani@chromium.org> Reviewed-by: Sen Jiang <senj@chromium.org> Commit-Queue: Amin Hassani <ahassani@chromium.org>
2018-11-15Update update_metadata_pb2.pySen Jiang
Generated with: protoc --python_out scripts/update_payload update_metadata.proto Bug: 119222724 Test: None Change-Id: I384f370358a3e97e038b2350416f422d47fe999a
2017-11-22update_engine: Adds BROTLI_BSDIFF operationAmin Hassani
Brotli compression creates on average 10%-20% smaller output than bzip2 in addition to having faster decompressor. With recent changes in bsdiff to compress the its patch with brotli, we can use it in the update_engine as a new operation BROTLI_BSDIFF. This operation will be turned on in minor version 4. However, this CL only adds support for it in the client. It will not generate BROTLI_BSDIFF operations yet. BUG=chromium:783437 TEST=unittests pass for both update_engine and update_payload; 'brillo_update_payload {generate|verify}' passes; 'scripts/paycheck.py payload.delta' passes; Change-Id: Ie791ba5431561c95de6fbc031a8196dbfd912288 Reviewed-on: https://chromium-review.googlesource.com/764791 Commit-Ready: Amin Hassani <ahassani@chromium.org> Tested-by: Amin Hassani <ahassani@chromium.org> Reviewed-by: Ben Chan <benchan@chromium.org>
2017-08-09update_engine: Change imgdiff/imgpatch to a dummy puffdiff/puffpatchAmin Hassani
Currently we never create imgdiff operation as it was never activated. In near future we will be adding puffdiff and puffpatch operations which replaces the imgdiff. This CL does not actually adds puffdiff, but adds a placeholder for it. BUG=none TEST=cros_workon_make --board=amd64-generic --test update_engine Change-Id: I6453048acb65c052354a1658f0c6fd41ad33e242 Reviewed-on: https://chromium-review.googlesource.com/602733 Commit-Ready: Amin Hassani <ahassani@chromium.org> Tested-by: Amin Hassani <ahassani@chromium.org> Reviewed-by: Ben Chan <benchan@chromium.org> Reviewed-by: Sen Jiang <senj@chromium.org>
2016-04-04update_payload: Regenerate protobuf to include IMGDIFF.Sen Jiang
Generated from update_metadata.proto using protoc 2.5.0 BUG=b:26456666 TEST=./checker_unittest.py Change-Id: I9dc7db00be8afb2f78e80bec910f9ca83a55a9a1 Reviewed-on: https://chromium-review.googlesource.com/329237 Commit-Ready: Sen Jiang <senj@chromium.org> Tested-by: Sen Jiang <senj@chromium.org> Reviewed-by: Alex Deymo <deymo@chromium.org>
2015-09-24paycheck: Update generated protobuf code.Alex Deymo
This patch updates the generated update_metadata_pb2.py file with the latest changes in the udpate_metadata.proto file. BUG=None TEST=paycheck unittests Change-Id: Ibba40eb94535496654447c23895677cacb69f26b Reviewed-on: https://chromium-review.googlesource.com/302191 Commit-Ready: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org> Reviewed-by: Gilad Arnold <garnold@chromium.org>
2015-09-15update_payload: Regenerate protobuf with protoc 2.5Alex Deymo
Goobuntu trusty uses protobuf 2.5.0 python modules, but the chroot uses version 2.6.1. Protobufs compiled with protoc 2.6.1 (inside the chroot) are not compatible with the python modules installed in trusty, so they can only run inside the chroot. Nevertheless, protobufs compiled with protoc 2.5.0 work with the new library version. BUG=chromium:531884 TEST=`./paycheck.py` inside and outside the chroot with libprotobuf 2.5.0 Change-Id: Ifeaf203a9c891156dd487249673a8264c74fd7e3 Reviewed-on: https://chromium-review.googlesource.com/299814 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>
2015-09-14paycheck: Update generated protobuf code.Alex Deymo
This patch updates the generated update_metadata_pb2.py file with the latest changes in the udpate_metadata.proto file. Some other changes in the update_payload library were required to match the changes in the .proto file. BUG=b:23179128 TEST=paycheck unittests Change-Id: I482d67d4a35f69438a26395eea77286994108b7a Reviewed-on: https://chromium-review.googlesource.com/299498 Commit-Ready: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org> Reviewed-by: Gilad Arnold <garnold@chromium.org>
2015-02-20update_payload: Regenerate proto file with new operation codes.Allie Wood
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>
2015-02-09update_payload: Regenerate protobuf file.Allie Wood
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>
2013-05-15Update paycheck to understand the updated update_metadata fields.Don Garrett
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>
2013-02-26Move update_metadata_pb2.py to host/lib/update_payloadGilad Arnold
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>