)]}'
{
  "log": [
    {
      "commit": "b220d669d465377e2bb55a37a7028c72d93dcef3",
      "tree": "694cb5ca136a0d6908fc72d9c6faa24595a84494",
      "parents": [
        "50a74d68e8667b3b1ffc21756e0371306426cd8c"
      ],
      "author": {
        "name": "Tudor Brindus",
        "email": "tbrindus@chromium.org",
        "time": "Tue Jul 10 23:55:51 2018 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Wed Jul 11 18:48:45 2018 -0700"
      },
      "message": "update_payload: Make paycheck take \"root\" instead of \"rootfs\"\n\nThis commit makes paycheck take \"root\" as the rootfs partition label\ninstead of \"rootfs\", which makes it consistent with other tooling like\ndelta_generator.\n\nBUG\u003dchromium:794404\nTEST\u003dtest_paycheck.sh and run_unittests\n\nChange-Id: I20835e93adbcde459bc86d832e695b38bca55e38\nReviewed-on: https://chromium-review.googlesource.com/1132843\nCommit-Ready: Tudor Brindus \u003ctbrindus@chromium.org\u003e\nTested-by: Tudor Brindus \u003ctbrindus@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "acd20391ab989971725a8b25ca9a08e1d5a7a3c8",
      "tree": "9d9ad3f15a35d0cd064a23a48d690343cfa8a388",
      "parents": [
        "40506cd2777ca05dd166192f3ef72fd23f9125fc"
      ],
      "author": {
        "name": "Tudor Brindus",
        "email": "tbrindus@chromium.org",
        "time": "Tue Jun 19 11:46:16 2018 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Tue Jun 26 23:44:10 2018 -0700"
      },
      "message": "update_payload: Implement applying for major version 2 payloads\n\nThis commit adds payload major version 2 support to paycheck.py\napplying.\n\nBUG\u003db:794404\nTEST\u003dno errors during run_unittests and paycheck.py \u003cmajor version 2\n  payload\u003e --part_names boot system --out_dst_part_paths /tmp/boot_part\n  /tmp/system_part (./test_paycheck.sh does not pass for major version 2\n  payloads since it currently does not detect version 2 payloads, and\n  specifies rootfs/kernel as the partitions to paycheck.py instead of\n  system/boot; no regressions when running on major version 1 payloads)\n\nChange-Id: Ic411607cee6f032851d1fa9545bed68fe2d3da77\nReviewed-on: https://chromium-review.googlesource.com/1106656\nCommit-Ready: Tudor Brindus \u003ctbrindus@chromium.org\u003e\nTested-by: Tudor Brindus \u003ctbrindus@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "40506cd2777ca05dd166192f3ef72fd23f9125fc",
      "tree": "7dbd004733ac72fbe564cf035a61ba9f266c2788",
      "parents": [
        "2d22c1a70cf41462b7564c610823543f91b37eb2"
      ],
      "author": {
        "name": "Tudor Brindus",
        "email": "tbrindus@chromium.org",
        "time": "Mon Jun 18 20:18:17 2018 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Tue Jun 26 16:59:35 2018 -0700"
      },
      "message": "update_payload: Implement checking for major version 2 payloads\n\nThis commit adds payload major version 2 support to paycheck.py --check.\n\nFor consistency, report messages for affected fields are kept the same across\nboth major version 1 and 2 checks, even if the particular field name does not\nexist in one version.\n\nBUG\u003db:794404\nTEST\u003dno errors during run_unittests and paycheck.py --check \u003cmajor version 2\n  payload\u003e (./test_paycheck.sh does not pass for major version 2 payloads\n  since applying is not implemented yet; no regressions when running on major\n  version 1 payloads)\n\nChange-Id: I3c5d0cbca3336c8136326ca52b19f659c7c741c9\nReviewed-on: https://chromium-review.googlesource.com/1105610\nCommit-Ready: Tudor Brindus \u003ctbrindus@chromium.org\u003e\nTested-by: Tudor Brindus \u003ctbrindus@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "2d22c1a70cf41462b7564c610823543f91b37eb2",
      "tree": "2097ee4a77e7b7ff26700a07a65ed7e6764d3b20",
      "parents": [
        "8d05a7e15bfcc4f551a0f59be6d0d1eb083887e9"
      ],
      "author": {
        "name": "Tudor Brindus",
        "email": "tbrindus@chromium.org",
        "time": "Fri Jun 15 13:07:13 2018 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Mon Jun 25 17:20:25 2018 -0700"
      },
      "message": "update_payload: Allow specifying partition options for major version 2\n\nThis commit adds the ability to specify partition options for more than just\nkernel/rootfs.\n\nThis supersedes -p/--root-part-size, -P/--kern-part-size, --dst_kern,\n--dst_root, --src_kern, --src_root, --out_dst_kern, and --out_dst_root.\n\nThey are replaced by --part_names used in conjunction with --part_sizes,\n--dst_part_paths, --src_part_paths, and --out_dst_part_paths.\n\nBackwards-compatibility with the old flags is kept, so long as they are\nnot used alongside the new flags.\n\nBUG\u003db:794404\nTEST\u003dno errors during run_unittests and test_paycheck.sh\n\nChange-Id: Icc1118abbf89dd268be3eafe41723657c5178197\nReviewed-on: https://chromium-review.googlesource.com/1103063\nCommit-Ready: Tudor Brindus \u003ctbrindus@chromium.org\u003e\nTested-by: Tudor Brindus \u003ctbrindus@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "8d05a7e15bfcc4f551a0f59be6d0d1eb083887e9",
      "tree": "58b34442de114857e332245ee8a8128b8e5fec15",
      "parents": [
        "8b936f277f447d53e1c578d22bc7171a939473c7"
      ],
      "author": {
        "name": "Tudor Brindus",
        "email": "tbrindus@chromium.org",
        "time": "Thu Jun 14 11:18:18 2018 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Thu Jun 21 19:56:28 2018 -0700"
      },
      "message": "update_payload: De-duplicate paycheck partition handling for major version 2\n\nThis commit makes handling of major version 2 rootfs/kernel partitions more\ngeneric, with the goal of reusing the same code paths for major version 2\n(which has an arbitrary number of partitions per payload).\n\nBUG\u003db:794404\nTEST\u003dno errors during run_unittests and test_paycheck.sh\n\nChange-Id: Ic6e8cdaae557c10dfbd302dba0e52ff8b2870c9f\nReviewed-on: https://chromium-review.googlesource.com/1101500\nCommit-Ready: Tudor Brindus \u003ctbrindus@chromium.org\u003e\nTested-by: Tudor Brindus \u003ctbrindus@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "3538a883700a86c8224bff075e1cc4bab552d2ed",
      "tree": "cdaaf1a7f17ea4dbd3e9fe132e2c3208b646de48",
      "parents": [
        "ffbfdfb05d3ce4e9fe03aa103b63532870981771",
        "77ab7bdf2dcf7fd4aa982e654f359958ad7ab0c3"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Thu May 31 14:11:30 2018 -0700"
      },
      "committer": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Mon Jun 04 11:44:12 2018 -0700"
      },
      "message": "Merge remote-tracking branch \u0027cros/upstream\u0027 into cros/master\n\nBUG\u003dchromium:815356\nTEST\u003dunittest\nTEST\u003dprecq\nTEST\u003dcros flash\n\nChange-Id: I8d9c37411708d0cae61613b285123a090ce6deb1\n"
    },
    {
      "commit": "771f6486a3b0333d43a2f8c743bfb945dca9db2c",
      "tree": "c72aa56680550f17c2b60621a1ede140f550aec8",
      "parents": [
        "a57d53e3edbda255a938a7dc76a2f38faeb520d4"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Wed Apr 04 17:59:10 2018 -0700"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Wed Apr 04 18:07:19 2018 -0700"
      },
      "message": "Correct some spellings.\n\nTest: mma\nChange-Id: Icc49a4ee76f12d302ed18982d334f2f70b7263a8\n"
    },
    {
      "commit": "a86b108fc604d296edbd3f6c158a17175ef6f9fe",
      "tree": "676c8ff56725a680fecc47584223d1164d09f46d",
      "parents": [
        "89afe86b007d21d11f3d4b6e139d300b411d2e17"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@google.com",
        "time": "Thu Mar 08 15:48:59 2018 -0800"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Fri Mar 23 14:51:11 2018 -0700"
      },
      "message": "update_payload: Allow check for given metadata size\n\nAllow passing metadata size to check_update_payload so we can verify the\nmetadata size in omaha equals to the one in the payload.\n\nBUG\u003dchromium:820243\nTEST\u003drun paycheck.py with both valid and invalid metadata sizes reports as expected\nTEST\u003dunittests\n\nChange-Id: Ib41ce77af77636fffec6752201c363e7fbbf868d\nReviewed-on: https://chromium-review.googlesource.com/955679\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\n"
    },
    {
      "commit": "84e0e31e0c55ca1cec966991f22fe9f494534afa",
      "tree": "4c17bdbc93e22a0904d50fac7cb8df423cae3b28",
      "parents": [
        "f87e5cd57a7d543c54327e342cea7f46fd819a90",
        "f7006be5079ed91c93223273f3ddb69d655ba858"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Thu Mar 08 18:07:12 2018 -0800"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Fri Mar 09 14:32:19 2018 -0800"
      },
      "message": "Merge remote-tracking branch \u0027aosp/upstream-master\u0027.\n\nBug: 30989362\nTest: update_engine_unittests\nChange-Id: I04417ac21508f4da3ead29b1dea34886f2fc84af\nMerged-In: I04417ac21508f4da3ead29b1dea34886f2fc84af\n"
    },
    {
      "commit": "77d7cbcef1ca1afd36720ec7ec74039b5445101e",
      "tree": "6305cce22e391284bc5b06bce00928ba7fb8d69d",
      "parents": [
        "15de2fd0ff2d19a7ef36a0f28bb5df028163605c"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@google.com",
        "time": "Wed Feb 07 16:21:33 2018 -0800"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Thu Feb 08 23:41:46 2018 -0800"
      },
      "message": "update_engine: Disable puffin in minor version 4\n\nThis patch disables puffin for minor version 4, but keeps BROTLI_BSDIFF in the\nsame minor version.  Also adds puffin for minor version 5, but it does not\nenable it.\n\nBUG\u003db:72815313\nBUG\u003dchromium:810184\nTEST\u003dupdate_engine unittests pass\nTEST\u003dupdate_payload unittests pass\nTEST\u003dtest_paycheck.sh on two images with minor version 4 pass\nTEST\u003dbrill_update_payload generate/verify pass\n\nChange-Id: I814fc126d67207501d419cff9c575cd13d877b48\nReviewed-on: https://chromium-review.googlesource.com/907223\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "f94b643ff1bb0f07204ec9f15289b55ac5fedacd",
      "tree": "4ea3f6f7d1afa56c9b48ddf3eee261d19cf32259",
      "parents": [
        "ddd335f36bb8496548f31b3c9bf923074c1a7452"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@google.com",
        "time": "Fri Jan 26 17:39:47 2018 -0800"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Tue Jan 30 14:54:19 2018 -0800"
      },
      "message": "update_payload: migrate the license headers to AOSP\n\nupdate_engine/scripts/* have CROS license but the rest of UE have android\nlicense. This cl just migrates all CROS licenses to AOSP.\n\nBUG\u003dNone\nTEST\u003drepo upload did not complain about the mismatched licenses.\n\nChange-Id: Id947be3e860baf7a523163965336f47d268c6808\nReviewed-on: https://chromium-review.googlesource.com/891688\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "a548902f8e836b280439d69eaea16c85a3032237",
      "tree": "4de3962e21db83eb0781d0bb206440b53448c32b",
      "parents": [
        "cb2da0df4382f546efd4269851ce814842a4b7fd"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@google.com",
        "time": "Fri Jan 26 11:23:26 2018 -0800"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Mon Jan 29 16:38:32 2018 -0800"
      },
      "message": "update_payload: remove block tracer\n\nblock tracing was useful for minor version 1 with move operations (before having\nA/B updates). But, we do not create that operation anymore and we are in the\nprocess of moving to major version 2. So this needs to go\n\nBUG\u003dchromium:794404\nTEST\u003dunit tests\n\nChange-Id: I56d24ef81e8f37c481669d47e5878eb3a321131f\nReviewed-on: https://chromium-review.googlesource.com/888546\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\n"
    },
    {
      "commit": "0de7f7847ff2a101a905b75d2ed0867d5ac8fba7",
      "tree": "3cd366603d173fa7ed9cb0d3ef1b7a71ce1407a0",
      "parents": [
        "840703a4cc77228e2606f45665ae3a4bd75ff7dd"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@google.com",
        "time": "Thu Dec 07 12:13:03 2017 -0800"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Tue Jan 23 01:48:49 2018 -0800"
      },
      "message": "Relanding \u0027update_payload: Add XZ compression support\u0027\n\nThis patch adds support for checking a payload that has REPLACE_XZ\noperations. REPLACE_XZ was added in minor version 3.\n\nBUG\u003dchromium:758792\nTEST\u003dunittests pass; paycheck.py with a xz generated payload pass;\nCQ-DEPEND\u003dCL:823234\n\nChange-Id: I6ec8068e233f2d595fda93a985923d85c59f150e\nReviewed-on: https://chromium-review.googlesource.com/872124\nCommit-Ready: ChromeOS CL Exonerator Bot \u003cchromiumos-cl-exonerator@appspot.gserviceaccount.com\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\nReviewed-by: Sen Jiang \u003csenj@chromium.org\u003e\n"
    },
    {
      "commit": "1841408827c93f8ba7bb44ba95a8fb3438762b9d",
      "tree": "22bc43f3ff506165d006e62347255c2a2c2bf2ec",
      "parents": [
        "b19c3ec7bda83b15c7fc659f65eb6f92ca84f9c4",
        "840703a4cc77228e2606f45665ae3a4bd75ff7dd"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Thu Jan 11 14:50:36 2018 -0800"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Thu Jan 11 14:50:36 2018 -0800"
      },
      "message": "Merge remote-tracking branch \u0027goog/upstream-master\u0027.\n\nThe following commits were reverted:\n840703a Fix update over cellular network on guest account\neaad5d0 Do not merge to AOSP: Fixes the link to brillo-clang-format in CrOS\n740efad Reboot even if a system update is not available.\n\nFixed a few sign compare warnings.\nHad to ifdef out 2 SquashfsFilesystemTest because it depends on unsquashfs -m.\n\nTest: update_engine_unittests\nChange-Id: I6f4ca5003e78c76064ec60d0797505d8c18d00bf\nMerged-In: I6f4ca5003e78c76064ec60d0797505d8c18d00bf\n"
    },
    {
      "commit": "b05a65a748bd2e2542e7b05f629d3bc69c8d8135",
      "tree": "ed736d196e5f908deeb450ffdacdc16432d74b77",
      "parents": [
        "8adc24346405a142e7d3b65c3e4aee0515320f73"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@google.com",
        "time": "Mon Dec 18 15:15:32 2017 -0800"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Fri Jan 05 18:37:15 2018 -0800"
      },
      "message": "update_payload: Fix most of lint styling issues.\n\nThis patch fixes a lot of pylint issues in the update_engine scripts. Majority\nof this changes are based on recommendation found in:\n\thttps://www.chromium.org/chromium-os/python-style-guidelines\n\nIt is a good idea to do these changes now, because if there are many pylint\nerrors when performing \u0027repo upload\u0027, serious problems can be overshadowed by a\nlot of noise and eventually cause problems.\n\nThese fixes include:\n\t- Fixing executable shebangs to /usr/bin/python2.\n\t- Fixing import-error problems by disabiling them.\n\t- Removing pylint disables that are not valid anymore.\n\t- Changing all imports to proper absolute import format.\n\t- Change the import of PayloadError from update_payload.PayloadError for\n\t  simplicity.\n\t- Add pydoc strings for functions and classes that were missing.\n\nThe remaining unchanged pylint problmes include:\n\n\t- The header files of these scripts are in CrOS copyright format, but the\n      the cros lint hook is configured to AoSP copyright format.\n\t- The test* functions in unittests are not compatible with CamelCase format.\n\nBUG\u003dchromium:796338\nTEST\u003dunittests pass\nTEST\u003dstart_devserver\nTEST\u003dcros flash\nTEST\u003dscripts/paycheck.py\n\nChange-Id: I7eed4d1625eb7c510c7949fada120de5a6a26c7b\nReviewed-on: https://chromium-review.googlesource.com/834875\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\nReviewed-by: Sen Jiang \u003csenj@chromium.org\u003e\n"
    },
    {
      "commit": "5a652867dceedb7bba3e840403a00d9a1ed9e0f8",
      "tree": "54e7af19f9a5436d1fb98561922b5d5ca8fca4c9",
      "parents": [
        "d9cb290966a77730010aa01f0db675c157cd5c8f"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Wed Sep 27 16:35:03 2017 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Thu Jan 04 19:17:55 2018 -0800"
      },
      "message": "Fix pylint issue in payload.py\n\n    ************* Module update_payload.payload\n    W: 12, 0: Relative import \u0027applier\u0027, should be \u0027update_payload.applier\u0027 (relative-import)\n    W: 13, 0: Relative import \u0027block_tracer\u0027, should be \u0027update_payload.block_tracer\u0027 (relative-import)\n    W: 14, 0: Relative import \u0027checker\u0027, should be \u0027update_payload.checker\u0027 (relative-import)\n    W: 15, 0: Relative import \u0027common\u0027, should be \u0027update_payload.common\u0027 (relative-import)\n    W: 16, 0: Relative import \u0027error\u0027, should be \u0027update_payload.error\u0027 (relative-import)\n    W: 17, 0: Relative import \u0027update_metadata_pb2\u0027, should be \u0027update_payload.update_metadata_pb2\u0027 (relative-import)\n    C:222, 4: Missing function docstring (missing-docstring)\n    E:261,33: Instance of \u0027DeltaArchiveManifest\u0027 has no \u0027partitions\u0027 member (no-member)\n\nTest: repo upload\nChange-Id: Ib3e99c6a3a5ea4575b442e672a871adc7b985289\n(cherry picked from commit c2527f492e7a1389b2a3f248bd2b22d6cf5d9eb8)\nReviewed-on: https://chromium-review.googlesource.com/834874\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\nReviewed-by: Sen Jiang \u003csenj@chromium.org\u003e\n"
    },
    {
      "commit": "b44f73baa8d302a077ab1c0c73eac63bd02350e5",
      "tree": "35b86db22317dd8be45863ee69b722666bb949a2",
      "parents": [
        "717c324c334cc3bac954101f7a127fe8ef56e4e6"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Fri Dec 15 17:45:49 2017 +0000"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Fri Dec 15 22:19:46 2017 -0800"
      },
      "message": "Revert \"update_payload: Add XZ compression support\"\n\nThis reverts commit f1d6ceaedbcf81044d6af6b716c63ed79996f0a4.\n\nReason for revert: \u003ccanaries failing\u003e\n\nOriginal change\u0027s description:\n\u003e update_payload: Add XZ compression support\n\u003e\n\u003e This patch adds support for checking a payload that has REPLACE_XZ\n\u003e operations. REPLACE_XZ was added in minor version 3.\n\u003e\n\u003e BUG\u003dchromium:758792\n\u003e TEST\u003dunittests pass; paycheck.py with a xz generated payload pass;\n\u003e CQ-DEPEND\u003dCL:823234\n\u003e\n\u003e Change-Id: If82c767a201b189e464f459d5c19485e5278d9b1\n\u003e Reviewed-on: https://chromium-review.googlesource.com/823227\n\u003e Commit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\n\u003e Tested-by: Amin Hassani \u003cahassani@chromium.org\u003e\n\u003e Reviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\n\u003e Reviewed-by: Sen Jiang \u003csenj@chromium.org\u003e\n\nTBR\u003dbenchan@chromium.org,senj@chromium.org,ahassani@chromium.org\n\nChange-Id: I931ff3be081a41fe5fceef0e049ba4165c6acb49\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nBug: chromium:795313\nReviewed-on: https://chromium-review.googlesource.com/830054\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\n"
    },
    {
      "commit": "f1d6ceaedbcf81044d6af6b716c63ed79996f0a4",
      "tree": "6d9ff030936cf241c7871ccef4266284f8fe1325",
      "parents": [
        "9fd76b6b1dc4a80f8464427e981220c29abc1d66"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@google.com",
        "time": "Thu Dec 07 12:13:03 2017 -0800"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Thu Dec 14 15:26:58 2017 -0800"
      },
      "message": "update_payload: Add XZ compression support\n\nThis patch adds support for checking a payload that has REPLACE_XZ\noperations. REPLACE_XZ was added in minor version 3.\n\nBUG\u003dchromium:758792\nTEST\u003dunittests pass; paycheck.py with a xz generated payload pass;\nCQ-DEPEND\u003dCL:823234\n\nChange-Id: If82c767a201b189e464f459d5c19485e5278d9b1\nReviewed-on: https://chromium-review.googlesource.com/823227\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\nReviewed-by: Sen Jiang \u003csenj@chromium.org\u003e\n"
    },
    {
      "commit": "6be716878b4027e6c2617bb7c3ce2c877331d1d2",
      "tree": "54424828536dd8d3082e9a065a7d472e37e9047f",
      "parents": [
        "7bc9c02869b90a5876bd74a97693a866f1c5ea5e"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@google.com",
        "time": "Fri Dec 01 10:46:45 2017 -0800"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Fri Dec 01 20:32:30 2017 -0800"
      },
      "message": "update_payload: Add puffin binary path to paycheck.py\n\nWe forgot to add the path to the puffin binary to paycheck.py and payload.py and\nthis caused the canary builds fail for minor version 4. This patch fixes it.\n\nBUG\u003dchromium:791079\nTEST\u003dtryjob\n\nChange-Id: I194ab9d9d0b93fc9d456b994f73424d7dedbf181\nReviewed-on: https://chromium-review.googlesource.com/803656\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Andrew de los Reyes \u003cadlr@chromium.org\u003e\n"
    },
    {
      "commit": "efa62d959cf8f225477ab85d8ff42d5150007cf8",
      "tree": "fc0c2b20c5fbf01e6ca2c53d3441f8a90524cd6a",
      "parents": [
        "02855c25944b8d64e569e9e8051be514acf40438"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@google.com",
        "time": "Thu Nov 09 13:46:56 2017 -0800"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Wed Nov 22 17:29:40 2017 -0800"
      },
      "message": "update_engine: Adds BROTLI_BSDIFF operation\n\nBrotli compression creates on average 10%-20% smaller output than bzip2\nin addition to having faster decompressor. With recent changes in bsdiff\nto compress the its patch with brotli, we can use it in the\nupdate_engine as a new operation BROTLI_BSDIFF. This operation will be\nturned on in minor version 4. However, this CL only adds support for it\nin the client. It will not generate BROTLI_BSDIFF operations yet.\n\nBUG\u003dchromium:783437\nTEST\u003dunittests pass for both update_engine and update_payload;\n\u0027brillo_update_payload {generate|verify}\u0027 passes;\n\u0027scripts/paycheck.py payload.delta\u0027 passes;\n\nChange-Id: Ie791ba5431561c95de6fbc031a8196dbfd912288\nReviewed-on: https://chromium-review.googlesource.com/764791\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\n"
    },
    {
      "commit": "cdeb6e60ad4837afff97a370b6ea39dc98146a36",
      "tree": "10bc13a3eeeee5d47e0282033bbf1cc7fe70a1c9",
      "parents": [
        "672c1f54a499a825cc0bb9bc4f240bf1887550d9"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@google.com",
        "time": "Wed Oct 11 10:15:11 2017 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Tue Oct 31 17:31:03 2017 -0700"
      },
      "message": "update_payload: Add puffdiff support.\n\nThis patch adds support for applier.py to be able to apply PUFFDIFF\noperation using puffin binary. It also fixes minor deficiencies for the\nPUFFDIFF operation.\n\nBUG\u003dchromium:768461\nTEST\u003dunittests pass;\nTEST\u003dscripts/paycheck.py payload-puffin.delta new_kern.dat new_root.dat old_kern.dat old_root.dat\n\nChange-Id: I5612ead8d8b8176e7263cfcb15403e8d36319642\nReviewed-on: https://chromium-review.googlesource.com/713540\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\nReviewed-by: Sen Jiang \u003csenj@chromium.org\u003e\n"
    },
    {
      "commit": "8ad22ba0765dc6351bfd59da8c43e06476b56c01",
      "tree": "905728dbdd3a472f391d0268e8cd9006f653cc57",
      "parents": [
        "f5a06d8e9f709824d768d7a15f1384668e7a4858"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@google.com",
        "time": "Wed Oct 11 10:15:11 2017 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Tue Oct 24 15:30:13 2017 -0700"
      },
      "message": "update_payload: Add zero operation support\n\nCurrenlty the applier.py and checker.py does not support ZERO\noperation. This patch adds support for it. In addition, when generating\nZERO operation, we were not clearing the source length and extent\nproperties out of the protobuf. ZERO operation has no source length or\nextent.\n\nBUG\u003dchromium:768461\nTEST\u003dunittest pass; scripts/paycheck.py --check payload.delta;\n\nChange-Id: I766deaca4380686797893c2686036d59525546f4\nReviewed-on: https://chromium-review.googlesource.com/713539\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\nReviewed-by: Sen Jiang \u003csenj@chromium.org\u003e\n"
    },
    {
      "commit": "ae85374770d4492d28e62d792824eea55349c981",
      "tree": "6c9a2649d1cba64a81982927d965becb318cde90",
      "parents": [
        "a6f74d62033fb0291aa1d135fef640e26ffffab5"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@google.com",
        "time": "Wed Oct 11 10:27:27 2017 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Mon Oct 16 14:14:00 2017 -0700"
      },
      "message": "update_payload: Fix larger source issue\n\nthe _CheckOperations() function passes the new usable partition size as the old\nusable partition size.  If the source image is larger than the target image,\nthis will be errornous as some checks fail.\n\nBUG\u003dchromium:773336\nTEST\u003dscripts/paycheck.py --check delta.bin (10002.0.0 reef -\u003e 10019.0.0 reef)\n\nChange-Id: I8c30129831daff8e70df3dcb9639ff240e4a37ba\nReviewed-on: https://chromium-review.googlesource.com/713463\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "3b15b599299a9a5f3ec965d568ea479383c2fe6a",
      "tree": "d7c4fbed5d023478b0f69851ffe2d9373122369c",
      "parents": [
        "c2527f492e7a1389b2a3f248bd2b22d6cf5d9eb8"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Tue Sep 26 18:21:04 2017 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Sep 30 00:30:51 2017 +0000"
      },
      "message": "update_device.py: support OTA zip if use omaha too.\n\nPass the offset and size to UpdateHandler.\nAlso added support for payload offset in update_payload.Payload.\n\nTest: applied a local OTA\nChange-Id: Ib116ef2c23a11e298118f203814c4ea8dd1629af\n"
    },
    {
      "commit": "c2527f492e7a1389b2a3f248bd2b22d6cf5d9eb8",
      "tree": "15b7e6299fee52b7d499ea66097e62c7c1b526b4",
      "parents": [
        "144f9f8a49b83c9a1930d16e579059485e6ad9fb"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Wed Sep 27 16:35:03 2017 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Sep 30 00:30:51 2017 +0000"
      },
      "message": "Fix pylint issue in payload.py\n\n    ************* Module update_payload.payload\n    W: 12, 0: Relative import \u0027applier\u0027, should be \u0027update_payload.applier\u0027 (relative-import)\n    W: 13, 0: Relative import \u0027block_tracer\u0027, should be \u0027update_payload.block_tracer\u0027 (relative-import)\n    W: 14, 0: Relative import \u0027checker\u0027, should be \u0027update_payload.checker\u0027 (relative-import)\n    W: 15, 0: Relative import \u0027common\u0027, should be \u0027update_payload.common\u0027 (relative-import)\n    W: 16, 0: Relative import \u0027error\u0027, should be \u0027update_payload.error\u0027 (relative-import)\n    W: 17, 0: Relative import \u0027update_metadata_pb2\u0027, should be \u0027update_payload.update_metadata_pb2\u0027 (relative-import)\n    C:222, 4: Missing function docstring (missing-docstring)\n    E:261,33: Instance of \u0027DeltaArchiveManifest\u0027 has no \u0027partitions\u0027 member (no-member)\n\nTest: repo upload\nChange-Id: Ib3e99c6a3a5ea4575b442e672a871adc7b985289\n"
    },
    {
      "commit": "49fdb09d1ff2e078fa44c26540a5b82900df0f9a",
      "tree": "8e5fd2ca126e456ce08cbcd681a0e787f5ddd92a",
      "parents": [
        "e94ece50ccff67a1948c461737dc049d9f1ae4d8"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@google.com",
        "time": "Fri Aug 04 13:10:59 2017 -0700"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Wed Aug 23 01:10:12 2017 +0000"
      },
      "message": "update_engine: Change imgdiff/imgpatch to a dummy puffdiff/puffpatch\n\nCurrently we never create imgdiff operation as it was never\nactivated. In near future we will be adding puffdiff and puffpatch\noperations which replaces the imgdiff. This CL does not actually adds\npuffdiff, but adds a placeholder for it.\n\nBUG\u003dnone\nTEST\u003dcros_workon_make --board\u003damd64-generic --test update_engine\n\nChange-Id: I6453048acb65c052354a1658f0c6fd41ad33e242\nReviewed-on: https://chromium-review.googlesource.com/602733\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\nReviewed-by: Sen Jiang \u003csenj@chromium.org\u003e\n"
    },
    {
      "commit": "5ef5d4561dbc40c128d1e9bbd8e2da525adcf581",
      "tree": "3156e7bde5f17bba8940b2863424e2669fb1334a",
      "parents": [
        "489875a27f4cdc4be979b1d9fd8dd026ea0cc820"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@google.com",
        "time": "Fri Aug 04 13:10:59 2017 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Wed Aug 09 14:05:10 2017 -0700"
      },
      "message": "update_engine: Change imgdiff/imgpatch to a dummy puffdiff/puffpatch\n\nCurrently we never create imgdiff operation as it was never\nactivated. In near future we will be adding puffdiff and puffpatch\noperations which replaces the imgdiff. This CL does not actually adds\npuffdiff, but adds a placeholder for it.\n\nBUG\u003dnone\nTEST\u003dcros_workon_make --board\u003damd64-generic --test update_engine\n\nChange-Id: I6453048acb65c052354a1658f0c6fd41ad33e242\nReviewed-on: https://chromium-review.googlesource.com/602733\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\nReviewed-by: Sen Jiang \u003csenj@chromium.org\u003e\n"
    },
    {
      "commit": "92161a7b83c3a491871a167a4d46e4e6b6101e81",
      "tree": "1f2d98a54635c484b0680b7a39cfa21c552135c5",
      "parents": [
        "14ad88ea53bd89f9c6e477e28745c4506c2f0f81"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Tue Jun 28 16:09:38 2016 -0700"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Thu Jun 30 19:50:49 2016 +0000"
      },
      "message": "paycheck: Support minor version 4.\n\nFrom https://chromium-review.googlesource.com/#/c/333160/\n\nBug: 27156473\nTest: ./scripts/update_payload/checker_unittest.py\n\nChange-Id: I940debd5c878f622970e214fce75588f96d78407\n"
    },
    {
      "commit": "c2538fab9a7fc01c0216520874d711c8a9fbd9d3",
      "tree": "6a8c372ae4128b2e20c06136bdc32464b93835d1",
      "parents": [
        "d6122bb9df5b593a3ab1fc35fab7f1a0caa53928"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@chromium.org",
        "time": "Wed Feb 24 14:15:02 2016 -0800"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Mon Apr 04 22:08:11 2016 -0700"
      },
      "message": "update_payload: Regenerate protobuf to include IMGDIFF.\n\nGenerated from update_metadata.proto using protoc 2.5.0\n\nBUG\u003db:26456666\nTEST\u003d./checker_unittest.py\n\nChange-Id: I9dc7db00be8afb2f78e80bec910f9ca83a55a9a1\nReviewed-on: https://chromium-review.googlesource.com/329237\nCommit-Ready: Sen Jiang \u003csenj@chromium.org\u003e\nTested-by: Sen Jiang \u003csenj@chromium.org\u003e\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "d6122bb9df5b593a3ab1fc35fab7f1a0caa53928",
      "tree": "48ca2c6041d2b9d8dbd373c8986e4615c6854c01",
      "parents": [
        "912c4df6c4f470ddb6937b40cbe281229548783d"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@chromium.org",
        "time": "Fri Dec 11 10:27:04 2015 -0800"
      },
      "committer": {
        "name": "Aseda Aboagye",
        "email": "aaboagye@chromium.org",
        "time": "Sat Dec 12 00:54:34 2015 +0000"
      },
      "message": "paycheck: Allow minor version 3 in applier.\n\nAlso fixed nits in checker.\n\nBUG\u003dchromium:568473\nTEST\u003d./checker_unittest.py\n\nChange-Id: Ia791f4dc636e9c3a2921aeaa5f9dd01c247bf5bb\nReviewed-on: https://chromium-review.googlesource.com/317780\nTrybot-Ready: Sen Jiang \u003csenj@chromium.org\u003e\nTested-by: Sen Jiang \u003csenj@chromium.org\u003e\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nCommit-Queue: Sen Jiang \u003csenj@chromium.org\u003e\n"
    },
    {
      "commit": "912c4df6c4f470ddb6937b40cbe281229548783d",
      "tree": "81f9df9ada172708ff698585831d4a1261ccdc67",
      "parents": [
        "349fd298f4721e359ad598b6067a7254bb137adb"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@chromium.org",
        "time": "Thu Dec 10 12:17:13 2015 -0800"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Fri Dec 11 01:59:21 2015 +0000"
      },
      "message": "paycheck: support minor version 3.\n\nAdded check for mandatory source operation hash in minor version 3.\n\nFixed unittest.\n\nBUG\u003dchromium:568473\nTEST\u003d./paycheck.py \u003cminor v3 payload\u003e; ./checker_unittest.py\n\nChange-Id: Id96ddce8c59f28b3449524b786c54a6c69ca798f\nReviewed-on: https://chromium-review.googlesource.com/317573\nTrybot-Ready: Sen Jiang \u003csenj@chromium.org\u003e\nTested-by: Sen Jiang \u003csenj@chromium.org\u003e\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "349fd298f4721e359ad598b6067a7254bb137adb",
      "tree": "2fa15ae09d6ce71cb333eaad320c266e950e323c",
      "parents": [
        "ef49735f40d0319151fd1e50abdbe377ab49ce72"
      ],
      "author": {
        "name": "Sen Jiang",
        "email": "senj@chromium.org",
        "time": "Mon Nov 16 17:28:09 2015 -0800"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Tue Nov 17 22:06:51 2015 -0800"
      },
      "message": "update_payload: Fix IsDelta to support payload v2.\n\nAdded check for the old_partition_info field which is used by major\nversion 2 payload.\n\nOther changes are needed in order to pass presubmit lint check.\n\nBUG\u003dNone\nTEST\u003dRun devserver with a v2 delta payload.\n\nChange-Id: I3d7057fde44bd24d768177d5ed5c36bc2d4ca94b\nReviewed-on: https://chromium-review.googlesource.com/312952\nCommit-Ready: Sen Jiang \u003csenj@chromium.org\u003e\nTested-by: Sen Jiang \u003csenj@chromium.org\u003e\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "ef49735f40d0319151fd1e50abdbe377ab49ce72",
      "tree": "3929a7224c23f8d899255a1644aa554f0fa02a3f",
      "parents": [
        "be5aa57d5ecb1a0ef53aaa57a67d862f72915b8e"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Thu Oct 15 09:14:58 2015 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Thu Oct 15 19:57:01 2015 -0700"
      },
      "message": "Parse Payload v2 header.\n\nThe update payload v2 contains an extra field in the header with the\nsize of the metadata signatures and the metadata signatures stored\nright after the metadata. This patch parses the new payload format.\n\nBUG\u003db:22024447\nTEST\u003dcros payload show payload-v2.bin; served a payload v2 with devserver.py\n\nChange-Id: I8ce85af1df505f82f62a9d1cd57910cee6921f84\nReviewed-on: https://chromium-review.googlesource.com/306090\nCommit-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "be5aa57d5ecb1a0ef53aaa57a67d862f72915b8e",
      "tree": "6e07dd7e6674900e35c5827b36019eef8f574ff0",
      "parents": [
        "d41f59ed278039e03ac21c1a3cfd1a0055fbec25"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Wed Sep 23 18:11:31 2015 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Thu Sep 24 12:46:33 2015 -0700"
      },
      "message": "paycheck: Update generated protobuf code.\n\nThis patch updates the generated update_metadata_pb2.py file with the\nlatest changes in the udpate_metadata.proto file.\n\nBUG\u003dNone\nTEST\u003dpaycheck unittests\n\nChange-Id: Ibba40eb94535496654447c23895677cacb69f26b\nReviewed-on: https://chromium-review.googlesource.com/302191\nCommit-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "d41f59ed278039e03ac21c1a3cfd1a0055fbec25",
      "tree": "2cd5866ed82007cb6bfb8e6367af83bab954e6bb",
      "parents": [
        "2846677f9ec7725d9cf9513768477c873c19ba78"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Tue Sep 15 09:36:59 2015 -0700"
      },
      "committer": {
        "name": "Puthikorn Voravootivat",
        "email": "puthik@chromium.org",
        "time": "Tue Sep 15 17:43:18 2015 +0000"
      },
      "message": "update_payload: Regenerate protobuf with protoc 2.5\n\nGoobuntu trusty uses protobuf 2.5.0 python modules, but the chroot uses\nversion 2.6.1. Protobufs compiled with protoc 2.6.1 (inside the chroot)\nare not compatible with the python modules installed in trusty, so they\ncan only run inside the chroot. Nevertheless, protobufs compiled with\nprotoc 2.5.0 work with the new library version.\n\nBUG\u003dchromium:531884\nTEST\u003d`./paycheck.py` inside and outside the chroot with libprotobuf 2.5.0\n\nChange-Id: Ifeaf203a9c891156dd487249673a8264c74fd7e3\nReviewed-on: https://chromium-review.googlesource.com/299814\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "2846677f9ec7725d9cf9513768477c873c19ba78",
      "tree": "61e9a4c2a66d499c0151a4f2b3bdd359b5c04305",
      "parents": [
        "53b62278d049a50c20e6693aeaefe9675ccb8407"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Fri Sep 11 17:16:44 2015 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Mon Sep 14 18:53:36 2015 -0700"
      },
      "message": "paycheck: Update generated protobuf code.\n\nThis patch updates the generated update_metadata_pb2.py file with the\nlatest changes in the udpate_metadata.proto file. Some other changes in\nthe update_payload library were required to match the changes in the\n.proto file.\n\nBUG\u003db:23179128\nTEST\u003dpaycheck unittests\n\nChange-Id: I482d67d4a35f69438a26395eea77286994108b7a\nReviewed-on: https://chromium-review.googlesource.com/299498\nCommit-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "53b62278d049a50c20e6693aeaefe9675ccb8407",
      "tree": "dcb2e8a2714e7dd990838f3a4926b30a48a6a063",
      "parents": [
        "e4beff7dacb170298f86bb5bde1946b9b827b174"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Thu Jul 16 16:33:00 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 22 05:02:51 2015 +0000"
      },
      "message": "paycheck: Small improvements to the block tracer utility.\n\nThis prepends the current block number to the output, simplifies some\nlogic, and tightens argument validation in the command-line parser.\n\nBUG\u003dNone\nTEST\u003dpaycheck -B/-b works.\n\nChange-Id: I90d5cdf721612cdd12e49f4e4181849fc699807f\nReviewed-on: https://chromium-review.googlesource.com/286547\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\n"
    },
    {
      "commit": "e4beff7dacb170298f86bb5bde1946b9b827b174",
      "tree": "3f7d46a4881dcd7867b5e00cab1fab8a5242161f",
      "parents": [
        "4b8f4c2f76dcbac32dc7729458f846bd6eed5c63"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Jul 16 14:14:03 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Jul 17 01:46:06 2015 +0000"
      },
      "message": "paycheck: Fix printing of operation index while tracing.\n\nThe block tracer is meant to scan operations in reverse order, to\ndiscover the latest operation that writes to a block. Strangely, it only\nreversed the operation indexes but scanned the actual operations in the\noriginal order, which is both incorrect in the general case, but even\nwhen it works the printed results are confusing (operations shown with\nthe wrong index). This fixes it.\n\nAlso some cosmetic changes to pacify the linter.\n\nBUG\u003dchromium:510909\nTEST\u003dpaycheck -B now prints the correct operation indexes.\n\nChange-Id: I65c44eeb450c229a2d5251737a0953716e124687\nReviewed-on: https://chromium-review.googlesource.com/286220\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\n"
    },
    {
      "commit": "4b8f4c2f76dcbac32dc7729458f846bd6eed5c63",
      "tree": "5161ff3d365cb6c436204438d2631e97874226e4",
      "parents": [
        "06eea33088be4418264d12820f94c700977e3fa6"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Jul 16 11:45:39 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Jul 17 00:06:07 2015 +0000"
      },
      "message": "paycheck: Disambiguate hash error messages.\n\nBefore we\u0027ve been emitting the exact same error message when failing to\nverify the hash of either pre- or post-update partition. This prefixes\nthe partition name with \"old\" or \"new\", respectively.\n\nBUG\u003dchromium:510909\nTEST\u003dNone\n\nChange-Id: Icf302d0a3b26d3f9860c4ccb03dba38493296794\nReviewed-on: https://chromium-review.googlesource.com/286143\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "06eea33088be4418264d12820f94c700977e3fa6",
      "tree": "3c2c1d424bb8009cef625351b376bc6c33960198",
      "parents": [
        "b92167f787b4d9ea4db453b2464509489e1e606b"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Mon Jul 13 18:06:33 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Jul 17 00:06:02 2015 +0000"
      },
      "message": "paycheck: Properly infer usable target partition size.\n\nThe payload checker used to restrict read/write block indexes to the\nreported target filesystem size, unless explicitly given a partition\nsize value to use instead. So far this value was easy for clients (like\npaygen) to come up with, because it was constant at 2GB for all known\nboards.  However this is no longer the case, and there is no an easy way\nfor clients to know the actual target partition size after the payload\nhas been generated (nor is it encoded in the payload). This adds logic\nfor inferring the usable target partition size into PayloadChecker()\nitself, as follows:\n\n1) If a partition size was given, use that.\n\n2) Else, if this is an old delta (minor version \u003c 2), use the\n   aforementioned default. This is necessary because older deltas may\n   actually read/write data beyond the filesystem size. It is also\n   sufficient because any old delta payload we generate should write to\n   a 2GB target partition.\n\n3) In all other cases, just use the new filesystem size, as encoded in\n   the payload. This is a safe choice for full updates and newer deltas.\n\nThe command-line tool is updated accordingly. Note that the usable\nkernel partition size inference remains unaffected.\n\nBUG\u003dchromium:508566\nTEST\u003dUnit tests (revised)\n\nChange-Id: I987f28fdfe1d82d0f6f565ae9852b7b11bce13e8\nReviewed-on: https://chromium-review.googlesource.com/285447\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "0d575cde18a1b44e386181dc1abbc611b9ae7a59",
      "tree": "5dde485b98dab00b337f49fa3133eee2b594c558",
      "parents": [
        "0d7a8d4f8ca7a111b6211c8469ce80355810ae28"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Mon Jul 13 17:29:21 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Jul 17 00:05:51 2015 +0000"
      },
      "message": "paycheck: Improve minor_version checking.\n\n1) We explicitly catch whether this field is not set. This means we\n   might fail payloads generated by an old delta_generator, but ensures\n   that we catch such a failure in current payload generation.  Test\n   logic slightly restructured to reduce duplication.\n\n2) Slight changes to the checker method signature, for better uniformity\n   with the rest of the code. This also lets us test that we actually\n   read the minor_version field.\n\nBUG\u003dchromium:508566\nTEST\u003dUnit tests (revised)\n\nChange-Id: Ib2d1999964ba892ef778ffc16bd1ca1c7d02bcd5\nReviewed-on: https://chromium-review.googlesource.com/285446\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "0d7a8d4f8ca7a111b6211c8469ce80355810ae28",
      "tree": "a41f1736c358952d9a1126968836b46e92f53152",
      "parents": [
        "25c18211b66715d35236259fcd0d3e6c0980780a"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Jul 16 11:49:34 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Jul 17 00:05:45 2015 +0000"
      },
      "message": "paycheck: Fix linter errors.\n\nAll whitespace related.\n\nBUG\u003dNone\nTEST\u003dNone\n\nChange-Id: I18694b7f3f86b3970de31fa0d366560234767632\nReviewed-on: https://chromium-review.googlesource.com/286142\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\n"
    },
    {
      "commit": "25c18211b66715d35236259fcd0d3e6c0980780a",
      "tree": "0d19801a84dc6fd878e8c8d401935c92a69be6d7",
      "parents": [
        "cf6f30dd7ef1db9955f2e318c0e47ee00271f358"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Tue Jul 14 09:55:07 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 15 23:15:58 2015 +0000"
      },
      "message": "Fix linter errors.\n\nBUG\u003dNone\nTEST\u003dNone\n\nChange-Id: I65434c5e7d00006b89d71aadb5a4721ee16ff289\nReviewed-on: https://chromium-review.googlesource.com/285445\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "cf6f30dd7ef1db9955f2e318c0e47ee00271f358",
      "tree": "39e768d51cbfa0e5d2e6f201d2fed0e8709825b6",
      "parents": [
        "b065e13f600d0efc7f089a382611ffd93a8afce9"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Thu Jun 11 13:51:46 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Sat Jun 13 02:53:27 2015 +0000"
      },
      "message": "update_payload: Remove ctypes dependency.\n\nctypes requires libffi.so to be installed in the system, but old\ntest_images don\u0027t have it, preventing \"cros flash\" to work there.\nThis patch removes the need for ctypes from common.py so cros flash\ncan work.\n\nBUG\u003dNone\nTEST\u003dcros flash from R29 on link.\n\nChange-Id: Idd0732660780081c26375a5214167b53f625e3ed\nReviewed-on: https://chromium-review.googlesource.com/277070\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "b065e13f600d0efc7f089a382611ffd93a8afce9",
      "tree": "07f1240c5c2fd9d08b430114a8d41de37d5d70f7",
      "parents": [
        "12f59aa1cffec0ee531daccc6de7469870f86302"
      ],
      "author": {
        "name": "Allie Wood",
        "email": "alliewood@chromium.org",
        "time": "Fri Apr 24 10:20:27 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Mon Apr 27 23:29:30 2015 +0000"
      },
      "message": "paycheck: Check MOVE operations for start block 0.\n\npaycheck now blocks payloads that read or write to block 0 in a MOVE\noperation. It must do this because old versions of PReadAll and\nPWriteAll could not seek to 0.\n\nBUG\u003dchromium:480751\nTEST\u003dunit tests, test_paycheck.sh\n\nChange-Id: I042de444c92896496795af235e9386dca6c77be2\nReviewed-on: https://chromium-review.googlesource.com/267088\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Allie Wood \u003calliewood@chromium.org\u003e\nTrybot-Ready: Allie Wood \u003calliewood@chromium.org\u003e\nTested-by: Allie Wood \u003calliewood@chromium.org\u003e\n"
    },
    {
      "commit": "12f59aa1cffec0ee531daccc6de7469870f86302",
      "tree": "556511e734922e8b9c1568375a1188b479d41797",
      "parents": [
        "fb04d30e433eed1d7e7b78114c1a747c89091362"
      ],
      "author": {
        "name": "Allie Wood",
        "email": "alliewood@chromium.org",
        "time": "Mon Apr 06 11:05:12 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Apr 15 04:50:56 2015 +0000"
      },
      "message": "update_payload: Add SOURCE operations to applier.\n\nAdd support for SOURCE_COPY and SOURCE_BSDIFF to paycheck by adding\nfunctions to apply these operations in applier. Also remove the source\nto destination partition copy in the applier when minor version is 2.\n\nAdds constants for source and inplace minor versions to common.py.\n\nBUG\u003dchromium:461635\nTEST\u003dunit tests and ./test_paycheck.sh with sample payloads.\nCQ-DEPEND\u003dCL:263747\n\nChange-Id: I72d354d0609d205aab374dbdca6f30eb4de6a819\nReviewed-on: https://chromium-review.googlesource.com/264931\nTested-by: Allie Wood \u003calliewood@chromium.org\u003e\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Allie Wood \u003calliewood@chromium.org\u003e\nTrybot-Ready: Allie Wood \u003calliewood@chromium.org\u003e\n"
    },
    {
      "commit": "fb04d30e433eed1d7e7b78114c1a747c89091362",
      "tree": "63aea6f15a51fb9c092aa661ecbff83ecf5db423",
      "parents": [
        "7cf9f13f2715d0a033c6300a244b40302d8eb7b7"
      ],
      "author": {
        "name": "Allie Wood",
        "email": "alliewood@chromium.org",
        "time": "Fri Apr 03 14:25:48 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Mon Apr 06 21:50:28 2015 +0000"
      },
      "message": "update_payload: Fix checker unittests.\n\nChecker unittests failed when fail_bad_type\u003dTrue in\nDoCheckOperationsTest. When the operation was added (in AddOperation), a\nValueError was raised because an invalid enum value (for op.type) was\ngiven. For now, fail_bad_type tests have been removed.\n\nBUG\u003dNone\nTEST\u003d`./checker_unittest.py`\n\nChange-Id: I19220e295c576b4ddc6f427dedd4bc037908483d\nReviewed-on: https://chromium-review.googlesource.com/264005\nReviewed-by: Allie Wood \u003calliewood@chromium.org\u003e\nCommit-Queue: Allie Wood \u003calliewood@chromium.org\u003e\nTested-by: Allie Wood \u003calliewood@chromium.org\u003e\n"
    },
    {
      "commit": "7cf9f13f2715d0a033c6300a244b40302d8eb7b7",
      "tree": "dbeb852fd4e2b49de94a039e9a0245daa506712c",
      "parents": [
        "f5c4f3e2a6e7c93e5b4c09272091f23a935fab86"
      ],
      "author": {
        "name": "Allie Wood",
        "email": "alliewood@chromium.org",
        "time": "Thu Feb 26 14:28:19 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Feb 27 07:08:02 2015 +0000"
      },
      "message": "update_payload: Move minor version checks to CheckOperation.\n\nVarious small fixes. Move checks for operation and minor version\ncompatibility to CheckOperation.\n\nBUG\u003dnone\nTEST\u003d`./checker_unittest.py` and running paycheck on payloads.\n\nChange-Id: I6abd0ec200c1d4d885b09dfb84ee7e6cfad4172c\nReviewed-on: https://chromium-review.googlesource.com/254345\nReviewed-by: Allie Wood \u003calliewood@chromium.org\u003e\nCommit-Queue: Allie Wood \u003calliewood@chromium.org\u003e\nTrybot-Ready: Allie Wood \u003calliewood@chromium.org\u003e\nTested-by: Allie Wood \u003calliewood@chromium.org\u003e\n"
    },
    {
      "commit": "f5c4f3e2a6e7c93e5b4c09272091f23a935fab86",
      "tree": "f19a21b9f08d9712d49a95fd3c007973bdef29bc",
      "parents": [
        "8907e795aff7b3c3fc939ea74098c401ca8d379d"
      ],
      "author": {
        "name": "Allie Wood",
        "email": "alliewood@chromium.org",
        "time": "Fri Feb 20 16:57:46 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Thu Feb 26 02:03:31 2015 +0000"
      },
      "message": "update_payload: Add checks for new operations and minor version.\n\nPaycheck now checks to make sure delta payloads with minor version 1 do\nnot have SOURCE_COPY or SOURCE_BSDIFF operations and that payloads with\nminor version 2 do not have MOVE or BSDIFF operations. It also checks that\nthe minor version given matches the payload type (delta or full).\n\nBUG\u003dchromium:459799\nTEST\u003d`./checker_unittest.py` and running paycheck on payloads.\n\nChange-Id: I2a61e44760ae2b672015acdf8683501327b5d197\nReviewed-on: https://chromium-review.googlesource.com/253050\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Allie Wood \u003calliewood@chromium.org\u003e\nTrybot-Ready: Allie Wood \u003calliewood@chromium.org\u003e\nTested-by: Allie Wood \u003calliewood@chromium.org\u003e\n"
    },
    {
      "commit": "8907e795aff7b3c3fc939ea74098c401ca8d379d",
      "tree": "41b7c9c7094935b03af57a9f9fa5112acbe68a8d",
      "parents": [
        "c11dc7338639296ab99f89964a94bcc486500ba3"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Wed Feb 25 12:49:03 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Thu Feb 26 00:49:45 2015 +0000"
      },
      "message": "update_payload: Remove assertIsNone.\n\nunittest.assertIsNone was introduced in python 2.7 but at the time\nour servers were running an older python version. We have migrated to\npython 2.7 so we can drop the local wrapper now.\n\nBUG\u003dNone\nTEST\u003dran unittest.\n\nChange-Id: I1c43d027361ab7f8f5fad83cc900361e5a6ee137\nReviewed-on: https://chromium-review.googlesource.com/253610\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\n"
    },
    {
      "commit": "c11dc7338639296ab99f89964a94bcc486500ba3",
      "tree": "30cbb35058c64d9f88acf3cba3c1ac6baab89481",
      "parents": [
        "847e59386f01cab8cd48dcbf9cd543d0e9a6ad5b"
      ],
      "author": {
        "name": "Allie Wood",
        "email": "alliewood@chromium.org",
        "time": "Wed Feb 18 15:53:05 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Feb 20 20:51:14 2015 +0000"
      },
      "message": "update_payload: Regenerate proto file with new operation codes.\n\nRegenerate update_metadata_pb2.py to include SOURCE_COPY and\nSOURCE_BSDIFF, the new a to b operations for delta minor version 2.\n\nBUG\u003dchromium:459363\nTEST\u003dunit tests and `cbuildbot --remote link-release --hwtest`\n\nChange-Id: I3631c7af97f57d48f86a34c37f97ec8c3cef088d\nReviewed-on: https://chromium-review.googlesource.com/250954\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Allie Wood \u003calliewood@chromium.org\u003e\nTested-by: Allie Wood \u003calliewood@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\n"
    },
    {
      "commit": "847e59386f01cab8cd48dcbf9cd543d0e9a6ad5b",
      "tree": "49303c678d5a9dbadcd53cbbe001011b932d8097",
      "parents": [
        "5bc7fbea01f944192f146b97cd83050858cddcc5"
      ],
      "author": {
        "name": "Allie Wood",
        "email": "alliewood@chromium.org",
        "time": "Fri Feb 06 11:29:10 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Mon Feb 09 22:17:21 2015 +0000"
      },
      "message": "update_payload: Regenerate protobuf file.\n\nRegenerate update_metadata_pb2.py so that it includes minor_version\nfield.\n\nBUG\u003dNone\nTEST\u003dunit tests and `cbuildbot --remote link-release --hwtest`\n\nChange-Id: I05a09f2e9afa424aeeb7791982040211c0152957\nReviewed-on: https://chromium-review.googlesource.com/247162\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Allie Wood \u003calliewood@chromium.org\u003e\nTested-by: Allie Wood \u003calliewood@chromium.org\u003e\n"
    },
    {
      "commit": "5bc7fbea01f944192f146b97cd83050858cddcc5",
      "tree": "ca173b4f18aca3b5a8f238140b4359ac7e104cbc",
      "parents": [
        "f583a7d7c5255ec0e2321db60b7690c25e58c290"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Thu Feb 05 13:01:09 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Feb 06 14:17:20 2015 +0000"
      },
      "message": "paycheck: Allow payloads with no operations.\n\nDue to a fix to the delta generator (CL:246670) we may actually end up\nwith delta payloads that contain no operations (e.g. a delta from an\nimage to itself). This is a good thing and we want paycheck to not rule\nout trivial deltas such as these.\n\nBUG\u003dchromium:453659\nTEST\u003dEmpty delta verification passes\n\nChange-Id: I461f48bba743a5b96b77aa3f55697ffc5cb8ea0e\nReviewed-on: https://chromium-review.googlesource.com/246673\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "f583a7d7c5255ec0e2321db60b7690c25e58c290",
      "tree": "33ebd71e52df77075cfcc7a91dbd7fb9bef0e9ed",
      "parents": [
        "a7aa0bcfa25b0d303447482980eca0973d4e939a"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Thu Feb 05 13:23:55 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Feb 06 05:20:19 2015 +0000"
      },
      "message": "paycheck: Fix format compliance errors.\n\nBUG\u003dNone\nTEST\u003dNone\n\nChange-Id: I2d810bae961387a63495ba5bbe85b7222b5f86ef\nReviewed-on: https://chromium-review.googlesource.com/246672\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\n"
    },
    {
      "commit": "a7aa0bcfa25b0d303447482980eca0973d4e939a",
      "tree": "8805ed1206b412c7bc49c333da5537e09cfe7d74",
      "parents": [
        "6a3a3878daddc2536a2ac9033189274cfc5ef52d"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Tue Nov 12 08:18:08 2013 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Nov 12 21:10:21 2013 +0000"
      },
      "message": "paycheck: strip newlines off of hash digest strings\n\nThis is an annoyance I\u0027d like to get rid of.\n\nBUG\u003dNone\nTEST\u003dNone\n\nChange-Id: I6119163ffc4944dd2f857bad055822b37229a692\nReviewed-on: https://chromium-review.googlesource.com/176478\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "6a3a3878daddc2536a2ac9033189274cfc5ef52d",
      "tree": "a969f9169908b5ea4c73c1608238f3d5244575eb",
      "parents": [
        "cb638915dbc2e0898b0562c98019c077d7fc1e8a"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Fri Oct 04 18:18:45 2013 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Oct 07 18:31:12 2013 +0000"
      },
      "message": "paycheck: fix errors around percentage / formatting of zero sizes\n\nThis fixes two problems, both having to do with histogram generation:\n\n* When the total number of elements is zero, paycheck would crash due to\n  a division by zero; further, even if the crash is fixed (returning,\n  say, None) the histogram will contain a meaningless value in\n  parenthesis, which we might as well drop. Both are fixed here.\n\n* When some size (say, bytes) is zero, its formatter\n  (bytes-to-human-readable) returns None, which shows up as is in the\n  final report. This should be checked and avoided.\n\nBUG\u003dNone\nTEST\u003dCrash fixed; None percentage/formatted value omitted.\n\nChange-Id: I8bb5fbc47e1cde9dcbee7f7b96bcb63ef3a0935e\nReviewed-on: https://chromium-review.googlesource.com/172046\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "cb638915dbc2e0898b0562c98019c077d7fc1e8a",
      "tree": "892cbe1bf2b1bbdfe44a88a738143020f2d29d02",
      "parents": [
        "21a0250e767dd6fc787252b9cc05657405332774"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Mon Jun 24 04:57:11 2013 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Sep 12 19:10:19 2013 +0000"
      },
      "message": "paycheck: fixes to checker module (readability review)\n\nBUG\u003dNone\nTEST\u003dPasses unit tests\nTEST\u003dPasses integration tests\n\nChange-Id: Ifd502af9d2755b2c23805cd03857ebbf0e633732\nReviewed-on: https://chromium-review.googlesource.com/59752\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "21a0250e767dd6fc787252b9cc05657405332774",
      "tree": "1152a5ae33e938bd3a6a670e025a7042138c5e13",
      "parents": [
        "9753f3d28bda5d2abd7d17eb79022f7e02cb65b9"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Thu Aug 22 16:59:48 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Mon Aug 26 16:02:59 2013 -0700"
      },
      "message": "paycheck: allow to pass an explicit path to bspatch\n\nThe bspatch binary is used when applying update payloads. By default, we\nwere using whatever bspatch that was found via path expansion in\nos.execvp, however there are cases where we want to be specific about\nwhere the bspatch binary is that we need to be using (such as during\npaygen runs).\n\nBUG\u003dchromium:277072\nTEST\u003dNon-default bspatch binary used\n\nChange-Id: I85ffd28aeb26938cbf5ea428fa97d29af0353a7d\nReviewed-on: https://gerrit.chromium.org/gerrit/66736\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "9753f3d28bda5d2abd7d17eb79022f7e02cb65b9",
      "tree": "d5d58f94ec8f51cf8be977b02f332b3c6048b359",
      "parents": [
        "0990f51671e3e392a3e19027b9a4ac4f69f36ba1"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Tue Jul 23 08:34:45 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Tue Jul 23 12:37:03 2013 -0700"
      },
      "message": "paycheck: accommodate \u003e 255 block reads/writes\n\nIt turns out that, in some delta payloads, we\u0027re read/writing specific\nblocks as many as 270 times. Therefore, the unsigned char counters we\u0027ve\nused for recording these accesses overflow and cause the execution to\ndie unexpectedly (also failing paygen when that happens). This change\nincreases the counter size to an unsigned short.\n\nIt should be noted that the fact that we have such frequently accessed\nblocks through the course of an update is somewhat troubling by itself,\nand should be investigated.\n\nBUG\u003dchromium:261417\nTEST\u003dChecking a previously failed payload now passes\n\nChange-Id: I47903cde9971c142cd33382b485b22a88a06b80f\nReviewed-on: https://gerrit.chromium.org/gerrit/63040\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\n"
    },
    {
      "commit": "0990f51671e3e392a3e19027b9a4ac4f69f36ba1",
      "tree": "06daa5971e725ff1eaedfb45ecfd35b7c527d060",
      "parents": [
        "f69065c07bb2eccc88499ba34429f62f707e19b8"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Thu May 30 17:09:31 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Mon Jun 10 17:12:16 2013 -0700"
      },
      "message": "update_payload library: TODO + bug references\n\nBUG\u003dchromium:243559\nTEST\u003dNone\n\nChange-Id: I6837b87ff6f0b845ebbca97fdfa4190dc2d1282a\nReviewed-on: https://gerrit.chromium.org/gerrit/57179\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\n"
    },
    {
      "commit": "f69065c07bb2eccc88499ba34429f62f707e19b8",
      "tree": "69f555cced23e268843fe855af2793850049f22a",
      "parents": [
        "e5fdf189ce3a4628f02a0bd5e09694bf7b815cdf"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Mon May 27 16:54:59 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Mon Jun 03 14:31:57 2013 -0700"
      },
      "message": "paycheck/applier: stop using fallocate\n\nIt appears that fallocate is not supported on certain filesystems (e.g.\nfailing on paygen genati instances). It also appears that we can do just\nfine without it when applying a full update, without significant impact\non performance.  In the interest of making the update_payload library\nmore portable, we therefore drop the fallocate call and replace it with\na simple create/truncate code (all Python standard lib calls).\n\nBUG\u003dchromium:244091\nTEST\u003dIntegration tests\n\nChange-Id: I57f7dec19e8131050c1d56d891e486714d4f7128\nReviewed-on: https://gerrit.chromium.org/gerrit/56762\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Matt Tennant \u003cmtennant@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "e5fdf189ce3a4628f02a0bd5e09694bf7b815cdf",
      "tree": "5a3a186031be7d878a309eda61ac01ff97b8d820",
      "parents": [
        "7a7edfd034e37663337049ccb0aa59467f3b8fd1"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Thu May 23 16:13:38 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Fri May 24 11:36:49 2013 -0700"
      },
      "message": "paycheck: truncate partitions resulting from applying a payload\n\nSince the correctness of the result only encompasses the filesystem (or\notherwise \"meaningful data\") on the target partition, it is desirable to\nactually get rid of whatever is past that point. There are different\nreasons for the presence of such extra space in delta updates, including\nremnants from a source partition that served as baseline for a delta\nupdate, or scratch space used by MOVE operations for breaking cycles.\n\nWe make truncation the default behavior, although it can be suppressed\nby passing the right flag (truncate_to_expected_size\u003dFalse). Note that\nthis change is necessary for comparing the results of applying a payload\nto the partitions as they are extracted from a target image, which is to\nbe attempted during payload generation.\n\nThis also fixes tiny gpylint complaints.\n\nBUG\u003dchromium:241283\nTEST\u003dEmitted partition files truncated as expected\n\nChange-Id: Ibb71e4f2305ec41224afdc503168ae02c312f6fe\nReviewed-on: https://gerrit.chromium.org/gerrit/56532\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "18f4f9fab192e75a3477979c03a89381c35fd974",
      "tree": "7179808d6448dffaa0f196fe90c5a774dd2e5652",
      "parents": [
        "9b90c93edcaa16f6c734f421ccf00201a474d9ea"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Tue Apr 02 16:24:41 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Wed May 22 19:15:56 2013 -0700"
      },
      "message": "paycheck: move stuff from checker_unittest.py to test_utils.py\n\nThis is all stuff that\u0027ll come in handy when testing other modules.\n\nBUG\u003dchromium:217039,chromium:215780,chromium:189855\nTEST\u003dPasses unittests\n\nChange-Id: I57d1fae97330f22748885f8028352f07b5058396\nReviewed-on: https://gerrit.chromium.org/gerrit/47615\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "9b90c93edcaa16f6c734f421ccf00201a474d9ea",
      "tree": "791c5a1c3c7ee0076d98cfc3d465fc8832781f69",
      "parents": [
        "432d601e236bf8b9110fdb497e5f5c87899346e2"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Wed May 22 17:12:56 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Wed May 22 19:15:54 2013 -0700"
      },
      "message": "paycheck: move default pubkey handling inside the library\n\nThis is a more sensible choice given that the pubkey ships within the\nlibrary directory and hence should not be specified explicitly by an\noutside entity (like paycheck). From the practical standpoint, it makes\nthis useful feature available to clients who use the library directly.\n\nBUG\u003dchromium:241283\nTEST\u003dUnit + integration tests\n\nChange-Id: I059302326af1e0e394829466ee97ad2f60de4986\nReviewed-on: https://gerrit.chromium.org/gerrit/56335\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "432d601e236bf8b9110fdb497e5f5c87899346e2",
      "tree": "987f4a1da85832be2f2ebdf9bab1ae2b8264344f",
      "parents": [
        "4f50b413c60a5ef8d642b9d7493baa92c8eedd09"
      ],
      "author": {
        "name": "Don Garrett",
        "email": "dgarrett@google.com",
        "time": "Fri May 10 15:01:36 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Wed May 15 18:42:55 2013 -0700"
      },
      "message": "Update paycheck to understand the updated update_metadata fields.\n\nWhen checking a payload, always start by printing a description of the\npayload being checked.\n\nRecompiled (with protoc) the updated update_metadata.proto from the\nupdate_engine.\n\nBUG\u003dchromium:226310\nTEST\u003dManual Run\nCQ-DEPEND\u003dCL:47347\n\nChange-Id: Ib60c6e6978d30444db7b65ef6d09540c9ffacdb8\nReviewed-on: https://gerrit.chromium.org/gerrit/50899\nCommit-Queue: Don Garrett \u003cdgarrett@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nTested-by: Don Garrett \u003cdgarrett@chromium.org\u003e\n"
    },
    {
      "commit": "4f50b413c60a5ef8d642b9d7493baa92c8eedd09",
      "tree": "69d8701d45ac7c74617282f4b1ca474823a73306",
      "parents": [
        "658185a5bd909c0abe8a55523a4e3cab3f9b26c8"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Tue May 14 09:19:17 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Tue May 14 20:43:26 2013 -0700"
      },
      "message": "paycheck: allow src_extents to span the whole new partition size\n\nIn a previous fix, we allowed paycheck to consider the whole new\npartition (beyond just the filesystem) as valid range for write\noperations. However, since updates are done in place, they should also\nbe considered valid for read operations. This is now fixed.\n\nBUG\u003dchromium:240726\nTEST\u003dPreviously failing delta update now verified successfully\n\nChange-Id: Ib904c0265e2fd61ab0768169b3257c4131441888\nReviewed-on: https://gerrit.chromium.org/gerrit/51138\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "658185a5bd909c0abe8a55523a4e3cab3f9b26c8",
      "tree": "b37fdf7e581d59d29e70ac5be22264f876d1703d",
      "parents": [
        "272a499e2db9d72a64490ca5ccbebe8155fc2966"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Wed May 08 17:57:54 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Mon May 13 19:31:12 2013 -0700"
      },
      "message": "paycheck: applier honors sparse holes\n\nUp until now, paycheck\u0027s applier ignored sparse (aka pseudo-) extents\ncompletely, except for REPLACE operations (where a sparse extent is an\nindicator for a signature blob). This is now fixed.\n\nBUG\u003dchromium:221846\nTEST\u003dPasses integration test\n\nChange-Id: I8b7fde6e4bb20912a59ce9a509a20c00c5c0751b\nReviewed-on: https://gerrit.chromium.org/gerrit/50558\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "272a499e2db9d72a64490ca5ccbebe8155fc2966",
      "tree": "d43741ced85b1740f1acbc26da3b94da0b4dddcb",
      "parents": [
        "16416600a92a60294cd57aceec170a13ed72ed19"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Wed May 08 13:12:53 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Mon May 13 19:31:11 2013 -0700"
      },
      "message": "paycheck: support for in-place BSDIFF operations\n\nWhen applying BSDIFF operations in payloads, we used to extract the\nblock sequences from the old partition and serialize it into a temporary\nfile, and vice versa for the new partition. This worked but did not\nallow us to test bspatch as it is actually being used by the update\nengine.\n\nThis CLs allows paycheck to invoke bspatch so that it reads/writes block\nextents directly from/to the partition file, in the same way it\u0027s being\nused by the update engine. Since performance is the same, this is the\nnew default behavior; users can opt for the aforementioned old behavior\nusing a command-line flag (-x or --extract-bsdiff).\n\nBUG\u003dchromium:229705\nTEST\u003dbspatch invoked differently depending on the -x flag\nTEST\u003dPasses unit/integration tests\n\nChange-Id: I8821754e1163b357617ece6befa42d1c2e575930\nReviewed-on: https://gerrit.chromium.org/gerrit/50486\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Darin Petkov \u003cpetkov@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "16416600a92a60294cd57aceec170a13ed72ed19",
      "tree": "9c03d70c288b726e10279952311b6f36ab3cf767",
      "parents": [
        "2ca9f145a8f7abe5893ad43021dc2901072315be"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Sat May 04 21:40:39 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Mon May 13 15:54:25 2013 -0700"
      },
      "message": "paycheck: src/dst -\u003e old/new in applier code\n\nThe old/new terminology is consistent with that used in update payload\nmanifest, as well as other parts of the update_payload library (e.g.\nchecker).\n\nBUG\u003dNone\nTEST\u003dUnit/integration test passes\n\nChange-Id: I91244ae8adf073b958e8cd7e7670341f056c848e\nReviewed-on: https://gerrit.chromium.org/gerrit/50130\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "9640537ac1b6abfae866424a11e6869228fb7cac",
      "tree": "8223bad816120a0f9a9a2182e9aefd1b8deca776",
      "parents": [
        "382df5ce2f4b67bf0998b01c6fedcdb5c35ebef9"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Sat May 04 00:24:58 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Tue May 07 00:03:15 2013 -0700"
      },
      "message": "paycheck: use base64 encoding for SHA256 hashes throughout\n\nTurns out we were using base64 when adding SHA256 data to a payload\nreport, but intermittently using hex encoding in error messages. This is\nnow fixed.\n\nBUG\u003dNone\nTEST\u003dNo mention of hex encoding in the code\nTEST\u003dgpylinted correctly\nTEST\u003dPasses unit tests\n\nChange-Id: Id2dc2fcd154d4647cc1a076579dde7a789c09e40\nReviewed-on: https://gerrit.chromium.org/gerrit/50104\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nCommit-Queue: David James \u003cdavidjames@chromium.org\u003e\n"
    },
    {
      "commit": "382df5ce2f4b67bf0998b01c6fedcdb5c35ebef9",
      "tree": "f134f56266c93512a10f7d8fff5bd06bd15e70a5",
      "parents": [
        "e73dad9a9ea7121c9e80448dbda154c2510a860f"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Fri May 03 12:49:28 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Tue May 07 00:03:14 2013 -0700"
      },
      "message": "paycheck: enforce physical partition size correctly\n\nDuring payload checking, payload has wrongly interpreted the size\nreported in the update payload to be the physical partition size,\nwhereas this is in fact the size of the filesystem portion only (a\nmisnomer). This sometimes caused it to emit errors on out-of-bounds\noperations, which are otherwise harmless in real-world scenarios.\n\nThis CL makes a clear distinction between the two, with the following\nsemantics:\n\n- The payload\u0027s embedded filesystem size must by \u003c\u003d the physical\n  partition sizes.\n\n- Reading/writing from/to the new partition must be within the physical\n  partition size boundaries, and not the filesystem ones.\n\n- Reading from the old partition is only allowed from filesystem\n  boundaries; this is unchanged from current behavior and appears to be\n  consistent with how we perform delta updates.\n\n- Old/new SHA256 verification during payload application is now limited\n  to the allotted filesystem portion only (and not the full partition\n  size). This is consistent with the update engine\u0027s semantics.\n\n- Other than that, this change currently has no further effect on\n  payload application, which remains more permissive wrt to partition\n  sizes.  This also means that the sizes of partitions resulting from\n  a payload application will not necessarily abide by the predetermined\n  physical partition sizes.  This is in line with the prevailing\n  division of responsibilities between payload checking (strict) and\n  application (relaxed).\n\nBUG\u003dchromium:221847\nTEST\u003dPayload checking respects partition size override\nTEST\u003dUnit tests pass\nTEST\u003dIntegration tests pass\n\nChange-Id: I0dbc88d538c0cc53b7551f4dfa8f543bcf480cd5\nReviewed-on: https://gerrit.chromium.org/gerrit/50103\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nCommit-Queue: David James \u003cdavidjames@chromium.org\u003e\n"
    },
    {
      "commit": "be8ceab2a94fc68a4e4521e1f3e818a671c44414",
      "tree": "ad112f2a03836937178294f2f6b518aba17d777c",
      "parents": [
        "30027fdb6dec1418ad92270cf4932c3635bd2b3d"
      ],
      "author": {
        "name": "Don Garrett",
        "email": "dgarrett@google.com",
        "time": "Tue Apr 30 18:42:29 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Mon May 06 17:48:27 2013 -0700"
      },
      "message": "Add public update key as default.\n\nThis adds the key, and makes it default.\n\nBUG\u003dchromium:237064\nTEST\u003dRan tool manually.\n\nChange-Id: I0c47515980dd0349e6d427524b933ff812b61318\nReviewed-on: https://gerrit.chromium.org/gerrit/49704\nTested-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Don Garrett \u003cdgarrett@chromium.org\u003e\n"
    },
    {
      "commit": "eaed0d1371d781d3f5effa1475f5202dea9467e7",
      "tree": "47579dbb2323becb26c525d85da1e33b459ee1ef",
      "parents": [
        "4fbe409cb84e9ae89f22c6f3e80580ee49dbc0a2"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Tue Apr 30 15:38:22 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Thu May 02 15:46:43 2013 -0700"
      },
      "message": "paycheck: allow to disable specific checks\n\nThis became necessary as the delta generator appears to generate\npayloads that fail certain checks (e.g. during update_engine unit\ntesting).\n\nBUG\u003dNone\nTEST\u003dDisabled checks not being triggered\n\nChange-Id: I4491e0cb32ef44f85e11ffb0402b40d1371525ae\nReviewed-on: https://gerrit.chromium.org/gerrit/49676\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "5502b56f34f9703cf053be46e4ea5685c0c9ac26",
      "tree": "5d1eb5c4d0fb8016ae03698d5a89451fcde5bde7",
      "parents": [
        "857223b4118d7b4d9bd988d996db00d7ea313029"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Fri Mar 08 13:22:31 2013 -0800"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Fri Apr 05 17:02:56 2013 -0700"
      },
      "message": "paycheck: unit tests + fixes to checker module\n\nThis adds missing unit tests for the checker module, bundled with fixes\nto some bugs that surfaced due to unit tests. This includes:\n\n* A fake extent (signified by start_block \u003d\u003d UINT64_MAX) that\n  accompanies a signature data blob bears different requirements than\n  previously implemented.  Specifically, the extent sequence must have\n  exactly one extent; and the number of blocks is not necessarily one,\n  rather it is the correct number that corresponds to the actual length\n  of the signature blob.\n\n* REPLACE/REPLACE_BZ operations must contain data.\n\n* MOVE operation validation must ensure that all of the actual message\n  extents are being used.\n\n* BSDIFF operation must contain data (the diff).\n\n* Signature pseudo-operation should be a REPLACE.\n\nBUG\u003dchromium-os:34911,chromium-os:33607,chromium-os:7597\nTEST\u003dPasses unittests (upcoming); works with actual payloads.\n\nChange-Id: I4d839d1d4da1fbb4a493b208958a139368e2c8ca\nReviewed-on: https://gerrit.chromium.org/gerrit/45429\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "857223b4118d7b4d9bd988d996db00d7ea313029",
      "tree": "a87ec077e1f364dfb885a7c10faac5824d69b8b6",
      "parents": [
        "aa55d1a133cced2e084e69d5b1dd4d17c0e0d054"
      ],
      "author": {
        "name": "Chris Sosa",
        "email": "sosa@chromium.org",
        "time": "Fri Mar 29 14:31:43 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Fri Mar 29 22:37:37 2013 -0700"
      },
      "message": "Modify paycheck to print out hashes in base64.\n\nBoth the update engine and sha256_partitions.sh print out hashes in\nbase64 encoding. Let\u0027s stay consistent with ourselves so we can diagnose\nhash mismatches correctly.\n\nBUG\u003dNone\nTEST\u003dRan it with a delta payload and compared hashes with sha256_partitions.sh\nand logs from applying it in the update_engine.\n\nChange-Id: I90c511b936792a073fbe069065ff53c24f47041c\nReviewed-on: https://gerrit.chromium.org/gerrit/46910\nCommit-Queue: Chris Sosa \u003csosa@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nTested-by: Chris Sosa \u003csosa@chromium.org\u003e\n"
    },
    {
      "commit": "aa55d1a133cced2e084e69d5b1dd4d17c0e0d054",
      "tree": "db717fba16213ecbca4e12567c6f28f7cbacfbea",
      "parents": [
        "553b0ec49bc64fc4b7df4358cd31396a87276d2b"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Fri Mar 08 12:05:59 2013 -0800"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Fri Mar 15 15:04:31 2013 -0700"
      },
      "message": "Fix update out-of-bounds check for partition boundary.\n\nThis is an off-by-one error caught during the implementation of unit\ntests.\n\nBUG\u003dNone\nTEST\u003dUnit tests (upcoming) pass as expected.\n\nChange-Id: I9a5da10588f0ac4314e9a35280ff1f38c34c88ac\nReviewed-on: https://gerrit.chromium.org/gerrit/44953\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\n"
    },
    {
      "commit": "553b0ec49bc64fc4b7df4358cd31396a87276d2b",
      "tree": "ae430c299339c9480d12c2d2da0be419426aa55d",
      "parents": [
        "516f0f7a3d13b74f7bf6f5fb8573f5900c1eb94f"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Sat Jan 26 01:00:39 2013 -0800"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Fri Mar 08 12:01:42 2013 -0800"
      },
      "message": "Update payload library + command-line tool\n\nAn initial implementation of a Python module for parsing, checking and\napplying a Chrome OS update payload. Comes with a command-line tool\n(paycheck.py) for applying such operations on payload files, and a test\nscript (test_paycheck.sh) for ensuring that the library and tool are\nworking correctly.\n\nSince update_payload is introduced as a package, we\u0027re moving some\npreviously merged utilities into the package\u0027s directory.\n\n(Unit testing for this code will be uploaded on a separate CL; see\nchromium-os:39663)\n\nBUG\u003dchromium-os:34911,chromium-os:33607,chromium-os:7597\nTEST\u003dtest_paycheck.sh successful on MP-signed payloads\nCQ-DEPEND\u003dI5746a1d80e822a575f0d96f94d0b4e765fc64507\n\nChange-Id: I77123a1fffbb2059c239b7145c6922968fdffb6a\nReviewed-on: https://gerrit.chromium.org/gerrit/43041\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nReviewed-by: Jay Srinivasan \u003cjaysri@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "516f0f7a3d13b74f7bf6f5fb8573f5900c1eb94f",
      "tree": "5cd340da981c44b58b41785656565787f1316eaa",
      "parents": [
        "9c950103182df9867b32f77756dda64a49439cf1"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Fri Feb 22 12:14:16 2013 -0800"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Tue Feb 26 14:48:12 2013 -0800"
      },
      "message": "Move update_metadata_pb2.py to host/lib/update_payload\n\nThis is necessary for proper packaging of the upcoming update_payload\nlibrary. Has to be done in a separate CL so that pylint checks can be\ndisabled (--no-verify).\n\nBUG\u003dNone\n\nTEST\u003dNone\n\nChange-Id: I5746a1d80e822a575f0d96f94d0b4e765fc64507\nReviewed-on: https://gerrit.chromium.org/gerrit/43809\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    }
  ]
}
