)]}'
{
  "log": [
    {
      "commit": "a590d8af79c97bab8779aaf317ee4cd214e2d58f",
      "tree": "fb45ba653185d20beb36b01095e426304aa7533c",
      "parents": [
        "86bbe649362e49b600af8211c53f27552000aec5"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Jul 25 15:31:33 2022 -0700"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Jul 28 09:26:45 2022 -0700"
      },
      "message": "Add postinstall entry for erofs\n\nIn VABC, system partitions are mapped under /dev/block/mapper, therefore\nadd entries for these paths.\n\nTest: th, partner verification\nBug: 240098665\nChange-Id: Ia60346e33409179a81f896019786e23a85741959\n"
    },
    {
      "commit": "2834c615cf690fc5ead4df8c9c1debea4dc494e7",
      "tree": "97ffd80f08b9e0f0dab73734c91c53fb2b542697",
      "parents": [
        "30db4a5be2d2dd8a6cfd016b0048edd048849679"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Apr 28 17:10:15 2022 -0700"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Apr 28 17:10:15 2022 -0700"
      },
      "message": "Add an fstab entry for erofs postinstall\n\nTest: th\nBug: 222218770\nChange-Id: I387ad9f5d4988da1232c37804269193016edc9c1\n"
    },
    {
      "commit": "f7b663bdac56392330133a47ac700ca1ad464c7e",
      "tree": "5e3b200da6d4716dd3dd6c08fc86675600cb6817",
      "parents": [
        "7baf903ea86064be9a423573367b340ab85ea974"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Thu Jun 17 19:18:40 2021 -0700"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Jun 23 18:42:41 2021 +0000"
      },
      "message": "Replace writepid with task_profiles command for cgroup migration\n\nwritepid command usage to join a cgroup has been deprecated in favor\nof a more flexible approach using task_profiles. This way cgroup path\nis not hardcoded and cgroup changes can be easily made. Replace\nwritepid with task_profiles command to migrate between cgroups.\n\nBug: 191283136\nTest: build and boot\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\nChange-Id: I031082aaf469e30320f89fd320991318384fc48b\n"
    },
    {
      "commit": "4e060089506d82b3778aa7868761d615a62b4630",
      "tree": "2897e5ab2419ca9f92232612e13ea1cf4865ae9c",
      "parents": [
        "207a008f06ca75ca9f5b8adc1c333859d87ae927"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 16 18:59:28 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 19 12:59:06 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to system/extras\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  alloc-stress/Android.bp\n  app-launcher/Android.bp\n  boot_control_copy/Android.bp\n  bootctl/Android.bp\n  boottime_tools/bootanalyze/stressfs/Android.bp\n  boottime_tools/bootio/Android.bp\n  brillo_config/Android.mk\n  checkpoint_gc/Android.bp\n  cppreopts/Android.bp\n  crypto-perf/Android.bp\n  ext4_utils/Android.bp\n  ext4_utils/Android.mk\n  f2fs_utils/Android.bp\n  ioblame/Android.bp\n  ioshark/Android.bp\n  iotop/Android.bp\n  kexec_tools/Android.bp\n  latencytop/Android.bp\n  libfec/Android.bp\n  libfec/test/Android.bp\n  libfscrypt/Android.bp\n  libfscrypt/tests/Android.bp\n  libjsonpb/parse/Android.bp\n  libjsonpb/verify/Android.bp\n  memory_replay/Android.bp\n  memtrack/Android.bp\n  mmap-perf/Android.bp\n  module_ndk_libs/libnativehelper/Android.bp\n  multinetwork/Android.bp\n  pagecache/Android.bp\n  partition_tools/Android.bp\n  partition_tools/aidl/Android.bp\n  perf2cfg/Android.bp\n  postinst/Android.bp\n  preopt2cachename/Android.bp\n  profcollectd/Android.bp\n  profcollectd/libprofcollectd/Android.bp\n  profcollectd/libprofcollectd/bindings/libflags/Android.bp\n  pssbench/Android.mk\n  puncture_fs/Android.bp\n  runconuid/Android.bp\n  sane_schedstat/Android.bp\n  showslab/Android.bp\n  simpleperf/Android.bp\n  simpleperf/runtest/Android.bp\n  simpleperf/scripts/inferno/Android.bp\n  simpleperf/simpleperf_app_runner/Android.bp\n  slideshow/Android.mk\n  sound/Android.bp\n  squashfs_utils/Android.bp\n  su/Android.mk\n  taskstats/Android.bp\n  tests/Android.bp\n  tests/audio/alsa/Android.bp\n  tests/binder/benchmarks/Android.bp\n  tests/bootloader/Android.mk\n  tests/cpueater/Android.bp\n  tests/crypto/Android.bp\n  tests/directiotest/Android.bp\n  tests/ext4/Android.mk\n  tests/framebuffer/Android.bp\n  tests/fstest/Android.bp\n  tests/icachetest/Android.bp\n  tests/iptables/qtaguid/Android.bp\n  tests/kernel.config/Android.mk\n  tests/lib/Android.bp\n  tests/lib/testUtil/Android.bp\n  tests/memeater/Android.mk\n  tests/pagingtest/Android.mk\n  tests/pftest/Android.bp\n  tests/schedtest/Android.bp\n  tests/storage/Android.bp\n  tests/suspend_stress/Android.bp\n  tests/tcp_nuke_addr/Android.bp\n  tests/timetest/Android.bp\n  tests/uevents/Android.bp\n  toolchain-extras/Android.bp\n  vbmeta_tools/Android.bp\n  verity/Android.bp\n  verity/fec/Android.bp\n  zram-perf/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  cpustats/Android.bp\n\nAdded SPDX-license-identifier-BSD to:\n  ANRdaemon/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: Ia559848af903a7b6746d9b12b7de8b83bc57f99d\n"
    },
    {
      "commit": "1e069ecc577f7c9a3a3d839ea3512f9c1baac5fd",
      "tree": "4f22a5a3d44080b7f10905599c216d0e49fd4f3f",
      "parents": [
        "044d055c842a5750359ed71dfe50a6a4bf5f4cc3"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 16 21:00:35 2021 +0000"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 16 21:00:35 2021 +0000"
      },
      "message": "Revert \"[LSC] Add LOCAL_LICENSE_KINDS to system/extras\"\n\nThis reverts commit 044d055c842a5750359ed71dfe50a6a4bf5f4cc3.\n\nReason for revert: Needs to run as multiple roots.\n\nChange-Id: I8e06e7eb19e0f634f52fbd8a1c6662f43e347dd5\n"
    },
    {
      "commit": "044d055c842a5750359ed71dfe50a6a4bf5f4cc3",
      "tree": "f8bfb444fd2342ac7b77cab4a86f3d5fd1ceada0",
      "parents": [
        "bfe2189925f13b2ba81321864aeab758dc43ee33"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 12 14:20:32 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 12 14:20:32 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to system/extras\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  boot_control_copy/Android.bp\n  bootctl/Android.bp\n  boottime_tools/bootanalyze/stressfs/Android.bp\n  boottime_tools/bootio/Android.bp\n  checkpoint_gc/Android.bp\n  cppreopts/Android.bp\n  crypto-perf/Android.bp\n  ext4_utils/Android.bp\n  ext4_utils/Android.mk\n  f2fs_utils/Android.bp\n  ioshark/Android.bp\n  iotop/Android.bp\n  kexec_tools/Android.bp\n  latencytop/Android.bp\n  libfec/Android.bp\n  libfec/test/Android.bp\n  libfscrypt/Android.bp\n  libfscrypt/tests/Android.bp\n  libjsonpb/parse/Android.bp\n  libjsonpb/verify/Android.bp\n  memory_replay/Android.bp\n  memtrack/Android.bp\n  mmap-perf/Android.bp\n  module_ndk_libs/libnativehelper/Android.bp\n  multinetwork/Android.bp\n  pagecache/Android.bp\n  partition_tools/Android.bp\n  perf2cfg/Android.bp\n  postinst/Android.bp\n  preopt2cachename/Android.bp\n  profcollectd/Android.bp\n  profcollectd/libprofcollectd/Android.bp\n  profcollectd/libprofcollectd/bindings/libflags/Android.bp\n  puncture_fs/Android.bp\n  runconuid/Android.bp\n  sane_schedstat/Android.bp\n  showslab/Android.bp\n  simpleperf/Android.bp\n  simpleperf/runtest/Android.bp\n  simpleperf/scripts/inferno/Android.bp\n  simpleperf/simpleperf_app_runner/Android.bp\n  slideshow/Android.mk\n  sound/Android.bp\n  squashfs_utils/Android.bp\n  su/Android.mk\n  taskstats/Android.bp\n  tests/Android.bp\n  tests/audio/alsa/Android.bp\n  tests/binder/benchmarks/Android.bp\n  tests/bootloader/Android.mk\n  tests/cpueater/Android.bp\n  tests/crypto/Android.bp\n  tests/directiotest/Android.bp\n  tests/ext4/Android.mk\n  tests/framebuffer/Android.bp\n  tests/fstest/Android.bp\n  tests/icachetest/Android.bp\n  tests/iptables/qtaguid/Android.bp\n  tests/kernel.config/Android.mk\n  tests/lib/Android.bp\n  tests/lib/testUtil/Android.bp\n  tests/memeater/Android.mk\n  tests/pagingtest/Android.mk\n  tests/pftest/Android.bp\n  tests/schedtest/Android.bp\n  tests/storage/Android.bp\n  tests/suspend_stress/Android.bp\n  tests/tcp_nuke_addr/Android.bp\n  tests/timetest/Android.bp\n  tests/uevents/Android.bp\n  toolchain-extras/Android.bp\n  vbmeta_tools/Android.bp\n  verity/Android.bp\n  verity/fec/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  cpustats/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    legacy_notice\nto:\n  Android.bp\n\nAdded SPDX-license-identifier-BSD\nto:\n  ANRdaemon/Android.bp\n\nAdded legacy_notice\nto:\n  alloc-stress/Android.bp\n  app-launcher/Android.bp\n  brillo_config/Android.mk\n  ioblame/Android.bp\n  partition_tools/aidl/Android.bp\n  pssbench/Android.mk\n  zram-perf/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: Ie7c022a4d7f828a89d0cda663684a497af37006e\n"
    },
    {
      "commit": "dafd85d7386dc2a56bc3840e508fcad87fb1ae54",
      "tree": "1e77d525aa7ed82d2d58f9c9d6292e2df7d6830d",
      "parents": [
        "0edad652cf4a011d30f47818d0d2c59f0929aaec"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Oct 03 14:16:38 2019 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Oct 03 14:38:15 2019 +0100"
      },
      "message": "Make cppreopts.sh deal with new layout\n\n.odex and .vdex files on system_other are being moved to a subdir\nwith the name of their source partition. Update cppreopts to\nrecognize this and pass the right source path to preopt2cachename.\n\nBug: 141707536\nTest: manually verify name of dalvik-cache files post boot\nTest: dumpsys package [system-package]; verify reason\u003dprebuilt\nChange-Id: Icb5b5307ad42b7c899e11212843ce4b96b015958\n"
    },
    {
      "commit": "94a8a8c5f247c281e2130d9353e8ac9b4fb2c300",
      "tree": "17848f5c4f02c846fd6b53218c56be6a739c1ce0",
      "parents": [
        "7ed6aabda897ac6cc0baa7ae28db8a680acc91e0"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Apr 09 11:53:00 2019 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Apr 16 17:02:41 2019 +0000"
      },
      "message": "cppreopts: umount_all fstab.postinstall\n\n- Change \u0027umount /postinstall\u0027 to a full umount_all so that\n  postinstall-verity device get destroyed.\n\n- No longer set sys.cppreopt\u003dmounted because that incurs even\n  more code. Just duplicate the two procedures.\n\nTest: flash, boot, then check `dmctl list devices`, then OTA\nFixes: 129988285\nChange-Id: Ic0cdf55b3639632dc5f2659c8bf36b8c3deea92d\nMerged-In: Ic0cdf55b3639632dc5f2659c8bf36b8c3deea92d\n"
    },
    {
      "commit": "a1dced2b52f1fc124ec54f93aee39c2280f0bb56",
      "tree": "841502f1660adff34d7e2e397e23ccfe546fc0e4",
      "parents": [
        "41cb9915b20d3029cd195a6a9b3152eabf4daeea"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Mon Apr 01 08:51:18 2019 -0700"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Mon Apr 01 09:29:38 2019 -0700"
      },
      "message": "Use fsync instead of sync during first boot\n\n1) fsync the specific copied file instead of sync whole file system\n2) boost prio/ioprio for CFQ since cpppreopt is on critical path\n3) change to foreground group\n\nBefore CL:\n03-29 21:49:31.450     1     1 I init    : Service \u0027cppreopts\u0027 (pid 1662) exited with status 0 waiting took 55.175999 seconds\n03-29 21:49:31.808  1440  1440 I PackageManager: cppreopts took 55591 ms\n\nAfter CL:\n04-01 15:47:43.841     1     1 I init    : Service \u0027cppreopts\u0027 (pid 1871) exited with status 0 waiting took 2.007000 seconds\n04-01 15:47:45.343  1549  1549 I PackageManager: cppreopts took 3709 ms\n\nBug: 129542240\nTest: boot\nChange-Id: Ia9bacabe798764084790b077abc80ae60401f9c1\n"
    },
    {
      "commit": "0f961966e2320a748b4585b7139805d7bab13ba6",
      "tree": "44424ded1acc9d6e758e09796ffe6cc300ec5f99",
      "parents": [
        "00b208191190221b5f10538aac9f7ae8cad332fa"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Wed Feb 27 11:43:39 2019 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Thu Mar 07 12:39:56 2019 +0800"
      },
      "message": "Allowing product-specific fstab.postinstall\n\nTo allow mount system_other with different file systems, mount options,\nor verity settings, we need to put the fstab into /product and keep\nthe /system/etc/fstab.postinstall generic.\n\nDevice can add the following into device/*/BoardConfig.mk to use\nthe fstab from /product:\n\nPRODUCT_PRODUCT_PROPERTIES +\u003d \\\n    ro.postinstall.fstab.prefix\u003d/product\n\nPRODUCT_COPY_FILES +\u003d \\\n    $(LOCAL_PATH)/fstab.postinstall:$(TARGET_COPY_OUT_PRODUCT)/etc/fstab.postinstall\n\nIn the $(LOCAL_PATH)/fstab.postinstall:\n/dev/block/by-name/system /postinstall ext4   ro,nosuid,nodev,noexec  slotselect_other,avb_keys\u003d/product/etc/avb/system_other.avbpubkey\n\n[serial log]:\ninit: Overriding previous \u0027ro.\u0027 property\u0027 ro.postinstall.fstab.prefix\u0027:\u0027/system\u0027 with new value \u0027/product\u0027\ninit: processing action (ro.postinstall.fstab.prefix\u003d/product \u0026\u0026 sys.cppreopt\u003drequested) from (/system/etc/init/cppreopts.rc:27)\ninit: [libfs_avb]Returning avb_handle for \u0027/postinstall\u0027 with status: Success\ninit: [libfs_avb]Built verity table: \u00271 /dev/block/by-name/system_a\n/dev/block/by-name/system_a 4096 4096 709501 709501 sha1\n71941953c7b61238a1779e55f8dbba2eab6c702a 0b7840796a7be\n6ecadffaf6fc2f085400c9a0c78 10 use_fec_from_device\n/dev/block/by-name/system_a fec_roots 2 fec_blocks 715089 fec_start\n715089 restart_on_corruption ignore_zero_blocks\n...\ninit: Command \u0027mount_all /product/etc/fstab.postinstall\u0027\naction\u003dro.postinstall.fstab.prefix\u003d/product \u0026\u0026 sys.cppreopt\u003drequested\n(/system/etc/init/cppreopts.rc:28) took 109ms and succeeded\n\n[logcat log]:\ncppreopts: Copied file from /postinstall/priv-app/... to /data/dalvik-cache/arm64/...\n...\n1750  1750 I PackageManager: cppreopts took 21976 ms\n\nBug: 112103720\nTest: factory reset and boot device, checks cppreopt logs\nChange-Id: If826ac45804be085b48a50cab6741960658dc09f\n"
    },
    {
      "commit": "c15906449b34fd0e93bd3873ddca9fd963b63c0a",
      "tree": "6f8c748c5fef1343009fce8c6df8b42068ecd095",
      "parents": [
        "ecb8e06a5319b7467bc5f0a5a79c3cddfd7943f5"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Sat Feb 23 06:08:43 2019 -0800"
      },
      "committer": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Mon Feb 25 20:15:44 2019 +0000"
      },
      "message": "cppreopts: remove DAC capabilities\n\nDefine service for cppreopts.sh in order to drop DAC capabilities for\nfor it and its children. Capabilities were already blocked by SELinux\nso this does not cause a functional change, but rather shifts the\nblocking mechanism to the DAC capability check which fails less\nnoisily. Otherwise, this change is intended to preserve the previous\nbehavior and uses \"exec_start\" to presever the blocking behavior of\n\"exec\".\n\nThis prevents an selinux denial which is causing occasional presubmit\nfailures:\navc: denied { sys_resource } for comm\u003d\"preopt2cachenam\" capability\u003d24\nscontext\u003du:r:preopt2cachename:s0 tcontext\u003du:r:preopt2cachename:s0\ntclass\u003dcapability permissive\u003d0\n\nBug: 79414024\nTest: Boot a phone with the cppreopts feature. Verify no logcat errors and all\nthe files are copied to the location given by preopt2cachename.\nChange-Id: If630b53d32c3c0414939b1f8db8d486406003567\n"
    },
    {
      "commit": "88527fa11adb15a520c50b18a4f9a11347dde0f8",
      "tree": "5dc3740a7a3b126b769e3aea09b191a1ea7ee98f",
      "parents": [
        "14638b2b85cb4c0200ef65c6eac259183db9994d"
      ],
      "author": {
        "name": "Luca Stefani",
        "email": "luca.stefani.ge1@gmail.com",
        "time": "Sat Feb 02 18:53:06 2019 +0100"
      },
      "committer": {
        "name": "Luca Stefani",
        "email": "luca.stefani.ge1@gmail.com",
        "time": "Sat Feb 02 18:53:06 2019 +0100"
      },
      "message": "cppreopts: Move to sh_binary\n\nChange-Id: Ie2b1401aa750a1a445daf80b13944a2ca0549c50\n"
    },
    {
      "commit": "7605f8923c19aed45f4f449a478019cb1245c77a",
      "tree": "9c279058f4a5c62c067aa4fce117c26d4a45b1f2",
      "parents": [
        "8873b8f86596522c7e40570dfb1c317816b1267d"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Jan 02 11:50:34 2019 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Jan 03 16:21:22 2019 -0800"
      },
      "message": "Mount fstab.postinstall\n\nInstead of using the \u0027mount\u0027 built-in, do a\nmount_all /system/etc/fstab.postinstall which mounts\nsystem_other to postinstall properly. This works for\ndevices with and without dynamic partitions.\n\n- retrofit and non DAP devices mount the physical system_other partition\n- launch devices mount the logical system_other partition\n\nFixes: 113182233\nTest: boot the first time and look at cppreopt results\n      (on retrofit and launch DAP devices)\n\nChange-Id: I70aef55235a5b8be34a521774c4e9dc8461b84de\n"
    },
    {
      "commit": "30be1b08308ab973dd9b13aba539cc2e8dd61ef0",
      "tree": "a4acb4a2d2dc5a6959088e045769f248d263d99c",
      "parents": [
        "9de03e3913cc835d90b8d0b880db0247b2b42914"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Jan 02 16:44:36 2019 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Jan 02 17:03:02 2019 -0800"
      },
      "message": "cppreopts: Android.mk -\u003e bp\n\nTest: builds\nChange-Id: I4143a3c5a88cad289d805b137ec480097c8c60d3\n"
    },
    {
      "commit": "95ae6cfcc4b40b566aa82dcf5fb12c05aa3ab4cf",
      "tree": "fe775cb299331efa9870e7f0b78c9a13065d5a85",
      "parents": [
        "14a93639fd124abc8c100fb6f6c7a017236b05b1"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Tue Nov 13 15:04:41 2018 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Tue Nov 13 15:15:16 2018 +0000"
      },
      "message": "Make preloads_copy.sh a module\n\nMake this new module required by cppreopts.sh. This allows removing\nthe duplicated PRODUCT_COPY_FILES directive for a bunch of devices\nthat import both.\n\nAlso fix some comments in the script.\n\nBug: 80508492\nTest: lunch aosp_blueline-userdebug; m\nChange-Id: I804fc17c43274683716a8c9bb3360ac624a80882\n"
    },
    {
      "commit": "bead54efc0ba2f10aedc553c76b8d47477fdd3dc",
      "tree": "5a938a764f1a945c1dc63bd0fc4cdb9b3122a319",
      "parents": [
        "99d37b48bbfee9955a8b2f71ea59fe42cc1e2e49"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Tue Oct 23 16:26:32 2018 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Oct 24 15:31:42 2018 +0100"
      },
      "message": "Add preloads_copy script\n\nCopied from device/google/crosshatch, to serve as the canonical\nlocation for this script to be shared between devices.\n\nBug: 80508492\nTest: make\nChange-Id: I567c785af0a690fbbba3df0553922735b96f7390\n"
    },
    {
      "commit": "5ede0b2dc72585d14cc3ef09e6e8c5776dcac9a7",
      "tree": "dd635f3ee3c6f6efe034b51b759cac4b6c7c3a70",
      "parents": [
        "81268195886f11c529a6ca295200b80542a4539e"
      ],
      "author": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Thu May 17 21:53:56 2018 +0800"
      },
      "committer": {
        "name": "Bowgo Tsai",
        "email": "bowgotsai@google.com",
        "time": "Fri May 18 18:20:17 2018 +0800"
      },
      "message": "cppreopts: using /dev/block/by-name/system_{ab} for postinstall\n\n/dev/block/bootdevice/by-name/system_{ab} should not be used because\nthere is no requirement of a single boot device. Replace it with\n/dev/block/by-name/system_{ab}.\n\nBug: 78613232\nTest: factory wipe, reboot device to check logcat\n\nChange-Id: Ia3a476ef7a4b271eff90f44ef4e04fdbee17052b\n"
    },
    {
      "commit": "aed88af8ffb7a10ae91b91bd88104f3e2968d7fd",
      "tree": "9f41f91ecf4e661f86826ee4c6c419a59cba2fa3",
      "parents": [
        "715a32d7cf3a2eb7ac335758e1c80e3031f74150",
        "ac9b39c5ed0f26c8a495bdc8c1dd506545305621"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 23 19:49:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 23 19:49:49 2017 +0000"
      },
      "message": "Merge \"Make cppreopts cleanup if it fails\" am: 9711713241\nam: ac9b39c5ed\n\nChange-Id: Iaff3d835bc30e5434d0f075293fdb48060edb3e2\n"
    },
    {
      "commit": "0b2d37205d738bf702e839b2b21d582c50cffaa2",
      "tree": "b88c5d9670eadc74808e770fe02adb6aa430d014",
      "parents": [
        "005fc035cb2bde2f11b4380961601bf32da4ec32"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 25 11:17:05 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 23 09:02:46 2017 -0700"
      },
      "message": "Make cppreopts cleanup if it fails\n\nPreviously we would simply leave temporary files lying around if we\nfailed to rename them for some reason. This change makes us attempt to\nclean the temporary files up.\n\nTest: Phone boots.\nBug: 63995897\nChange-Id: Ib876a626904bec090fe4f3bd228335feadb6a7c7\n"
    },
    {
      "commit": "496f0213f35f681f90d503f8d45e5f29a3139b4f",
      "tree": "dd0daa8cae72be448bb00c9b72da83f03ec054ec",
      "parents": [
        "13143d67af0ea867f1b4ecc6019474090e04bb5b"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 05 10:56:11 2017 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri May 05 13:19:28 2017 -0700"
      },
      "message": "Add art files support to cppreopt copy\n\nPreopted art files are now copied to classes.dex.\n\nTest: adb shell rm /data/system/packages.xml\nTest: adb shell rm -rf /data/dalvik-cache\nTest: adb reboot\nTest: adb shell ls -l /data/dalvik-cache/*/*  | grep Calc\n\nBug: 38033055\n\nChange-Id: Ib7d1c65ff47cdb4ebb1829f6a87a885381aded15\n"
    },
    {
      "commit": "986ae62325751fcd74e6efc825a4f09470b94aac",
      "tree": "3de1abc5a245b723afce4cb57727120f9c056af2",
      "parents": [
        "db9fd64f5e21a5164cd8a1a0d942f4fefb3e5713"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Oct 20 16:58:52 2016 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 21 13:43:11 2016 +0100"
      },
      "message": "Also move vdex files from system_b.\n\nBoth .odex and .vdex files are needed to avoid doing dexopt\nat first boot.\n\nbug:32224338\nbug:29278988\n\nTest: flash pixel device, check no dex2oat of prebuilts is done.\n\nChange-Id: Iafaeae64efd4e044590ef23d813aa0e2642c1226\n"
    },
    {
      "commit": "17985b261d49ea1c15c0dc306df948e25d1b81b4",
      "tree": "9bd8cc25a5005add448d6931defea33bdad449d3",
      "parents": [
        "9b8b12f84eaa4622e070f14217c90c5306a145a4"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Jul 27 14:50:04 2016 -0700"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Jul 27 14:50:58 2016 -0700"
      },
      "message": "Run preloads_copy.sh as system:system\n\nRoot is not required, and most importantly system_server won\u0027t be able delete\npreloads folder during cleanup.\n\nBug: 30280710\nChange-Id: I41890834467cc51b7b4ebd9c2918a47904f0b377\n"
    },
    {
      "commit": "9b8b12f84eaa4622e070f14217c90c5306a145a4",
      "tree": "fef8cd3f84572dd423e703abd63d24c6735dd6ec",
      "parents": [
        "757d341496d8c7e69420eb51c82be2d2bc694079"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon Jul 25 11:55:15 2016 -0700"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Tue Jul 26 09:58:35 2016 -0700"
      },
      "message": "Optional script to copy preloads to data directory\n\nBug: 29940807\nChange-Id: Iba4deaecb5a4055ad10b92829f37ecd3cf8a5ee0\n"
    },
    {
      "commit": "757d341496d8c7e69420eb51c82be2d2bc694079",
      "tree": "05696118d8fcd9ac7743ce08fe11759be2d597c3",
      "parents": [
        "a63cf1023bd41ed01906c8d30445bb39238937f2"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Mon Jul 18 11:41:18 2016 -0700"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Jul 19 10:24:58 2016 -0700"
      },
      "message": "cppreopts: parallel cppreopts to improve performance\n\nBug: 30118894\nBug: 30189706\nChange-Id: I0ed0c69873313a3bfaf2e1ff217da59b0f8929c1\n"
    },
    {
      "commit": "9b71cad2381cbd67d7e3a9ca2af357ae6998be83",
      "tree": "3eef87206da6fcb032b54136a7997cb7187ffe70",
      "parents": [
        "0c2c44bfac3cef379470c78038eab73ce8fa6b58"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 21 16:17:48 2016 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 29 10:01:35 2016 -0700"
      },
      "message": "Copy preopted files from B partition.\n\nThis translates from the preopted files in the system_other partition\ninto the main dalvik-cache. This also has init scripts to allow this\nto run.\n\nWe first copy to a temporary file before renaming them in order to\nmake the copy atomic.\n\nBug: 29278988\nChange-Id: I8bf1b2d021998949fd9996a923be7db9691e6a1e\n"
    }
  ]
}
