)]}'
{
  "log": [
    {
      "commit": "cc98bc3d8212fb5ac0170f1775ae67e964b0694a",
      "tree": "96e24d81b989f91887b02ae16743e8bac747933f",
      "parents": [
        "974b590b56eff80ea861282e6b1b028268569530"
      ],
      "author": {
        "name": "Rashed Abdel-Tawab",
        "email": "rashed@linux.com",
        "time": "Sun Oct 08 17:33:42 2017 -0400"
      },
      "committer": {
        "name": "Marko Man",
        "email": "darkobas@gmail.com",
        "time": "Mon Oct 09 20:14:30 2017 +0200"
      },
      "message": "extract_files: Mark vendor etc files as proprietary\n\nChange-Id: Iad8d87a18e5b1dc68c7f2265c0e35a9313804408\n"
    },
    {
      "commit": "974b590b56eff80ea861282e6b1b028268569530",
      "tree": "3449df3bf03f4535a6edd65254fa70c9396214d5",
      "parents": [
        "7fd3ccb25b83f4fa8403472cccfcc0bc259c4312"
      ],
      "author": {
        "name": "Christian Oder",
        "email": "myself5@carbonrom.org",
        "time": "Sun Oct 08 23:15:52 2017 +0200"
      },
      "committer": {
        "name": "Marko Man",
        "email": "darkobas@gmail.com",
        "time": "Mon Oct 09 20:14:19 2017 +0200"
      },
      "message": "extract_utils: cover vendor/frameworks\n\nChange-Id: If60b9b6c47cfd9c32477f92ad87011eddb41753b\n"
    },
    {
      "commit": "7fd3ccb25b83f4fa8403472cccfcc0bc259c4312",
      "tree": "e3b62572f8cce0b50a9203b23396bfe3ec4a43ac",
      "parents": [
        "e7d9b5c15616d52e7d9fafdd34af730c07222a51"
      ],
      "author": {
        "name": "Rashed Abdel-Tawab",
        "email": "rashed@linux.com",
        "time": "Sat Oct 07 14:18:39 2017 -0400"
      },
      "committer": {
        "name": "Marko Man",
        "email": "darkobas@gmail.com",
        "time": "Mon Oct 09 20:14:10 2017 +0200"
      },
      "message": "extract_files: Add support for treble compatible makefiles\n\nTo be honest, this name is a little misleading, this is how it should\nhave been done in the first place. This allows devices to copy vendor\nfiles to the proper location depending on TARGET_COPY_OUT_VENDOR rather\nthan hardcoding system/vendor. This allows devices with dedicated vendor\npartitions to copy directly to vendor. The only reason it\u0027s optional\nis that some nexi set TARGET_COPY_OUT_VENDOR to system which would cause\nsome weird breakage.\n\nChange-Id: Ic46bc1086737835340abef9f61693d386bc6a5dc\n"
    },
    {
      "commit": "e7d9b5c15616d52e7d9fafdd34af730c07222a51",
      "tree": "3b42f59dd6beb1e6d83efbcd8230a65cba6b8aec",
      "parents": [
        "3e8c5bfc03c63d87a2d83064cf90d95253e0312a"
      ],
      "author": {
        "name": "Rashed Abdel-Tawab",
        "email": "rashed@linux.com",
        "time": "Sat Aug 05 23:11:35 2017 -0400"
      },
      "committer": {
        "name": "Marko Man",
        "email": "darkobas@gmail.com",
        "time": "Mon Oct 09 20:13:49 2017 +0200"
      },
      "message": "extract_files: Adjust deodex path and tmpdir\n\n* Make a tempdir using the mktemp command rather than just making a\n  dir in /tmp to accomodate for systems that don\u0027t set proper perms\n  or dont have /tmp\n* Fix the deodex procedure to pull files from the right path\n\nChange-Id: I181863599b6670e3a149069dbb7b13ebf73bae8e\n"
    },
    {
      "commit": "3e8c5bfc03c63d87a2d83064cf90d95253e0312a",
      "tree": "29455e0c28503f3dac01772b714b0c7ab66933aa",
      "parents": [
        "708c8031882e8faf254f2c2cb3ce61d74d105757"
      ],
      "author": {
        "name": "M1cha",
        "email": "sigmaepsilon92@gmail.com",
        "time": "Wed Jan 04 09:00:11 2017 +0100"
      },
      "committer": {
        "name": "Marko Man",
        "email": "darkobas@gmail.com",
        "time": "Mon Oct 09 20:12:05 2017 +0200"
      },
      "message": "extract_utils: implement LOCAL_MODULE_RELATIVE_PATH\n\nChange-Id: Ia97633652ff9647a6e82013b208097be5c5575a9\n"
    },
    {
      "commit": "e1aa9ba5ad2cf9a7cbb1b9e55ee17e797ff671a0",
      "tree": "1c868befc95880a7fde25128d18a19128e774418",
      "parents": [
        "3429f95445e9f9b277668431d0af76d3edd84950"
      ],
      "author": {
        "name": "Humberto Borba",
        "email": "humberos@gmail.com",
        "time": "Fri Sep 08 14:10:47 2017 -0300"
      },
      "committer": {
        "name": "Humberto Borba",
        "email": "humberos@gmail.com",
        "time": "Fri Sep 08 14:10:49 2017 -0300"
      },
      "message": "build: Fix roomservice project validation\n\nRemove roomservice entries only if there is the project path and its revision.\n\nSigned-off-by: Humberto Borba \u003chumberos@gmail.com\u003e\nChange-Id: I474e2a89212c55d2619e330b174b31aff5e320bb\n"
    },
    {
      "commit": "040a946d0f2778c8654900c429fd2ec12aa8dd6c",
      "tree": "1e91826b86f065cfe3cbbc52403c393d2eb4437d",
      "parents": [
        "ec2e4d2edff897a5d2b4bcb1bd0c02f532f7e7ee"
      ],
      "author": {
        "name": "Humberto Borba",
        "email": "humberos@gmail.com",
        "time": "Fri Sep 08 10:40:04 2017 -0300"
      },
      "committer": {
        "name": "Humberto Borba",
        "email": "humberos@gmail.com",
        "time": "Fri Sep 08 10:40:04 2017 -0300"
      },
      "message": "vendor: omni: Fix cookies\n\nChange-Id: I96a096951c0506607fb36aed17bf73cbb6a59412\nSigned-off-by: Humberto Borba \u003chumberos@gmail.com\u003e\n"
    },
    {
      "commit": "2632902641f503062e791f5e721fc5f66acc296e",
      "tree": "96fe115be2d5e6e9f43de74dc7b9f884162ad5eb",
      "parents": [
        "d7acdc8398bc457f2288e5ab04cd4eb603322923"
      ],
      "author": {
        "name": "Sam Mortimer",
        "email": "sam@mortimer.me.uk",
        "time": "Wed Aug 23 18:59:52 2017 -0700"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Tue Sep 05 02:29:59 2017 -0400"
      },
      "message": "vendor: update extract_utils to extract vdex files\n\nnote: we\u0027re already on baksmali v2.2.1 which supports\noreo vdex files.\n\nChange-Id: Ie4ccee32891e805d27f940f96a2e63287392d526\n"
    },
    {
      "commit": "d7acdc8398bc457f2288e5ab04cd4eb603322923",
      "tree": "fd5062aaf643cb42ebe6e8f51a5655ce2addb036",
      "parents": [
        "9c02a9bca1440d1ae4d6ccad435bee5ec59d699a"
      ],
      "author": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Thu Aug 31 13:17:31 2017 -0400"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Tue Sep 05 02:29:59 2017 -0400"
      },
      "message": "vendor: add cookies task\n\nChange-Id: I1a792cdaff66984b9bf90ef8d9dfbdd90704fcc8\n"
    },
    {
      "commit": "9c02a9bca1440d1ae4d6ccad435bee5ec59d699a",
      "tree": "cd66741f3f310ac94813c927463280f35c99bdcd",
      "parents": [
        "0704cefa829db3b2cd1c40735fde4c1232a06b09"
      ],
      "author": {
        "name": "Luca Stefani",
        "email": "luca020400@lineageos.org",
        "time": "Thu Aug 17 20:34:44 2017 +0200"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Tue Sep 05 02:29:59 2017 -0400"
      },
      "message": "vendor: build: Kill schedtool\n\nChange-Id: Idd6cc6679b1e84f365a5a18645590c549af20af5\n"
    },
    {
      "commit": "0704cefa829db3b2cd1c40735fde4c1232a06b09",
      "tree": "f17985f88b0b101a582121ae2a846a0cec866906",
      "parents": [
        "3ac786ffe10cddca634624b5e23a44e5bd1329f8"
      ],
      "author": {
        "name": "Luca Stefani",
        "email": "luca020400@lineageos.org",
        "time": "Thu Aug 17 19:29:00 2017 +0200"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Tue Sep 05 02:29:58 2017 -0400"
      },
      "message": "envsetup: Update mka for O\n\nChange-Id: I36ec10be9152f135ec3645b4304e63ea30d06774\n"
    },
    {
      "commit": "3ac786ffe10cddca634624b5e23a44e5bd1329f8",
      "tree": "21014e1831241b4b05f9b9a5223351578a858fbf",
      "parents": [
        "3e87340f2c9852f4e106d10e3b3ecd130ba29392"
      ],
      "author": {
        "name": "Chirayu Desai",
        "email": "cdesai@cyanogenmod.org",
        "time": "Sun Jun 30 10:04:25 2013 +0530"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Tue Sep 05 02:29:58 2017 -0400"
      },
      "message": "envsetup: add a helper to fix \"out/target/common\" not being really common\n\n* out/target/common isn\u0027t really common, and if you do\n  back to back builds for multiple devices, that is noticable.\n* Use out/target/common-$device instead, and link the appropriate\n  dir to out/target/common every time lunch() is run, if\n  ANDROID_FIXUP_COMMON_OUT is set.\n* Refer https://groups.google.com/forum/#!topic/android-building/ispbOgzoyg8\n  for more info.\n\nChange-Id: I11e7df0e68e2a60ce32576f06397d60fc9465b60\n"
    },
    {
      "commit": "3e87340f2c9852f4e106d10e3b3ecd130ba29392",
      "tree": "cdd01f066185f9b6a3b8f9737ce0e7c455460777",
      "parents": [
        "72e23247ba186953ed00851e531b66dccf960d77"
      ],
      "author": {
        "name": "cybojenix",
        "email": "anthonydking@gmail.com",
        "time": "Thu Oct 17 03:34:57 2013 +0400"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Tue Sep 05 02:29:57 2017 -0400"
      },
      "message": "vendor: import roomservice from android-7.1\n\nbuild: tools: add in roomservice\n\nThis is a new implementation of roomservice\nuse the new github search api to reduce the memory footprint, and make it less processor intensive\nallow for unofficial devices to fetch dependencies. just specify your github organization\n\nto fetch dependencies:\n    add a file called \u0027omni.dependencies\u0027 to the root of your device tree\n    an example configuration for the dependency file is:\n\n[\n  {\n    \"repository\": \"android_device_sony_common\",\n    \"target_path\": \"device/sony/common\"\n  },\n  {\n    \"repository\": \"legacybop/android_hardware_qcom_display-legacy\",\n    \"target_path\": \"hardware/qcom/display-legacy\",\n    \"revision\": \"omni-4.3\"\n  }\n\nplease note that comments can not go into this file. It must be valid json\n\nPatchSet 7:\n  add support to change port script to another team with config\n  finished pep8\u0027ing\n  more checks on manifest parsing\n\nChange-Id: I3d7a8d46d3effbb3d2480c136c9b6b6e610b9b2e\n\nSupport fetching dependencies even if device tree fails.\n\nThis is required when device tree depends on dependencies to lunch.\n\nChange-Id: If62cd9777caf768f8070570ca0835052645c6b20\n\nroomservice: Fix os.path.isdir calls\n\nApparently on some Python installations\nit throws exception instead of returning False.\n\nChange-Id: I9d901e3260bab411cf3466346c421594f0922562\n\nroomservice: the search api is out of preview now\n\nChange-Id: I95f088daf8537784caf774ad6863037f7019f22d\n\nroomservice: Add -f and --no-clone-bundle flags to repo sync\n\nSuppress scary-looking common warnings during resolving.\n\nChange-Id: I4337ec95992ad68ff4471b0d0b7346e933269503\n\nroomservice: Change default remote to omnirom\n\nUsing the default of github results in people unable to use gerrit\nto submit patches to repos brought in by roomservice\n\nChange-Id: Idccd6c35bf81a35135e893ed03f6c5745059ec82\n\nroomservice: Fix handling of devices with _ in their name\n\nCurrently, roomservice takes every _ in the device tree name and\nreplaces it with /\n\nInstead, strip the device name (such as pollux_windy) from the repo\nname before replacing _ with / and then append it again when we\u0027re done\n\nChange-Id: Ieabe85ecd8829c959a7296e5cd73f577879c4ffc\n\nroomservice: urgent: add \"+fork:true\"\n\nEnable a device config to be found on github if it was forked\n\nthx @cybojenix\n\nChange-Id: Ic63f82b9ed754dcba17725f5aa75d0011896b09c\n\nRoomservice: Search gerrit instead of github\n\n* Search for devices using gerrit api instead of github\n* Minor cleanups \u0026 fixes\n\nChange-Id: I54fc898f3c773f79936568818996ae5fab11e491\n\nFix grammar error in roomservice; Only add xml files in local_manifests\n\nChange-Id: Ia132acddd2761ec4c1bea7fb510e3bea306ea9fc\n\nroomservice: support same repo using different path and revision\n\nChange-Id: Ifd47cbeab2ca7e99a117883e3a3ecb880581e110\n\nroomservice: catch revision changes for existing entries\n\ndelete existing roomservice file and restart in that case\n\nChange-Id: I2adc62da01fb75cd8ee5b13b5864043fb2594d0f\n\nroomservice: dynamically remove duplicate projects from roomservice manifest\n\nChange-Id: Idf4da69ca829fcd59d5264b05b9ed1c37d0195f8\n\nroomservice: Handling URLError exception during fetch device process\n\nBEFORE:\n\nhumberos@fedora:/android/omni-6.0$ bib leo\nWARNING: Trying to fetch a device that\u0027s already there\nTraceback (most recent call last):\n  File \"build/tools/roomservice.py\", line 319, in \u003cmodule\u003e\n    fetch_dependencies(device)\n  File \"build/tools/roomservice.py\", line 275, in fetch_dependencies\n    fetch_device(device)\n  File \"build/tools/roomservice.py\", line 287, in fetch_device\n    git_data \u003d search_gerrit_for_device(device)\n  File \"build/tools/roomservice.py\", line 71, in search_gerrit_for_device\n    response \u003d urllib.request.urlopen(git_req)\n  File \"/usr/lib64/python2.7/urllib2.py\", line 154, in urlopen\n    return opener.open(url, data, timeout)\n  File \"/usr/lib64/python2.7/urllib2.py\", line 431, in open\n    response \u003d self._open(req, data)\n  File \"/usr/lib64/python2.7/urllib2.py\", line 449, in _open\n    \u0027_open\u0027, req)\n  File \"/usr/lib64/python2.7/urllib2.py\", line 409, in _call_chain\n    result \u003d func(*args)\n  File \"/usr/lib64/python2.7/urllib2.py\", line 1242, in https_open\n    context\u003dself._context)\n  File \"/usr/lib64/python2.7/urllib2.py\", line 1199, in do_open\n    raise URLError(err)\nurllib2.URLError: \u003curlopen error [Errno -5] No address associated with hostname\u003e\n\nAFTER:\n\nhumberos@fedora:/android/omni-6.0$ bib leo\nWARNING: Trying to fetch a device that\u0027s already there\nWARNING: No network connection available.\n\nSigned-off-by: Humberto Borba \u003chumberos@gmail.com\u003e\nChange-Id: I18950704c5b7d13553374611d164c2464c1ceab2\n\nroomservice: Create manifest entries from common repos\n\nWith this change we will be able to read omni.dependencies from common repositories.\n\nSigned-off-by: Humberto Borba \u003chumberos@gmail.com\u003e\nChange-Id: Ic66ceead3601263df0c0e181a45b9ef7e7a32b77\n\nroomservice: used 8.0 for default rev\n\nChange-Id: Idfc79aa8ed36bcafbfce134d2ec71a93e00ce66a\n"
    },
    {
      "commit": "72e23247ba186953ed00851e531b66dccf960d77",
      "tree": "43503e27f0f130c9a00b5be75749ec25309b5ca4",
      "parents": [
        "7152fc472cd1fc682b324d9855cf1386b806ca57"
      ],
      "author": {
        "name": "Pulser",
        "email": "pulser@xda-developers.com",
        "time": "Sun Sep 29 09:56:55 2013 +0100"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Tue Sep 05 02:29:57 2017 -0400"
      },
      "message": "vendor: import repopick from android-7.1\n\nAdd repopick script from CM\n\npatchset 4: cybojenix\n  clean up the script:\n    remove fetching from github\n    cleaned up fetching locations of binaries\n    if ANDROID_BUILD_TOP isn\u0027t defined, error out\n\nPS 5:\n  Added back the check if fetch succeeded.\n  Fixed verbose print about fetching.\n\npatchset 6:\n  final changes\n    fix detecting ANDROID_BUILD_TOP\n    send all relavant data to stderr\n\n- Add function description from LineageOS\n\nChange-Id: If67c5f178d03fadd8b79b1908f4a9cb231efbb28\n\nrepopick: Add a way to checkout instead of cherrypick\n\nThis helps if you want to take a commit and its dependencies, and not\njust a particular commit\n\nChange-Id: Ib245cce560c7b0d6fd03198a8c69a13d4720a4cb\n\nrepopick: Allow picking batch of commits with the same Change-Id\n\nGerrit does allow assigning the same Change-Id for multiple commits. This patch allows picking them properly.\n\nChange-Id: Idedc64f58eebe41a0d212c72329d15acff24efb9\n\nMake repopick support gerrit 2.9\n\nChange-Id: I5b5fcfdfb69fd8639a7170f68966817ba1bb98b7\n\nrepopick: skip a cherry-pick if its already been merged\n\nChange-Id: I280b4945344e7483a192d1c9769c42b8fd2a2aef\n\nrepopick: open changes are either NEW or OPEN, not just OPEN\n\nGerrit\u0027s API is terrible. I believe it was written by monkeys.\n\nChange-Id: I8ec97a1e4277b1ee89070976c5d0994ee178cf79\n\nrepopick: support specifying a range of commits to pick\n\n* for example: repopick 12345-123450\n\nChange-Id: I58e26125d3e8e836637ccd41d60cb56ab488e999\n\nrepopick: remove symbols from author and committer name\n\nChange-Id: I3885ac89c2d1e2a72d8d95212faff00338ad3e3a\n\nrepopick: allow specifying a topic to pick all commits from\n\nChange-Id: I4fb60120794a77986bf641de063a8d41f4f45a23\n\nrepopick: cleanup some redundancy\n\nChange-Id: Ic1ad5e717d1bfc47cf8137cf2fe71bfd5d3456c7\n"
    },
    {
      "commit": "7152fc472cd1fc682b324d9855cf1386b806ca57",
      "tree": "f36917125ae6c1cb34e311a7261260568739133b",
      "parents": [
        "cb52eae0c2e4dcd58396e2874a91b26026ca287f"
      ],
      "author": {
        "name": "Archi",
        "email": "JustArchi@JustArchi.net",
        "time": "Fri Feb 28 19:18:54 2014 +0100"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Tue Sep 05 02:29:56 2017 -0400"
      },
      "message": "Build: Add support for specifying build variant in brunch/breakfast\n\nThis little modification allows specifying build variant in brunch/breakfast commands. For example we can use \"brunch i9300 user\" to build user variant instead of default userdebug.\n\nWhen no extra argument is given, userdebug is default.\n\nChange-Id: I2d438209f8a14949c64baa66485c811da384d20b\n"
    },
    {
      "commit": "cb52eae0c2e4dcd58396e2874a91b26026ca287f",
      "tree": "a71a796117c96112f8d5a78b2002181648df161d",
      "parents": [
        "3e9d0bbbbf36917da3c80fc2dbe5fe12844eda5a"
      ],
      "author": {
        "name": "xplodwild",
        "email": "xplod@ouverta.fr",
        "time": "Thu Aug 29 20:18:18 2013 +0200"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Tue Sep 05 02:29:56 2017 -0400"
      },
      "message": "envsetup: Add pushboot function\n\nThis function lets you push a file from your current OUT dir\nfor your current device. It root/remount the device, push the\nfile, and reboots it. Example: pushboot system/app/SystemUI.apk\n\nChange-Id: I8a404323a4091e8502fbdd24198c66f1ac598192\n"
    },
    {
      "commit": "3e9d0bbbbf36917da3c80fc2dbe5fe12844eda5a",
      "tree": "590a2b07588a94da029ec21036d5df6f2ad0ab43",
      "parents": [
        "014af18ad2e915aa5a6aaa73fbab076c2acd8134"
      ],
      "author": {
        "name": "xplodwild",
        "email": "xplod@ouverta.fr",
        "time": "Sat Aug 24 17:40:37 2013 +0100"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Tue Sep 05 02:29:55 2017 -0400"
      },
      "message": "build: Add mka/brunch/breakfast aliases\n\n- bacon target is move to its own Makefile\n\nChange-Id: I06d70a56c6946d7a23c6df81769aa20e7500f953\n"
    },
    {
      "commit": "014af18ad2e915aa5a6aaa73fbab076c2acd8134",
      "tree": "562558b8e24e257a1d8c45da4c60fc4a1056326b",
      "parents": [
        "bc5fc1a996bad1211c0e67a962101c35223a027c"
      ],
      "author": {
        "name": "Dan Pasanen",
        "email": "dan.pasanen@gmail.com",
        "time": "Wed Aug 30 20:39:08 2017 +0000"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Tue Sep 05 02:29:54 2017 -0400"
      },
      "message": "build: core: include platform helper macros in target makefiles\n\n* These are now needed sooner than we had been importing them\n  in android_build. This ensures they\u0027ll be imported before\n  their macros are needed.\n\n* Modify for omni\n  - drop MTK bits\n\nChange-Id: I5ba29c32fff38d33728c2ba5cb9d05832369f39c\n"
    },
    {
      "commit": "bc5fc1a996bad1211c0e67a962101c35223a027c",
      "tree": "78c8cb3769ec44ccff2d04a2b4a6969bf7d4759c",
      "parents": [
        "3a8989d23ee6e2f0d2fe13fdec773b686f8d9ff3"
      ],
      "author": {
        "name": "Steve Kondik",
        "email": "shade@chemlab.org",
        "time": "Mon Aug 20 11:00:51 2012 -0700"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Mon Aug 28 21:55:37 2017 -0400"
      },
      "message": "build: import qcom_utils and qcom_targets from android-7.1\n\nbuild: Add Qualcomm\u0027s helper macros\n\n * This is used everywhere in Qualcomm\u0027s code. There\u0027s no reason we need\n   to constantly replace it with uglier stuff in our Makefiles.\n\nChange-Id: I0183a338470ec96a38f356a47bae65a0d3fb2c95\n\nbuild: Add QCOM target-specific config\n\n * Needed to support global DirectTract config on legacy targets\n * Let\u0027s also eliminate some boilerplate\n\nChange-Id: I668a79e3900219faf2c0b220895700d51a50d813\n\nbuild: Add board platforms to qcom_utils\n\nChange-Id: I85458167bf2b9c04b029d09b87bf791ff4cfd04d\n\nAdd new version to qcom_utils.mk\n\nChange-Id: I1ca1532fd4968450715ecd0cca7729e0e6d507ef\n\nbuild: fix usage of qcom_target\n\nChange-Id: I5fbcf7d3b6de2a90a56cd0d695a97df2289830b2\n\nbuils: readd 8992 8994 and 8996 to QCOM_BOARD_PLATFORMS\n\nChange-Id: Iece3bac53ce10a9ae9b14202a2bf12f9cb9c731c\n\nbuild: qcom utils define is-platform-sdk-version-at-least\n\nwidely used by qcom hals\n\nthanx to CM\n\nChange-Id: I33333c29124a242daf41a7178b745a2fa226d2a8\n\nqcom_utils: Add msm8226 to the list of known boards\n\nChange-Id: Ic252210b25b2a4448315829aa65ee41994fe58aa\n\nAdd msm8909 \u0026 msm8952 to QCOM_BOARD_PLATFORMS\n\nThese used to be here, but apparently got lost in the bringup\n\nChange-Id: Ie7e8ab96d9e50efd2c21679756caab8f558952c6\n\nbuild: Add msm8952 to MSM_VIDC_TARGET_LIST\n\nChange-Id: I8c2a4d22db8d14e078c7e07bb77c3a3817f5bf95\n\nAdd msm8998 to qcom devices\n\nThe S835 devices are coming!\n\nChange-Id: I124a925aca1a32bfaa88eda7a60bf9c061999f2d\n\nqcom_utils: Add msm8937 to QCOM_BOARD_PLATFORMS\n\nChange-Id: If68bc8c10368b8c5542b2bc7412f76dbe55c304e\n\nAdd msm8953 to QCOM devices \u0026 msms8937 to QCOM target\n\nChange-Id: I98a42e42868a8d91b3992b2c7f8177e2c86a3a3b\n\ncore: qcom_utils: Add missing target boards\n\nChange-Id: I22a3b857945d31d752d6891621fedaf359206887\n\ncore: qcom_utils: Add msm8939 to target boards\n\nChange-Id: I5b7f723f88b9eb5ae35b45840f86fcedf8b7b496\n\nAdd apq8084 as qcom platform\n\nChange-Id: I991bb06c1fdd99516204e0764690b3d770ffb310\nSigned-off-by: Corinna Vinschen \u003cxda@vinschen.de\u003e\n\nqcom_utils: add up-to-date SDK versions\n\nChange-Id: If3b62c052191374aad7fa4915bc666de24793a1d\n\nqcom_target: change global flag names\n\nChange-Id: I4e8e61ebb276765c4400dc60a21f63e0dfeb8c86\n"
    },
    {
      "commit": "3a8989d23ee6e2f0d2fe13fdec773b686f8d9ff3",
      "tree": "83df41a6bceb7abd7db3f7b4f41ea6366c1442a4",
      "parents": [
        "5c9a4f3b88d8b2bbbf0f14a21066989d40abf3ec"
      ],
      "author": {
        "name": "Luca Stefani",
        "email": "luca.stefani.ge1@gmail.com",
        "time": "Sat Oct 31 04:50:20 2015 -0700"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Mon Aug 28 19:06:11 2017 -0400"
      },
      "message": "build: create dt.img task\n\n* Remove dt.img creation from generate_extra_images\n\nChange-Id: I676b588cd9acb671771acda638abefee036f0519\n\nbuild: Don\u0027t load dt.img task if custom mkbootimg is used\n\nChange-Id: I7617554a8dc6f44ea0c6a713d834da4fe558caec\n\ncore: Account for prebuilt DT images\n\nChange-Id: I52b49fd3e9fc0cb196372e3249c7e3d8b888cdd1\n\ndt_image: Fix build error\n\nbuild/core/tasks/dt_image.mk:38: *** missing `endif\u0027.  Stop.\n\nChange-Id: If333d378e091ff9d333729dc8a75323966954194\n\nbuild: only specify least specific directory to dtbtool\n\nNew kernels (3.18) place dtb files into the qcom subdirectory,\nbut older kernels simply create a qcom subdirectory and place\nthe dtb files at the same level in the heirarchy.  Rather than\nlooking for the first directory that exists, dtbtool has been\nmodified to search all subdirectories for dtb files, and\ntherefore we have to remove the specific subdirectories.\n\nChange-Id: I82e948c0a20605f051a60fdfaae9679e1fa6555e\n\ncore: tasks: Use KERNEL_ARCH in dt_image task\n\n* KERNEL_ARCH equals to TARGET_ARCH or TARGET_KERNEL_ARCH if specified\n\nChange-Id: I906e04fd646467ce70da92cb047f0fa0a6ebdb94\n\nbuild: Use compatibility DTB directory path for custom DTB tool builds\n\n* dtbToolCM is able to search subdirectories, but we are not guaranteed\n  that other dtbTool binaries have the same capability. Re-specify\n  multiple paths for non-dtbToolCM builds just in case.\n\nChange-Id: Id69e000af5eba60a07662b178cb95950451efd17\n\nbuild: Add dt.img and kernel target\n\nChange-Id: I4a266d8bd2b01ec4ec696f10f0cc7e912f25a38a\n\ndt_image: Rename target\n\nChange-Id: I2fbe952b55296b6e1a533d071c769788ab3f14ae\nSigned-off-by: Brandon McAnsh \u003cbrandon.mcansh@gmail.com\u003e\n\nninja: build: dt: Move to in-build directory search\n\n* We can\u0027t depend on a $OUT variable with ninja\n\nChange-Id: I9ff050a986e7bb2774d1326f5b396d0afb7f33c1\n"
    },
    {
      "commit": "5c9a4f3b88d8b2bbbf0f14a21066989d40abf3ec",
      "tree": "b6174b04a0bdf5976e4b1e1e584d721290765279",
      "parents": [
        "8c29076fede8ec7a6bf9e622ee9ad2e26525a1b5"
      ],
      "author": {
        "name": "pulser",
        "email": "pulser@xda-developers.com",
        "time": "Sun Aug 25 14:15:02 2013 +0200"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Mon Aug 28 18:49:04 2017 -0400"
      },
      "message": "vendor: import kernel build task from android-7.1\n\nbuild: Inline kernel building as a buildtime task\nBy arcee\n\nKernel image integration is now done in the build system. The\n\"one true way\" of doing this is to download the kernel source\ninto kernel/TARGET_BOOTLOADER_NAME (by usage of the cm.dependencies\nmechanism or otherwise), and defining the TARGET_KERNEL_CONFIG\nvariable in the device\u0027s BoardConfig makefile\n\nIf the kernel\u0027s location doesn\u0027t match the automagic location\n(multi-device kernel source, for instance), TARGET_KERNEL_SOURCE\ncan be used to specify a kernel path (i.e.,\n\"TARGET_KERNEL_SOURCE :\u003d kernel/shared-whatever\")\n\nIf the device requires out-of-kernel-tree modules to be built,\nthe TARGET_KERNEL_MODULES variable can be used, pointing to a\n_make target_ that will build and install such modules. Definition\nof such a target is the device author\u0027s responsibility, the only\nrestriction is that it is a normal makefile recipe (example\nbelow)\n\nOptionally (or as an alternative), a prebuilt binary can also be\ndefined at BoardConfig, by usage of the TARGET_PREBUILT_KERNEL\nvariable. This binary will be used if the kernel source is absent\n(or undefined).\n\nA minimal BoardConfig.mk should look something like this:\n\nTARGET_KERNEL_CONFIG :\u003d cyanogenmod_\u003cdevice\u003e_defconfig\nTARGET_PREBUILT_KERNEL :\u003d device/\u003cvendor\u003e/\u003cdevice\u003e/kernel\n\nTo include, for example, the TI WLAN modules, this can be used:\n\n-----------------------------\nTIWLAN_MODULES:\n       make -C hardware/ti/wlan/wl1283/platforms/os/linux/ KERNEL_DIR\u003d$(KERNEL_OUT) ARCH\u003d\"arm\"\nCROSS_COMPILE\u003d\"arm-eabi-\" TNETW\u003d1273 RANDOM_MAC\u003dn REPORT_LOG\u003dn\n       mv hardware/ti/wlan/wl1283/platforms/os/linux/tiwlan_drv.ko $(KERNEL_MODULES_OUT)\n       make -C hardware/ti/wlan/wl1283_softAP/platforms/os/linux/ KERNEL_DIR\u003d$(KERNEL_OUT) ARCH\u003d\"arm\"\nCROSS_COMPILE\u003d\"arm-eabi-\" TNETW\u003d1273 REPORT_LOG\u003dn\n       mv hardware/ti/wlan/wl1283_softAP/platforms/os/linux/tiap_drv.ko $(KERNEL_MODULES_OUT)\n\nTARGET_KERNEL_MODULES :\u003d TIWLAN_MODULES\n---------------------------\n\nChange-Id: I8634fa4c788a42dc6f62e62ca170825b66db126a\n\nbuild: Fix kernel.mk typos\n\nChange-Id: I5980d6a30dd66741a561a95e0dfba60a3ad0ef5d\n\nenvsetup: set OUT_DIR to an absolute path always\n\nOUT_DIR was set to $(TOPDIR)out previously,\nbut $(TOPDIR) was null, so it was a relative path.\nThis broke releasetools, inline kernel building, etc\nsince they require absolute paths.\nFix it so that it is set to $(shell readlink -f .)/out\nif $(TOPDIR) is null.\n\nAlso remove hacks which checked if (OUT_DIR) was out\nand changed it to $(ANDROID_BUILD_TOP)/out to workaround\nthe aforementioned problem.\n\nChange-Id: I459a3b1325a1bbea0565cd73f6acf160d4ed9b39\n\nConflicts:\n\tcore/base_rules.mk\n\tcore/tasks/kernel.mk\n\nChange-Id: I52a7a6024f0f2b708c230e53c0152ed138726cc1\n\nbuild: change custom -\u003e omni in a few more places\n\n* these weren\u0027t changed when the transtition occured - fix them now\n\nChange-Id: I47bedb96ad63a41959baa98e1a265cb616d17918\n\nkernel.mk: Use standard toolchain paths\n\nChange-Id: I1225fd05dcedcff03a1cf1102841cbd010b609cf\n\nMake the kernel image format parametric instead of a chain of if/elses\n\nChange-Id: I54bfcdecb8647f7bcf744e72b2de19fcf4e4e7ac\n\nbuild: Add \"dtbs\" target when building the kernel\n\n * This is needed for 3.10\n\nChange-Id: I4044ea9e67017452efc25097a3327141a6627c24\n\nSquashed commit of updates to kernel.mk from CM\n\nPS2: Add default toolchain prefix for KERNEL_ARCH\u003darm64\n\nAllow specifying kernel toolchain and prefix\n\nChange-Id: Ib75cfe772e073f2196455f3e3dfba247f6b3feff\n\ncore: More flexible kernel configuration\n\n * Allow various combinations of kernel vs. userspace architectures\n * Get rid of various assumptions about everything being ARM or 32-bit\n * This adds the following target flags:\n     TARGET_KERNEL_ARCH\n     TARGET_KERNEL_HEADER_ARCH\n     KERNEL_HEADER_DEFCONFIG\n     TARGET_KERNEL_CROSS_COMPILE_PREFIX\n\nChange-Id: If0bc202abd35c216ba3ea5707ffdb602526d8ed3\n\nFix kernel.mk if SELINUX or VARIANT_DEFCONFIG is defined\n\nKERNEL_HEADER_DEFCONFIG was ignoring SELINUX_DEFCONFIG thus breaking\nall selinux support\n\nChange-Id: Idc3367d6b4b85343078e63e87dca6d6d052e7f53\n\nbuild: kernel: Fix stray \"@\"\n\nNested \"$(hide)\"s (makefile @) don\u0027t work. There was one at the\nbeginning of the script, remove the inner one to prevent it from\nbeing interpreted as a shell command\n\nChange-Id: I08a829ee56b212366a0f5a3812f7a614667a9c2b\n\nbuild: Add support for additional kernel config snippet\n\n * Add support for TARGET_KERNEL_ADDITIONAL_CONFIG which will append a\n   config snippet from arch/$ARCH/configs/ to the main defconfig.\n * This can be used for various things, such as including DIAG support\n   into debuggable builds.\n\nChange-Id: Ifa48688a3f951dd8ecc9a13a27de3a476e7bf633\n\nkernel: Fix kernelconfig build\n\n* Copy the generated defconfig to the correct directory\n\nChange-Id: Ia8e259946d67501675dd5a3433165d54df6c13c5\n\nbuild: check kernel config for make modules and make dtbs\n\nfrom CM\n\nChange-Id: Iabb36a222d47d1481800fb2983b60f70621b5278\n\nbuild: use the system\u0027s ccache by default\n\n* ccache gets updated semi-frequently and some builders would like\n  to be able to take advantage of new features without having to\n  rely on the prebuilt version getting updated\n\n* If a build system has ccache installed already, use that version\n  instead of the prebuilt\n\n* @nathanchance edit: Replace which with command -v for portability,\n  print which binary is being used, and apply the same logic to\n  inline kernel compilation\n\nChange-Id: I8988c8a25fab3694d84633f957c2b92ce84cf69e\n\nbuild: kernel: build arm kernel modules with -fno-pic\n\nWith androidkernel (androideabi) toolchains, -fpic is enabled by default.\nAt least on my 3.4 arm kernel, this causes an issue with kernel modules:\n\"Unknown symbol _GLOBAL_OFFSET_TABLE_\".\n\nOn traditional armeabi toolchains, -fpic is not enabled, resulting in working\nkernel modules; let\u0027s follow that here.\n\nChange-Id: I3058b5213b34bdde9bb9d744563c7d55cd42d2a5\n"
    },
    {
      "commit": "972c4112a6ad635799ac352166fef07a015f1ceb",
      "tree": "22a955c8dec7b241ff8146101f8dc1ea026ef75c",
      "parents": [
        "7da4a1b642c9d34f72bea60c7e8036f4e68f0fb1"
      ],
      "author": {
        "name": "Harry Youd",
        "email": "harry@harryyoud.co.uk",
        "time": "Sat Aug 05 09:18:56 2017 +0100"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Sun Aug 27 17:19:37 2017 -0400"
      },
      "message": "Fix extract_utils when not using blob sections\n\n\"$3\" evaluates as \"\" when $3 is empty, and so $# is still 3\nWhen $3 is empty, do not use it\n\nChange-Id: I87df7dd8ed23cac3d4cff16dce0996bbe0a3e6cc\n"
    },
    {
      "commit": "7da4a1b642c9d34f72bea60c7e8036f4e68f0fb1",
      "tree": "a8cea11b9be693147742e697a361ea1ef0cff375",
      "parents": [
        "b0d08e88874a9e39baad7fa029e8b3161c98ce72"
      ],
      "author": {
        "name": "Rashed Abdel-Tawab",
        "email": "rashed@linux.com",
        "time": "Tue Apr 04 18:03:35 2017 -0400"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Sun Aug 27 17:19:30 2017 -0400"
      },
      "message": "extract_files: Add support for paths without system/\n\nSometime blob directories are contained in dirs not named system\n(ex. extracting blobs from another vendor dir) so check if the file\nexists without system/ before appending \"system/\" to filenames.\n\nChange-Id: I4ba946e178260b4f4804b1ac4422645e3085c665\n"
    },
    {
      "commit": "b0d08e88874a9e39baad7fa029e8b3161c98ce72",
      "tree": "e55eca65107f8a9da4a03a62b643e5f934f5a540",
      "parents": [
        "8f9f1318149129980eb4ffd2f3f343814eff98f7"
      ],
      "author": {
        "name": "Rashed Abdel-Tawab",
        "email": "rashed@linux.com",
        "time": "Tue Apr 04 02:48:18 2017 -0400"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Sun Aug 27 17:19:23 2017 -0400"
      },
      "message": "extract_files: Add support for specifying blob sections\n\nSometimes the need arises to update one specific subset of blobs\nwhile holding others steady. Introduce a way to specify the \"section\"\nof blobs to update (obviously requires the proprietary-files to be\nproperly split up first)\n\nRequires additional changes in device tree extract_files.sh to support\npassing the additional arguments\n\nChange-Id: I98feab56f8bfade2818b1b5264e019440d4c57c5\n"
    },
    {
      "commit": "8f9f1318149129980eb4ffd2f3f343814eff98f7",
      "tree": "33a124dca162aa24a0242ba614db1626cdce0c96",
      "parents": [
        "c44696d31f16c83a951b9aca751f75004cc62ef6"
      ],
      "author": {
        "name": "Rashed Abdel-Tawab",
        "email": "rashed@linux.com",
        "time": "Sun Jul 30 12:20:53 2017 -0400"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Sun Aug 27 17:19:13 2017 -0400"
      },
      "message": "build: Update smali and baksmali to 2.2.1\n\nChange-Id: I5a8d195ef3b67c5ccee4e34f4ec294a880c7a083\n"
    },
    {
      "commit": "c44696d31f16c83a951b9aca751f75004cc62ef6",
      "tree": "44624b6037a183a74fb28a2016e7b6c8b428adc1",
      "parents": [
        "cfd6ce770838854db2b2bf8b219a3daf5fd647f9"
      ],
      "author": {
        "name": "Gabriele M",
        "email": "moto.falcon.git@gmail.com",
        "time": "Mon May 01 18:22:04 2017 +0200"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Sun Aug 27 17:19:03 2017 -0400"
      },
      "message": "extract_utils: Fix cleanup variables assigment\n\nThe current assignment is wrong, we cleanup the files when we tell\nnot to do so.\n\nChange-Id: I73a9a17f5ebae6f2dbdc3d6d9aaa28cd75fb4f87\n"
    },
    {
      "commit": "cfd6ce770838854db2b2bf8b219a3daf5fd647f9",
      "tree": "cec75a750757c2c84b437330107ec51280a552d2",
      "parents": [
        "4b56bdd9463366b991af608b3458060df533b545"
      ],
      "author": {
        "name": "Rashed Abdel-Tawab",
        "email": "rashed@linux.com",
        "time": "Tue Apr 04 22:08:36 2017 -0400"
      },
      "committer": {
        "name": "Jacob Whatley",
        "email": "jake@whatley.co",
        "time": "Sun Aug 27 17:18:58 2017 -0400"
      },
      "message": "build: Update smali and baksmali to 2.2.0\n\nChange-Id: I4ee68b1152d41a80138e1df92f2f8316e471d658\n"
    },
    {
      "commit": "3af2a8d02e170898f0c3662a04b9d67516463c29",
      "tree": "e644275ac70889d08d599f85528f4edc39818c59",
      "parents": [
        "0cc0501e9b7007a3933bc4ae99c02763a6dde624"
      ],
      "author": {
        "name": "Dobroslaw Kijowski",
        "email": "dobo90@gmail.com",
        "time": "Thu May 18 12:35:02 2017 +0200"
      },
      "committer": {
        "name": "Marko Man",
        "email": "darkobas@gmail.com",
        "time": "Tue Jul 11 22:29:26 2017 +0200"
      },
      "message": "extract_utils: fix extracting XML files containing binary characters\n\nWhen a line from the XML file contains a character which grep classifies\nas a binary one, it will omit this line at all. Moreover it will append\n\u0027Binary file matches\u0027 to the stdout. This behavior breaks some XML files.\nTo fix this issue, let\u0027s tell grep to process a binary file as if it were\ntext.\n\nChange-Id: I6ec5689f73a0926870e502f3f8ee77346b47d05f\n"
    },
    {
      "commit": "0cc0501e9b7007a3933bc4ae99c02763a6dde624",
      "tree": "2bbb09cc600625a1dcfc8210b6c9a447d4145fa7",
      "parents": [
        "9c3eca2e345d56270ae463fd5802ca605b164076"
      ],
      "author": {
        "name": "Dan Pasanen",
        "email": "dan.pasanen@gmail.com",
        "time": "Tue Mar 21 09:06:11 2017 -0500"
      },
      "committer": {
        "name": "Marko Man",
        "email": "darkobas@gmail.com",
        "time": "Tue Jul 11 22:28:53 2017 +0200"
      },
      "message": "extract_utils: support extracting directly from an ota zip\n\n  * Specify the ota zip name as the only parameter to extract-files.sh\n  * Will extract to $CM_ROOT/system_dump\n  * Bail out on A/B OTA zips. We cannot support these.\n  * Handles block based OTA zips by using sdat2img.py\n  * Store the zip\u0027s MD5 and check if its already extracted. If so, don\u0027t\n    bother extracting again\n\nChange-Id: I03038e38dac51e6cb60d493c7e6362754d1daf02\n"
    },
    {
      "commit": "9c3eca2e345d56270ae463fd5802ca605b164076",
      "tree": "5ea35b977814f55fccd1cadf418a780f8ee808ab",
      "parents": [
        "1fbf687a402384614d6566e41814f5317b4d853f"
      ],
      "author": {
        "name": "Paul Keith",
        "email": "javelinanddart@aidenswann.com",
        "time": "Wed Mar 08 15:02:37 2017 -0600"
      },
      "committer": {
        "name": "Marko Man",
        "email": "darkobas@gmail.com",
        "time": "Tue Jul 11 21:41:48 2017 +0200"
      },
      "message": "extract_utils: Fix locale issue with sort\n\n* On some machines, LC_ALL\u003dC is set, causing the sort\n  order of makefiles to be different than those without\n  this locale change that is set\n* Set LC_ALL\u003dC on all machines for consistent ordering\n* From \u0027man sort\u0027:\n  The locale specified by the environment affects sort order.\n  Set LC_ALL\u003dC to get the traditional sort order that uses native byte values.\n* Thanks to haggertk and rashed for verifying this for me\n\nChange-Id: I5bbb94b0dfe599a67036de4312e8af913e9b8d30\nSigned-off-by: Paul Keith \u003cjavelinanddart@aidenswann.com\u003e\n"
    },
    {
      "commit": "1fbf687a402384614d6566e41814f5317b4d853f",
      "tree": "73f850ddafc0407965de58126122044cd26366d3",
      "parents": [
        "efafdf46520f8453939ab3da266e80dd84850813"
      ],
      "author": {
        "name": "Christopher R. Palmer",
        "email": "crpalmer@gmail.com",
        "time": "Sat Mar 04 05:12:29 2017 -0500"
      },
      "committer": {
        "name": "Marko Man",
        "email": "darkobas@gmail.com",
        "time": "Tue Jul 11 21:40:49 2017 +0200"
      },
      "message": "extract-utils: Fix handling of pulling src:dest pairs from dumps\n\nCurrently, the priority of the src and dest is inverted between\npulling from adb and pulling from a system dump.\n\nAssume that we have a camera wrapper and write the proprietary-files.txt\n\nlib/hw/camera.msm8996.so:lib/hw/camera.vendor.msm8996.so\n\nIf we pull from a phone running Lineage that has both files, we get\n\ncamera.vendor.msm8996.so\n\nas the pulled blob.  If we take the exact same build and pull it\nfrom the system dump (aka, your own $OUT directory that built the\ninstalled software) you get\n\ncamera.msm8996.so\n\npull instead!\n\nMake both paths follow the same logic so that you get the same\nfile independent of the source.\n\nChange-Id: I479e0ae765339cc38fa05fcaad7943c528129463\n"
    },
    {
      "commit": "9843b3274f3c0e27c28219f29d36631c5f7982e7",
      "tree": "8c4b2015529554d5f605ec29a0e2b2d8153e0613",
      "parents": [
        "8b1494ca306a6470b10892357ae9a26271f5422e"
      ],
      "author": {
        "name": "Jake Whatley",
        "email": "jacob.whatley91@gmail.com",
        "time": "Wed Jan 25 21:49:16 2017 -0500"
      },
      "committer": {
        "name": "Jake Whatley",
        "email": "jacob.whatley91@gmail.com",
        "time": "Fri Jan 27 04:51:32 2017 +0100"
      },
      "message": "[SQUASH] update extract-files and smali\n\ncommit 7021706d0d0e00556fd9a6e9085dfe3eade66f7d\nAuthor: Luca Stefani \u003cluca.stefani.ge1@gmail.com\u003e\nDate:   Thu Jan 5 19:37:02 2017 +0100\n\n    extract_utils: Update smali/backsmali to v2.2b4\n    \n    Change-Id: I91a2c5569ac0e6cf99d742f2b207f8222f9c01f0\n\ncommit 2e994ce952c89f3bc9141cba80b517396a212a55\nAuthor: Sam Mortimer \u003csam@mortimer.me.uk\u003e\nDate:   Wed Oct 5 09:50:49 2016 -0700\n\n    Update to smali/baksmali v2.2b3\n    \n    The cli changed slightly:\n    https://github.com/JesusFreke/smali/wiki/SmaliBaksmali2.2\n    \n    And, for deodexing angler at least, baksmali needs access to boot*.oat\n    rather than just boot.oat so point at source rather than copy\n    \n    \n    Resurrected from http://review.cyanogenmod.org/#/c/164958/\n    \n    With fixed adb $SRC deodexing\n    \n    Change-Id: Id6ae0e9d7a5554687124e99fb03a808f3115bb95\n\ncommit 7f9fff2317b8e1f64b2a74ae6c6447f537737b14\nAuthor: Luca Stefani \u003cluca.stefani.ge1@gmail.com\u003e\nDate:   Mon Jul 18 13:47:55 2016 +0200\n\n    cm: extract_utils: Implement oat2dex\n    \n     * Shipping baksmali and smali (version 2.1.3) in vendor/cm\n       (Official sources: https://github.com/JesusFreke/smali)\n    \n    Change-Id: Iaca6337fa2d4b5f2d6654ef5142ec0313af63f5a\n\n\ncommit 3c6bdac74bc212b26f723aa8697099fd636451a8\nAuthor: Adrian DC \u003cradian.dc@gmail.com\u003e\nDate:   Sun Jan 15 14:03:26 2017 +0100\n\n    extract_utils: Detect output existence before moving it for backup\n    \n     * Avoids:\n        Cleaning output directory (./../../../vendor/.../.../proprietary)..\n        mv: cannot stat \u0027./../../../vendor/.../.../proprietary/*\u0027:\n        No such file or directory\n    \n    Change-Id: I3258e64f3997f139d8db4fb4e07d14964a469c78\n\ncommit 8945f5e8c796a3fca6fe2ae3cd90df331959c167\nAuthor: Matt Mower \u003cmowerm@gmail.com\u003e\nDate:   Sat Jan 7 14:08:17 2017 -0600\n\n    extract_utils: Introduce variable INITIAL_COPYRIGHT_YEAR\n    \n    Let a device specify INITIAL_COPYRIGHT_YEAR\u003dXXXX in setup-makefiles.sh\n    so that the correct copyright(s) is/are included in vendor makefiles.\n    The CyanogenMod copyright is retained when INITIAL_COPYRIGHT_YEAR\u003c2017\n    and the LineageOS copyright is now included for \u003e\u003d2017.\n    \n    Change-Id: I6895b5b69bc7ba399042ac3c29e17f3209d15f1b\n\ncommit 4cf635a5ad34875878971d5048b3e61084e699e0\nAuthor: Gabriele M \u003cmoto.falcon.git@gmail.com\u003e\nDate:   Thu Jan 5 22:10:00 2017 +0100\n\n    extract_utils: Update backsmali command\n    \n    -e no longer exists starting from v2.2b3, so update the\n    command. While at it, add the logic to deal with Android N\n    separated boot oat files.\n    \n    Change-Id: Iab8e3946d6421824fea74e26dc43d2db38573022\n\ncommit 5b38c4fb349c06303de8342935b7d8039e2904f5\nAuthor: Rashed Abdel-Tawab \u003crashed@linux.com\u003e\nDate:   Wed Nov 23 23:00:37 2016 -0500\n\n    extract_utils: Use shasum on macOS\n    \n    macOS doesn\u0027t have sha1sum but instead shasum, so use that\n    if \u0027uname -s\u0027 returns Darwin\n    \n    Change-Id: I1ab8721327a561e8df78562bbc0b12e884cc4a93\n\ncommit 082e0ec07b71947e1594abc483f5f341f198699c\nAuthor: Elektroschmock \u003celektroschmock78@googlemail.com\u003e\nDate:   Tue Oct 4 21:11:43 2016 +0200\n\n    extract_utils: Add option to define the certificate for jars\n    \n    Change-Id: I3fb4ff29b2ce898989f5599b47f47ee7fcfc5e92\n\ncommit 2e994ce952c89f3bc9141cba80b517396a212a55\nAuthor: Sam Mortimer \u003csam@mortimer.me.uk\u003e\nDate:   Wed Oct 5 09:50:49 2016 -0700\n\n    Update to smali/baksmali v2.2b3\n    \n    The cli changed slightly:\n    https://github.com/JesusFreke/smali/wiki/SmaliBaksmali2.2\n    \n    And, for deodexing angler at least, baksmali needs access to boot*.oat\n    rather than just boot.oat so point at source rather than copy\n    \n    \n    Resurrected from http://review.cyanogenmod.org/#/c/164958/\n    \n    With fixed adb $SRC deodexing\n    \n    Change-Id: Id6ae0e9d7a5554687124e99fb03a808f3115bb95\n\ncommit d303031019db059315e42a78fdfdd538158385e2\nAuthor: HashBang \u003chashbang173@gmail.com\u003e\nDate:   Mon Aug 1 14:36:46 2016 -0400\n\n    extract_utils: Do not change app SRC if there are arguments\n    \n    Do not prepend app or priv-app to the src when a path is explicitly\n    given as an argument. This fixes the SRC path in such conditions.\n    \n    Change-Id: I43370f17fe224df323fcfa9b0d5eae4ee2996524\n\ncommit d53bff1f45de6cc81ca79901b405ea1f935e97e2\nAuthor: Rashed Abdel-Tawab \u003crashed@linux.com\u003e\nDate:   Sun Oct 2 01:00:54 2016 -0400\n\n    extract_utils: Add ability to set custom device guard\n    \n    In some cases we may not want to check against TARGET_DEVICE so allow\n    setting a custom variable to check against\n    \n    Change-Id: Ia2fb338f453137a95a59c6940b0cc16b261505bf\n\ncommit 5f173157c452554311e33ac9c074a4ebaf9c37c4\nAuthor: Rashed Abdel-Tawab \u003crashed@linux.com\u003e\nDate:   Sat Oct 1 20:33:00 2016 -0400\n\n    extract_utils: Add ability to set custom vendor.mk name\n    \n    In some circumstances we might want to set a custom vendor.mk\n    filename. If not set, then just default to the current device name\n    \n    Change-Id: Icb59ebee67ce17b41ac613020685773efb01103d\n\ncommit 79fa59b3be49f4dcef795a4ab2e2a0db8ab6e9ca\nAuthor: Steve Kondik \u003csteve@cyngn.com\u003e\nDate:   Fri Sep 2 21:10:02 2016 -0700\n\n    extract_utils: Add flag to disable pinning\n    \n     * We might want to disable pinning entirely for an extract run.\n     * Set DISABLE_PINNING\u003d1 to turn it off and override everything.\n    \n    Change-Id: I1be90dda68f0de1c5f5a70c946052d70bfaab7ed\n\ncommit 7561d19795839ad66393c039dc76301eaa7f4752\nAuthor: Steve Kondik \u003csteve@cyngn.com\u003e\nDate:   Thu Sep 1 21:40:27 2016 -0700\n\n    extract_utils: Fix device online check\n    \n     * No need to look for /sbin/recovery as adbd will report\n       the device as being in recovery mode already. Also, this\n       check appears to hang on N.\n    \n    Change-Id: I3bcb427835ae3cd37c7ea56cbc57bba0d18fcc04\n\ncommit 3b3a0e1c8b9a2f7e57f47a75749db054e0f82592\nAuthor: Hashbang173 \u003chashbang173@gmail.com\u003e\nDate:   Sun Aug 28 20:38:45 2016 -0400\n\n    extract_utils.sh: Disable dex preopt on prebuilt apks\n    \n    Change-Id: I230f1a8bb95cbc1df36bc652b03e58829ec278f5\n\ncommit 48f8df8ddb2eb3b32dbc44dcb50fcfc01bfbc8bd\nAuthor: Steve Kondik \u003csteve@cyngn.com\u003e\nDate:   Sun Aug 14 03:55:08 2016 -0700\n\n    extract-utils: Add pinning support\n    \n     * In many cases, we would like to keep certain files which do not\n       exactly match what might be extracted from a factory ROM. This\n       becomes extremely annoying over time to manually reconstruct,\n       and it\u0027s easy to miss these special cases when updating to a\n       new vendor release. It\u0027s also useful to flag additions which\n       aren\u0027t found in the upstream release at all.\n     * To solve this, we can now \"pin\" files to a specific sha1 hash.\n       Simply append the sha1sum of the file to the appropriate line\n       in your bloblist, prepended by a | delimiter.\n     * This works by backing up the current files first, running the\n       extraction, then checking if any pinned files need to be\n       restored.\n     * Also add an exit trap to clean up all of our tempfiles\n    \n    Change-Id: I2010b5175b5701e19a3efb112e8907062ca37d66\n\ncommit a516c2f0ac555f2d9b7284a2b89909373a25b6a5\nAuthor: Louis Popi \u003ctheh2o64@gmail.com\u003e\nDate:   Mon Jul 25 15:51:13 2016 +0200\n\n    cm: extract_utils: Add a firmware extraction method\n    \n    Change-Id: If14f6932cbdccf45ca0cc91c403e951363e91260\n\ncommit 3a03012242c8303b3616e0630c42992070920fc7\nAuthor: Luca Stefani \u003cluca.stefani.ge1@gmail.com\u003e\nDate:   Sat Jul 30 12:08:25 2016 +0200\n\n    cm: extract_utils: Fixup xml files\n    \n    Change-Id: Icb8efcca0e6e37a3ea7432716fcbfbd631d96c19\n\ncommit 7f9fff2317b8e1f64b2a74ae6c6447f537737b14\nAuthor: Luca Stefani \u003cluca.stefani.ge1@gmail.com\u003e\nDate:   Mon Jul 18 13:47:55 2016 +0200\n\n    cm: extract_utils: Implement oat2dex\n    \n     * Shipping baksmali and smali (version 2.1.3) in vendor/cm\n       (Official sources: https://github.com/JesusFreke/smali)\n    \n    Change-Id: Iaca6337fa2d4b5f2d6654ef5142ec0313af63f5a\n\ncommit 03ce400352e772634299d074bdbf9c5ffb636869\nAuthor: Steve Kondik \u003csteve@cyngn.com\u003e\nDate:   Fri Jul 29 00:00:16 2016 -0700\n\n    Revert \"extract_utils: Don\u0027t write multilib tags on 32-bit only devices\"\n    \n     * Not gonna work without preparsing all the lists combined together.\n    \n    This reverts commit b7b7f884437c76d196f94461751093a7efe47d4c.\n    \n    Change-Id: I63ceead414d7f8416e2c2c8e4b12098077b545e2\n\ncommit 3b96ba58415610171de13861886226d8bc02c4d2\nAuthor: Bruno Martins \u003cbgcngm@gmail.com\u003e\nDate:   Wed Jul 27 15:00:05 2016 +0100\n\n    cm: extract_utils: Rewrite file existence checks\n    \n    Change-Id: I7c1584ec7162e0e18fae471e6aceef6123a5d10b\n\ncommit b7b7f884437c76d196f94461751093a7efe47d4c\nAuthor: Steve Kondik \u003csteve@cyngn.com\u003e\nDate:   Thu Jul 28 14:15:46 2016 -0700\n\n    extract_utils: Don\u0027t write multilib tags on 32-bit only devices\n    \n    Change-Id: I41b6f71c45a566ba1b4dd5cb72c4ebf44388b363\n\ncommit a991cf1f9b2a2fe0b015345724856c956ba2c3f8\nAuthor: Steve Kondik \u003csteve@cyngn.com\u003e\nDate:   Thu Jul 28 12:13:12 2016 -0700\n\n    extract_utils: Add support for files in rootfs\n    \n     * A final \"rootfs\" tag in the last column will place\n       the chosen file into the ramdisk\n     * Currently only supports files in /sbin\n     * Cleaned up usage of class-specific flags\n     * Simplified code\n    \n    Change-Id: Id823d70aab51f8767522f697eaf65f52fc64b94b\n\ncommit 52f3680199a2ee9fd26ca4a724169ea96739d41c\nAuthor: Steve Kondik \u003csteve@cyngn.com\u003e\nDate:   Thu Jul 21 09:43:30 2016 -0700\n\n    cm: Remove stray echo from extract_utils\n    \n    Change-Id: I2d893a3f8472a86835feef24540e82c47b69fd67\n\ncommit 60ef86de1a0728a66e0a4147fc3ca69ec58805ce\nAuthor: Steve Kondik \u003csteve@cyngn.com\u003e\nDate:   Wed Jul 20 20:03:40 2016 -0700\n\n    cm: Underp dumping of 64-bit only libraries\n    \n    Change-Id: I9c2140b40747fc7f847f1a532c42fb7ae5bfc3fd\n\ncommit 4e2aaabd139d310c892329611639a63af257705e\nAuthor: Steve Kondik \u003csteve@cyngn.com\u003e\nDate:   Fri Jul 15 10:39:58 2016 -0700\n\n    cm: Add generic tools for extract-files / setup-makefiles scripts\n    \n     * Instead of having to enumerate packages and do a bunch of tedious\n       shit, we now have a way to do it automatically based only on\n       the blob lists.\n     * Devices still need to implement a short script, but this library\n       handles all the core functions.\n     * Yes, we should probably be doing this in Python- Bash is\n       absolutely horrible at dealing with arrays and lists.\n    \n    Change-Id: I73b30ff4531c4d1b33ac53db33abf62555f500b4\n\nChange-Id: I1a373a998688bad7f6a780acd0ef86e1511af02c\n"
    },
    {
      "commit": "c259afa19caaa6a6c09a16e0fc299365efe1d3ce",
      "tree": "25842ccdf704ab0cda0ca1566f9b17dbf3a09e84",
      "parents": [
        "575f3bbb3068bbc7fafdc56ef0ce870c82ba0230",
        "dd7923065b39fba7c44e7a1f869ad8aa6440835c"
      ],
      "author": {
        "name": "Jake Whatley",
        "email": "jacob.whatley91@gmail.com",
        "time": "Wed Jan 04 09:39:40 2017 +0100"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit2@gerrit",
        "time": "Wed Jan 04 09:39:40 2017 +0100"
      },
      "message": "Merge \"extract_utils: Add option to define the certificate for jars\" into android-7.1"
    },
    {
      "commit": "dd7923065b39fba7c44e7a1f869ad8aa6440835c",
      "tree": "aa15878988926082334b1a64a417783607d06988",
      "parents": [
        "ca7ebb1285b2a552bb2fb49d92c1e66c762f7b4e"
      ],
      "author": {
        "name": "Elektroschmock",
        "email": "elektroschmock78@googlemail.com",
        "time": "Tue Oct 04 21:11:43 2016 +0200"
      },
      "committer": {
        "name": "Arvin Quilao",
        "email": "arquilao@gmail.com",
        "time": "Wed Jan 04 08:55:56 2017 +0100"
      },
      "message": "extract_utils: Add option to define the certificate for jars\n\nChange-Id: I3fb4ff29b2ce898989f5599b47f47ee7fcfc5e92\n"
    },
    {
      "commit": "575f3bbb3068bbc7fafdc56ef0ce870c82ba0230",
      "tree": "17f9efc62df9245558811e071f31e9f81bd210e3",
      "parents": [
        "ca7ebb1285b2a552bb2fb49d92c1e66c762f7b4e"
      ],
      "author": {
        "name": "Hashbang173",
        "email": "hashbang173@gmail.com",
        "time": "Sun Aug 28 20:38:45 2016 -0400"
      },
      "committer": {
        "name": "Arvin Quilao",
        "email": "arquilao@gmail.com",
        "time": "Wed Jan 04 08:55:46 2017 +0100"
      },
      "message": "extract_utils.sh: Disable dex preopt on prebuilt apks\n\nChange-Id: I230f1a8bb95cbc1df36bc652b03e58829ec278f5\n"
    },
    {
      "commit": "cb7cd0782214fe211943d626737276976ff2af96",
      "tree": "a4f01a7600fa118e88faf55dd1c64580d371c538",
      "parents": [
        "ca3e31e16fabcb7195c91332345304022b00d89e"
      ],
      "author": {
        "name": "Jake Whatley",
        "email": "jacob.whatley91@gmail.com",
        "time": "Sun Sep 18 20:55:12 2016 +0200"
      },
      "committer": {
        "name": "Jake Whatley",
        "email": "jacob.whatley91@gmail.com",
        "time": "Sun Sep 18 20:56:27 2016 +0200"
      },
      "message": "extract-utils: create device-vendor instead of $DEVICE-vendor\n\nno need to change includes in Nexus device trees that already\nlook for \"vendor/$vendor/$device/device-vendor.mk\n\nChange-Id: Ibe83a846c95086f13c1f47bb611226fcf1a71cd6\n"
    },
    {
      "commit": "6a182a429b1a324c0da0ba486fa771d6211ad2f8",
      "tree": "4db81c38809a2b04c6c73df7365d50677a316b7c",
      "parents": [
        "8186809957ca75e9c531f1f0245f7983b8a1d19b"
      ],
      "author": {
        "name": "Marko Man",
        "email": "darkobas@gmail.com",
        "time": "Sun Sep 18 01:59:20 2016 +0200"
      },
      "committer": {
        "name": "Marko Man",
        "email": "darkobas@gmail.com",
        "time": "Sun Sep 18 01:59:20 2016 +0200"
      },
      "message": "vendor: extract_utils fix vendor path\n\nChange-Id: I0a2e7ebef26613d5e4487097626979cac8cf2ff2\n"
    },
    {
      "commit": "5bd66604e74d42fb301461f44c92278f0360a585",
      "tree": "320414270220e838586851a5f801bb593281705b",
      "parents": [
        "fd2bef2b255149b12ef808d788028b25d75ed2d9"
      ],
      "author": {
        "name": "Steve Kondik",
        "email": "steve@cyngn.com",
        "time": "Fri Jul 15 10:39:58 2016 -0700"
      },
      "committer": {
        "name": "Jake Whatley",
        "email": "jacob.whatley91@gmail.com",
        "time": "Fri Sep 02 17:32:07 2016 +0200"
      },
      "message": "cm: Add generic tools for extract-files / setup-makefiles scripts\n\n * Instead of having to enumerate packages and do a bunch of tedious\n   shit, we now have a way to do it automatically based only on\n   the blob lists.\n * Devices still need to implement a short script, but this library\n   handles all the core functions.\n * Yes, we should probably be doing this in Python- Bash is\n   absolutely horrible at dealing with arrays and lists.\n\nChange-Id: I73b30ff4531c4d1b33ac53db33abf62555f500b4\n\ncm: Underp dumping of 64-bit only libraries\n\nChange-Id: I9c2140b40747fc7f847f1a532c42fb7ae5bfc3fd\n\ncm: Remove stray echo from extract_utils\n\nChange-Id: I2d893a3f8472a86835feef24540e82c47b69fd67\n\nextract_utils: Add support for files in rootfs\n\n * A final \"rootfs\" tag in the last column will place\n   the chosen file into the ramdisk\n * Currently only supports files in /sbin\n * Cleaned up usage of class-specific flags\n * Simplified code\n\nChange-Id: Id823d70aab51f8767522f697eaf65f52fc64b94b\n\nextract_utils: Don\u0027t write multilib tags on 32-bit only devices\n\nChange-Id: I41b6f71c45a566ba1b4dd5cb72c4ebf44388b363\n\ncm: extract_utils: Rewrite file existence checks\n\nChange-Id: I7c1584ec7162e0e18fae471e6aceef6123a5d10b\n\nRevert \"extract_utils: Don\u0027t write multilib tags on 32-bit only devices\"\n\n * Not gonna work without preparsing all the lists combined together.\n\nThis reverts commit b7b7f884437c76d196f94461751093a7efe47d4c.\n\nChange-Id: I63ceead414d7f8416e2c2c8e4b12098077b545e2\n\ncm: extract_utils: Implement oat2dex\n\n * Shipping baksmali and smali (version 2.1.3) in vendor/cm\n   (Official sources: https://github.com/JesusFreke/smali)\n\nChange-Id: Iaca6337fa2d4b5f2d6654ef5142ec0313af63f5a\n\ncm: extract_utils: Fixup xml files\n\nChange-Id: Icb8efcca0e6e37a3ea7432716fcbfbd631d96c19\n\ncm: extract_utils: Add a firmware extraction method\n\nChange-Id: If14f6932cbdccf45ca0cc91c403e951363e91260\n\nextract-utils: Add pinning support\n\n * In many cases, we would like to keep certain files which do not\n   exactly match what might be extracted from a factory ROM. This\n   becomes extremely annoying over time to manually reconstruct,\n   and it\u0027s easy to miss these special cases when updating to a\n   new vendor release. It\u0027s also useful to flag additions which\n   aren\u0027t found in the upstream release at all.\n * To solve this, we can now \"pin\" files to a specific sha1 hash.\n   Simply append the sha1sum of the file to the appropriate line\n   in your bloblist, prepended by a | delimiter.\n * This works by backing up the current files first, running the\n   extraction, then checking if any pinned files need to be\n   restored.\n * Also add an exit trap to clean up all of our tempfiles\n\nChange-Id: I2010b5175b5701e19a3efb112e8907062ca37d66\n"
    }
  ]
}
