)]}'
{
  "log": [
    {
      "commit": "8240333b257e96e7dc2ac2522f8bb7fb2158fafc",
      "tree": "e3cba84c4aca0a91dd0ccbbe0b4b51c7890214a0",
      "parents": [
        "450bd1b4290e0dec65397881a7037090f203045a"
      ],
      "author": {
        "name": "Tom Gundersen",
        "email": "teg@jklm.no",
        "time": "Mon Mar 31 15:18:51 2014 +0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Apr 01 08:13:54 2014 -0300"
      },
      "message": "config: also parse softdeps from modules\n\nThis information can be found in /lib/modules/`uname -r`/modules.softdep, and\nhas only recently been exported by the kernel.\n\nAlso remove the advice about copying modules.softdep to /lib/modules as it is\nnot clear how to do this correctly with several kernels installed with\npotentially conflicting soft dependencies.\n"
    },
    {
      "commit": "450bd1b4290e0dec65397881a7037090f203045a",
      "tree": "03156d57b0c22e723c4fde7a7bf4c319fa9c1732",
      "parents": [
        "3a33a7a566c221e13c426c0d2f3519ebe8f70a34"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Mon Mar 31 15:18:50 2014 +0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Apr 01 07:40:37 2014 -0300"
      },
      "message": "libkmod: Ignore errors from softdeps\n\nBefore we had softdeps, the usual idiom was\n\ninstall foo /sbin/modprobe bar; /sbin/modprobe --ignore-install foo\n\nignoring errors from the first modprobe invocation. This also matches\nthe behavior of module-init-tools\u0027 implementation of softdep.\n"
    },
    {
      "commit": "3a33a7a566c221e13c426c0d2f3519ebe8f70a34",
      "tree": "95c461f52f94f6a694847d20494e3f41b5d2f5bd",
      "parents": [
        "5ad36e522226732d3815ace77b2ec19198bd24fc"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Mar 24 08:27:19 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 26 22:30:56 2014 -0300"
      },
      "message": "build-sys: add hooks to build python bindings\n\nAdd --enable-python configure switch so we build the python bindings. We\nalso pass version.py through SED_PROCESS macro, so the version is kept\nin sync with kmod.\n\nAcked-by: Andy Grover \u003cagrover@redhat.com\u003e\n"
    },
    {
      "commit": "5ad36e522226732d3815ace77b2ec19198bd24fc",
      "tree": "3ff69d886d888dbcb483e9e95e9c7221a821975c",
      "parents": [
        "299a3adfe8e3fd9494d9b3bb8866bc0f45fdcbe9"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 20 07:33:40 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 26 22:30:49 2014 -0300"
      },
      "message": "python: Remove unused files from import\n\nAcked-by: Andy Grover \u003cagrover@redhat.com\u003e\n"
    },
    {
      "commit": "299a3adfe8e3fd9494d9b3bb8866bc0f45fdcbe9",
      "tree": "07c000c4787304ad239311836b79dff826f4bd0c",
      "parents": [
        "db62153ea0beedbc6941e1d438c0b6e7189e78d9",
        "c03dfbd5a7b722032c30fa5b532247b25ae87352"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Mar 10 04:23:19 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 26 22:30:31 2014 -0300"
      },
      "message": "Merge branch \u0027master\u0027 of python-kmod\n\nThis is python-kmod is found in git@github.com:agrover/kmod.git\nd5b6f22639c077b86659828bcc78dcedc9daaa94\n\nIts history has being rewritten to prepare for a merge:\n\n\t- Every commit has been prefixed with \"python: \" in its commit\n\t  message\n\t- s-o-b\u0027s have been removed\n\t- Every file has been moved to libkmod/python directory\n\nSome files don\u0027t make much sense anymore and are being removed\nin this merge.\n\nAcked-by: Andy Grover \u003cagrover@redhat.com\u003e\n"
    },
    {
      "commit": "c03dfbd5a7b722032c30fa5b532247b25ae87352",
      "tree": "07c000c4787304ad239311836b79dff826f4bd0c",
      "parents": [
        "60ce23e707e1dde852b25843f3334627f474424c"
      ],
      "author": {
        "name": "Guy Rozendorn",
        "email": "guy@rzn.co.il",
        "time": "Tue Apr 02 17:46:45 2013 +0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: Issue #15: resovled by using setuptools_cython\n"
    },
    {
      "commit": "60ce23e707e1dde852b25843f3334627f474424c",
      "tree": "4b9612b11667f88ba367f063c4cbf60d2f7d45a5",
      "parents": [
        "1f9c5a04f7c9c3635e8c39ae3c28473fada07ed6"
      ],
      "author": {
        "name": "Guy Rozendorn",
        "email": "guy@rzn.co.il",
        "time": "Tue Apr 02 16:46:23 2013 +0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: Issue #15: Cython needs to be in setup_requires\n\nWe need Cython BEFORE installing kmod (done with setup_requires),\nand AFTER installation - during runtime (done with install_requires)\n"
    },
    {
      "commit": "1f9c5a04f7c9c3635e8c39ae3c28473fada07ed6",
      "tree": "837bbcda90979caca1a5195d92c3bb50201cd24e",
      "parents": [
        "57a8efdf92849ceb1d964754771afbe6f99d7200"
      ],
      "author": {
        "name": "Guy Rozendorn",
        "email": "guy@rzn.co.il",
        "time": "Tue Apr 02 11:00:22 2013 +0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: Issue #15 Cython is now a dependency\n"
    },
    {
      "commit": "57a8efdf92849ceb1d964754771afbe6f99d7200",
      "tree": "259eabe29ce3dbf7a4e7c76bd77c1b5ecbd83ea7",
      "parents": [
        "17b69ada6fe26b88e51dd411efb8cbb44aa17cb1"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Mon Apr 01 15:24:41 2013 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: update version to 0.9.1\n"
    },
    {
      "commit": "17b69ada6fe26b88e51dd411efb8cbb44aa17cb1",
      "tree": "a263236fd8a789603ddb6f8dccced5ebe9a92711",
      "parents": [
        "e4a57f6828fa25e57e81c31cd243e9aa8414a42c"
      ],
      "author": {
        "name": "Guy Rozendorn",
        "email": "guy@rzn.co.il",
        "time": "Sun Mar 31 13:25:30 2013 +0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: Issue #13 skipping building extensions on non-Linux platforms\n"
    },
    {
      "commit": "e4a57f6828fa25e57e81c31cd243e9aa8414a42c",
      "tree": "24bc26923e0fde8defd9777b7cf760dff97639c0",
      "parents": [
        "891e0756e77c9f85ab88ca1cd9c846568107370f"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Mon Feb 11 16:55:11 2013 -0800"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: Make kmod.modprobe() raise an error if no modules found\n\nAdd \u0027quiet\u0027 option to override.\n\nAdd docstring.\n"
    },
    {
      "commit": "891e0756e77c9f85ab88ca1cd9c846568107370f",
      "tree": "5359c00edb5e18adea41ab2ed4f552537874e5d3",
      "parents": [
        "8e73a86d6e1b74484c7f21929f6542ed610af0d3"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Dec 18 14:47:37 2012 -0800"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: Add self as maintainer to setup.py\n"
    },
    {
      "commit": "8e73a86d6e1b74484c7f21929f6542ed610af0d3",
      "tree": "78061a8e23b772ea210ab52ad68221d5fd602bac",
      "parents": [
        "f0d6f3701ab912673bd313f934ae9dcb32328f03"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Dec 18 10:56:53 2012 -0800"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: Correct building for python 2.6\n\nReported-by: Oz Nahum Tiram \u003cnahumoz@gmail.com\u003e\n"
    },
    {
      "commit": "f0d6f3701ab912673bd313f934ae9dcb32328f03",
      "tree": "2d60f8a8835d3fe952b56bdc04a20a613f7b9eef",
      "parents": [
        "240c0f46942b385d9eb09f7c710d422845fe18f8"
      ],
      "author": {
        "name": "Oz",
        "email": "nahumoz@gmail.com",
        "time": "Sun Dec 16 23:27:09 2012 +0100"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: add docstring to insert and remove methods\n"
    },
    {
      "commit": "240c0f46942b385d9eb09f7c710d422845fe18f8",
      "tree": "8bc3fa4da6afc264a7407a059c503c3a21686f65",
      "parents": [
        "b32900f4e84ad148a8eee35a72f7c0fbd9769824"
      ],
      "author": {
        "name": "Oz",
        "email": "nahumoz@gmail.com",
        "time": "Sun Dec 16 23:23:31 2012 +0100"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: add docstring to rmmod\n"
    },
    {
      "commit": "b32900f4e84ad148a8eee35a72f7c0fbd9769824",
      "tree": "20128320420fef051a1f84cb6e9c8cf0279445d6",
      "parents": [
        "9ebfb9c198b8bbcab98f90a083c94dca32fa5e93"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Fri Dec 14 09:34:25 2012 -0800"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: update version to 0.9\n"
    },
    {
      "commit": "9ebfb9c198b8bbcab98f90a083c94dca32fa5e93",
      "tree": "5b82840e592e89251fc671d2bd72b20bed550dc2",
      "parents": [
        "26105c168f50a2e7edcfa958bf1bd76d6b8b730d"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Fri Dec 14 09:27:36 2012 -0800"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: Update README\n\nLast update changed API slightly:\n* loaded_modules renamed to modules\n* returns a module object instead of (name, size)\n"
    },
    {
      "commit": "26105c168f50a2e7edcfa958bf1bd76d6b8b730d",
      "tree": "08ef8ae8df5e98581faad769dad95f03490515ee",
      "parents": [
        "c8b5c51ed6748c3027374a642ce268dda5221206"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 21:57:18 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: MANIFEST.in: add AUTHORS to distibuted source files.\n"
    },
    {
      "commit": "c8b5c51ed6748c3027374a642ce268dda5221206",
      "tree": "44d29435f8473217740133055008edd5381a46e5",
      "parents": [
        "64f9a6a6307779b4e20fe2469e8f9861b16d830e"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 21:56:02 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: Ran update-copyright.py.\n"
    },
    {
      "commit": "64f9a6a6307779b4e20fe2469e8f9861b16d830e",
      "tree": "97170c82636111b6f3f854c5777ff8e42f623cbf",
      "parents": [
        "8e8e24bcbd7cc059d62786f8618efd9a579e8feb"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 21:54:20 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: .update-copyright.conf: update to pipe separators.\n\nThis brings the config file up to speed with the following\nupdate-copyright commit:\n\n  commit 3c68a1a48419d8b2bbc2ce0e7f1700b996ec30e9\n  Author: W. Trevor King \u003cwking@tremily.us\u003e\n  Date:   Fri Oct 19 21:52:48 2012 -0400\n\n    project: for consistency, also separate ignored paths with pipes.\n"
    },
    {
      "commit": "8e8e24bcbd7cc059d62786f8618efd9a579e8feb",
      "tree": "12aeebf7d6d1d24ef2610d3dfc8f79efaa086de8",
      "parents": [
        "ac24814360657d8add43b0a1334265e60f9be204"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 21:31:00 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: .update-copyright.conf: add MANIFEST.in to ignored files.\n"
    },
    {
      "commit": "ac24814360657d8add43b0a1334265e60f9be204",
      "tree": "63c615cae0b3da0fc2d7911bb1cfa38116cdf630",
      "parents": [
        "5a39a9d988d84864fa63e346ca2ea508529102f9"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 21:25:46 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: .update-copyright.conf: add Red Hat alias for Andy Grover.\n\nHe seems to be assigning copyright of files he writes to Red Hat.\nAvoiding .mailmap so the git log will still attribute changes to him.\nI\u0027m not sure which name should go in the AUTHORS file.\n"
    },
    {
      "commit": "5a39a9d988d84864fa63e346ca2ea508529102f9",
      "tree": "47056fcbdba45076d2eed96728badb6c8d9c67a7",
      "parents": [
        "3c65e333f709c225d4cc8b35ea5bf88ba5a3a78a"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 21:22:33 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:16 2014 -0300"
      },
      "message": "python: .update-copyright.conf: add README.rst to ignored files.\n"
    },
    {
      "commit": "3c65e333f709c225d4cc8b35ea5bf88ba5a3a78a",
      "tree": "d103baf3c93cb07518e60e6415ed896497ece4d1",
      "parents": [
        "6745a4a7daeab9b130555f957e2c5272c8c65d1a"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 21:02:25 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: .mailmap: consolidate Andy Grover email addresses.\n"
    },
    {
      "commit": "6745a4a7daeab9b130555f957e2c5272c8c65d1a",
      "tree": "d41b95406bf1887842d7bed53fe2c14a312fba3f",
      "parents": [
        "0a2fab2b325376ad981ee6891259f31e8f4ee20c"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 20:16:21 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: .update-copyright.conf: add copyright configuration.\n\nUse my external update-copyright package to maintain copyright blurbs.\n\nhttp://pypi.python.org/pypi/update-copyright/\n"
    },
    {
      "commit": "0a2fab2b325376ad981ee6891259f31e8f4ee20c",
      "tree": "b847791570a2b30901cca52bacf914eb3a5e4aed",
      "parents": [
        "d9c0c63eb790dbd51ceca0efbc36e9b88e7c9fe8"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 09:10:53 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: module: fix versions -\u003e info typo in Module._info_get() error message.\n"
    },
    {
      "commit": "d9c0c63eb790dbd51ceca0efbc36e9b88e7c9fe8",
      "tree": "a71ae371b21ea44a8a4973450086a79167e87615",
      "parents": [
        "caee9c10c5e22fd2b3ba2ae09fefa6e0e492bb06"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 07:49:16 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: Initialize Kmod.mod_dir to None in __cinit__().\n"
    },
    {
      "commit": "caee9c10c5e22fd2b3ba2ae09fefa6e0e492bb06",
      "tree": "54f016b70aba8482cac32f391c6c29a4d9ff1269",
      "parents": [
        "81c1a4e84073b99a2a336c1b1d7238c7a1ec2127"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 07:18:58 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: Use an OrderedDict for Module.info (preserving modinfo ordering).\n"
    },
    {
      "commit": "81c1a4e84073b99a2a336c1b1d7238c7a1ec2127",
      "tree": "c98c5176b07ee4110c6746b27f002861b6ae4527",
      "parents": [
        "e0ff45a04886e12540d2dd00e226c3e17587b6b9"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 01:07:42 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: Add Module.info attribute.\n"
    },
    {
      "commit": "e0ff45a04886e12540d2dd00e226c3e17587b6b9",
      "tree": "4460a88f6d2a3b3f97d1b3d3a56feff4688b35dc",
      "parents": [
        "0dd3047efbef69d898ee6c3e11cd0a637def73c3"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 00:50:21 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: Use Cython\u0027s libc.errno for EEXIST.\n"
    },
    {
      "commit": "0dd3047efbef69d898ee6c3e11cd0a637def73c3",
      "tree": "7aa40909a2fdaeab51e885b463fa9c42957be4dc",
      "parents": [
        "76d34f40e178726c3966a38254329582829751fd"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 00:47:51 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: Add Module.versions attribute.\n"
    },
    {
      "commit": "76d34f40e178726c3966a38254329582829751fd",
      "tree": "fe30014c14bbe837efe76928276f1dd1fc8c4898",
      "parents": [
        "161576d420000fbbcd463eaab22791f5e6ffbf79"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 00:20:31 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: README.rst: add .rst symlink for GitHub.\n"
    },
    {
      "commit": "161576d420000fbbcd463eaab22791f5e6ffbf79",
      "tree": "4243222936151ee8f27f4197a944ed665468f809",
      "parents": [
        "028fc127b61b2d64c2c1ec20532f7da62df0a86e"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 00:11:17 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: README: mention Cython dependency.\n"
    },
    {
      "commit": "028fc127b61b2d64c2c1ec20532f7da62df0a86e",
      "tree": "f59a1230d41f46d0f7271d88062d3de19fdd24b0",
      "parents": [
        "075f4ea0e247ceee234ed05bc04adecfeb0cf3af"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 00:10:20 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: README: cleanup reStructuredText syntax.\n"
    },
    {
      "commit": "075f4ea0e247ceee234ed05bc04adecfeb0cf3af",
      "tree": "871098a25835eef39e5bf4422033aa6728c520cc",
      "parents": [
        "c7371989365888edaac60d2ac90d6135e0a85508"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 00:08:00 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: Add missing copyright blurbs.\n"
    },
    {
      "commit": "c7371989365888edaac60d2ac90d6135e0a85508",
      "tree": "eac3b53eaeb4a53bfe85fa6abb1f81e205ef78db",
      "parents": [
        "3cc8a660782b5f237952d0d8875f367f9ebc1edb"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 00:07:39 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: Add docstrings to kmod.kmod and kmod.kmod.Kmod.\n"
    },
    {
      "commit": "3cc8a660782b5f237952d0d8875f367f9ebc1edb",
      "tree": "a38802055b017d317ca69deae0bdb10c83e24645",
      "parents": [
        "113b46bc1e230af6a192d8464bcc4cd32627d74a"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Fri Oct 19 00:00:53 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: MANIFEST.in: add missing source to the sdist tarball.\n"
    },
    {
      "commit": "113b46bc1e230af6a192d8464bcc4cd32627d74a",
      "tree": "1e277def3bcbe18798ebe5f1d3f3aa6c32ee8051",
      "parents": [
        "f7c62154ecf1ae5fa4eadd2c7709ca37a7371663"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Thu Oct 18 23:57:30 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: Add additional out Module attributes (path, refcnt, ...).\n"
    },
    {
      "commit": "f7c62154ecf1ae5fa4eadd2c7709ca37a7371663",
      "tree": "b2d0be8aa613d550f5e488ff82dffcf9c17b21e9",
      "parents": [
        "cd4df5accd21f700e9d2107ffa415d9b2624d47a"
      ],
      "author": {
        "name": "W. Trevor King",
        "email": "wking@tremily.us",
        "time": "Thu Oct 18 23:30:30 2012 -0400"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: Convert to Cython.\n\nWith Cython we get easier memory handling and Python 3 compatibility.\n"
    },
    {
      "commit": "cd4df5accd21f700e9d2107ffa415d9b2624d47a",
      "tree": "a5a8c3ed8361c3701656503e8b357650ae6ea33d",
      "parents": [
        "6cdc22b36bcca3cb0ba9364f40cf73e394245578"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 17 11:35:30 2012 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: update FSF address in COPYING and COPYING.LESSER\n\nPlease FSF, never move again.\n"
    },
    {
      "commit": "6cdc22b36bcca3cb0ba9364f40cf73e394245578",
      "tree": "e38b0606d94a6a61e355583b59002cf60453f8ea",
      "parents": [
        "705187f17ba8713327b200d8b62f88397e3a0715"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy@groveronline.com",
        "time": "Sun Mar 18 21:53:26 2012 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:15 2014 -0300"
      },
      "message": "python: whitespace\n"
    },
    {
      "commit": "705187f17ba8713327b200d8b62f88397e3a0715",
      "tree": "06ed3bc11171b69311897f21b4e4eaaad459c722",
      "parents": [
        "31aa6834bad02bd911c57c7278aac1fe792f1e51"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy@groveronline.com",
        "time": "Sun Mar 18 21:49:07 2012 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:14 2014 -0300"
      },
      "message": "python: add proper error handling to loaded_modules()\n\nWe need to check the result of basically all Py* calls and cleanup\nproperly if they fail.\n"
    },
    {
      "commit": "31aa6834bad02bd911c57c7278aac1fe792f1e51",
      "tree": "9bbd752c7c0a5938daa20ba1d5a9961d4a1dd84f",
      "parents": [
        "c73ffc51e5ba45ef0ca86df6a53732a8ebd72d25"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Mar 13 15:06:37 2012 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:14 2014 -0300"
      },
      "message": "python: Improve README\u0027s description of kmod\n\nBased on text from kmod\u0027s README.\n"
    },
    {
      "commit": "c73ffc51e5ba45ef0ca86df6a53732a8ebd72d25",
      "tree": "5dee8fce9c50d702ec4ec8ced969b2ea870a76e9",
      "parents": [
        "3aa27ba9882651a16dfae30daad15480039261e1"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Mar 13 15:01:03 2012 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:14 2014 -0300"
      },
      "message": "python: Make setup.py version match version in .c\n"
    },
    {
      "commit": "3aa27ba9882651a16dfae30daad15480039261e1",
      "tree": "aa249f1b48d077afdeee950f7696f505d3a4cbf6",
      "parents": [
        "8a4d09336e881d1062751b0c62021ca5487a3ae0"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Mar 13 15:00:37 2012 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:14 2014 -0300"
      },
      "message": "python: Add README\n"
    },
    {
      "commit": "8a4d09336e881d1062751b0c62021ca5487a3ae0",
      "tree": "1a429f4a3d8c109d99c0138ab62c41d6a3d49926",
      "parents": [
        "1e688f86a7cda52574cc008d74abf29576d7eac0"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy@groveronline.com",
        "time": "Tue Mar 13 00:42:22 2012 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:14 2014 -0300"
      },
      "message": "python: More cleanup and renaming of stuff. Add docstrings.\n"
    },
    {
      "commit": "1e688f86a7cda52574cc008d74abf29576d7eac0",
      "tree": "125ce67550a17eb8e31f9184d1c3abd833a657f6",
      "parents": [
        "d2042ca0c7fd1463861623310c2a6074eb01f857"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy@groveronline.com",
        "time": "Mon Mar 12 23:16:35 2012 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:14 2014 -0300"
      },
      "message": "python: Add support for listing loaded modules, modprobe, rmmod\n\nAnd other misc. cleanups and changes.\n"
    },
    {
      "commit": "d2042ca0c7fd1463861623310c2a6074eb01f857",
      "tree": "6ca3262409c13953d26f4051bf961c27448bea1f",
      "parents": [
        "a942131e7b448ff174d390555ec5280cccd4a00f"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy@groveronline.com",
        "time": "Mon Mar 12 10:41:51 2012 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:14 2014 -0300"
      },
      "message": "python: use c99 init for struct init\n\nmove casts of pyobject -\u003e kmodobject to the functions from the struct\ninit.\n"
    },
    {
      "commit": "a942131e7b448ff174d390555ec5280cccd4a00f",
      "tree": "b7fa65f6b1c14e19cb96bed50a1d67ff5405e1a1",
      "parents": [
        "cc688e672251ef0d8c9de4b71ec8c3896fdcb57d"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy@groveronline.com",
        "time": "Sat Mar 10 16:51:49 2012 -0800"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:14 2014 -0300"
      },
      "message": "python: a skeleton that compiles\n"
    },
    {
      "commit": "cc688e672251ef0d8c9de4b71ec8c3896fdcb57d",
      "tree": "1c2c12c036138a7e2f69b0f8a7c29e3435ce55c1",
      "parents": [
        "db62153ea0beedbc6941e1d438c0b6e7189e78d9"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy@groveronline.com",
        "time": "Fri Mar 09 17:15:42 2012 -0800"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Mar 25 00:34:14 2014 -0300"
      },
      "message": "python: initial checkin\n"
    },
    {
      "commit": "db62153ea0beedbc6941e1d438c0b6e7189e78d9",
      "tree": "6e45dfc03848934e55abc8df11ee748cd6853a04",
      "parents": [
        "f87dc57a7189bea4777fd645576a7ab1b71e4b96"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Mar 24 23:50:24 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Mar 24 23:50:24 2014 -0300"
      },
      "message": "build-sys: try harder to shut up compiler wrt strict-aliasing\n\nWith -Wstrict-aliasing\u003d2 we get the following warning:\n\n\tlibkmod/libkmod-signature.c:124:20: note: in expansion of macro \u0027get_unaligned\u0027\n\t  sig_len \u003d be32toh(get_unaligned(\u0026modsig-\u003esig_len));\n\nHowever there\u0027s nothing wrong with it. modsig-\u003esig_len is uint32_t and\nget_unaligned in this case returns uint32_t. There\u0027s notstrict aliasing\nviolation.\n"
    },
    {
      "commit": "f87dc57a7189bea4777fd645576a7ab1b71e4b96",
      "tree": "973a52b080c6d295a1fb5162903d762d6dc3b5df",
      "parents": [
        "6d59d9d086e4ca54aeea0fff4494c344d949e6c8"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Mar 24 14:33:50 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Mar 24 23:47:31 2014 -0300"
      },
      "message": "libkmod: Fix unaligned access\n\nFrom Jan Engelhardt:\n\n\tProgram received signal SIGBUS, Bus error.\n\t[Switching to process 11100]\n\t0x00035278 in kmod_module_signature_info (file\u003d0x4eeb8, sig_info\u003d0xffffc254)\n\t    at libkmod/libkmod-signature.c:124\n\t124             sig_len \u003d be32toh(modsig-\u003esig_len);\n\t(gdb) p modsig\n\t$1 \u003d (const struct module_signature *) 0xf7dfe143\n\nmodsig-\u003esig_len can be unaligned if modsig is unaligned, so the padding\nin the struct has no effect since we are mapping it to the mem buffer.\n"
    },
    {
      "commit": "6d59d9d086e4ca54aeea0fff4494c344d949e6c8",
      "tree": "4d6d4c897cebfd03613e8a3599615403ca1ee7ae",
      "parents": [
        "aa72284f83cce506b100d387edd19264415d1429"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Mar 24 07:58:32 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Mar 24 14:54:01 2014 -0300"
      },
      "message": "build-sys: Remove -Werror from CFLAGS\n\nJust let the warnings be emmited, but don\u0027t fail on them.\n"
    },
    {
      "commit": "aa72284f83cce506b100d387edd19264415d1429",
      "tree": "e605b9b4f3feb4e6d1b33a9fe66d84dd97062ae2",
      "parents": [
        "ad7f1757c03122506525c90d3d519a38aa1ceac2"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 20 09:50:12 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Mar 24 14:53:56 2014 -0300"
      },
      "message": "build-sys: Remove bogus line causing warning\n\n./configure: line 14316: xyes: command not found\n\nWe are not using have_manpages, so remove it.\n"
    },
    {
      "commit": "ad7f1757c03122506525c90d3d519a38aa1ceac2",
      "tree": "3a0555b940fcada688795cdf397bd53bdd8ff0ed",
      "parents": [
        "49b33c1f215d5d58838845cbbaefc007bd0f9ac7"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 19 09:15:59 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 19 09:22:20 2014 -0300"
      },
      "message": "Add test for depmod using search dirs with same prefix\n\nTest depmod with search dirs \"foo\" and \"foobar\". Previously to 49b33c1\n(\"depmod: do not allow partial matches with \"search\" directive\") we were\nfailing this test due to matching the prefix without checking if\nit\u0027s the full dir name.\n\nWe are adding 2 tests here in order to catch the case we only pass the\ntest due to processing the directories in a favourable order.\n"
    },
    {
      "commit": "49b33c1f215d5d58838845cbbaefc007bd0f9ac7",
      "tree": "e4ad2555d78a8c3b9e164dbf470f228a58569a04",
      "parents": [
        "aa0abec721707da6cad794a1bf6da9ecdcefbe88"
      ],
      "author": {
        "name": "Anssi Hannula",
        "email": "anssi@mageia.org",
        "time": "Wed Mar 19 01:26:00 2014 +0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 19 09:18:39 2014 -0300"
      },
      "message": "depmod: do not allow partial matches with \"search\" directive\n\nCurrently e.g. \"search foo foobar built-in\" will cause unpredictable\nresults if baz.ko is in both foo/ and foobar/, since \"foo\" in search may\nmatch both of those directories and the preferred module therefore\ndepends on processing order.\n\nFix the code to ensure that the match is performed on full pathname\ncomponents only.\n"
    },
    {
      "commit": "aa0abec721707da6cad794a1bf6da9ecdcefbe88",
      "tree": "f3da2ad83433c765c92e96909c5c3abfb8581be9",
      "parents": [
        "27881f6fbcb0686463f747fbcb8523b20535236a"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 19 07:59:38 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 19 08:52:33 2014 -0300"
      },
      "message": "Add test for simple search order in depmod\n"
    },
    {
      "commit": "27881f6fbcb0686463f747fbcb8523b20535236a",
      "tree": "25632f1008444e84072456797dbddd0a9e170137",
      "parents": [
        "fea655dcb38b9b9cacfb52ed2da2445c204f8c7e"
      ],
      "author": {
        "name": "Anssi Hannula",
        "email": "anssi@mageia.org",
        "time": "Wed Mar 19 01:26:01 2014 +0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 19 07:04:24 2014 -0300"
      },
      "message": "depmod: fix debug print parameter order\n"
    },
    {
      "commit": "fea655dcb38b9b9cacfb52ed2da2445c204f8c7e",
      "tree": "674331cb373398b21cc1581b657301a8f7ef6f77",
      "parents": [
        "632fb7b4634a540bb09af3b2004b3fe44cd4a214"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Fri Mar 07 01:17:10 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Fri Mar 07 01:24:39 2014 -0300"
      },
      "message": "libkmod-elf: Fix check by class in get_modversions()\n\nCommit 51c409b (\"Cache the offset of crc\") unintentinally changed the\ncomparison \"if (elf-\u003eclass \u0026 KMOD_ELF_32)\" to\n\"if (elf-\u003eclass \u003d\u003d KMOD_ELF_32)\".\n\nThis has been reported by Serge Voilokov \u003cserge0x76@gmail.com\u003e:\n\n\tOn Raspberry PI elf-\u003eclass equals KMOD_ELF_32|KMOD_ELF_LSB so\n\tvalid condition should be (elf-\u003eclass \u0026 KMOD_ELF_32) instead of\n\t(elf-\u003eclass \u003d\u003d KMOD_ELF_32).\n\nThis fixes \"modprobe --dump-modversions\" failing on 32b systems.\n"
    },
    {
      "commit": "632fb7b4634a540bb09af3b2004b3fe44cd4a214",
      "tree": "02111cff59455d76445bcb3b21e82a32db47d6a1",
      "parents": [
        "3be5bf464658ec4b7134768feca598fd008d8d21"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Thu Mar 06 18:03:46 2014 +0100"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 23:09:56 2014 -0300"
      },
      "message": "testsuite: Fix uname() during glibc startup\n\nIn a specific configuration (chroot with the linux32 personality), the\nmodprobe_install_cmd_loop test failed, because the bash process handling\nthe install command segfaulted. The backtrace showed a uname() call\nduring libpthread initialization, at which point the environ pointer\nhadn\u0027t been initialized yet:\n\n\tProgram terminated with signal SIGSEGV, Segmentation fault.\n\t#0  0x080c1591 in getenv (name\u003d\u003coptimized out\u003e,\n\t    name@entry\u003d0xf775f850 \"TESTSUITE_UNAME_R\") at getenv.c:81\n\t81\t      for (i \u003d 0, len \u003d strlen (name); environ[i]; i++)\n\t(gdb) bt\n\t#0  0x080c1591 in getenv (name\u003d\u003coptimized out\u003e,\n\t    name@entry\u003d0xf775f850 \"TESTSUITE_UNAME_R\") at getenv.c:81\n\t#1  0xf775f754 in uname (u\u003du@entry\u003d0xff946350) at testsuite/uname.c:32\n\t#2  0xf74ffc6c in is_smp_system ()\n\t    at ../nptl/sysdeps/unix/sysv/linux/i386/smp.h:39\n\t#3  __pthread_initialize_minimal_internal () at nptl-init.c:460\n\t#4  0xf74fe32c in _init () at ../sysdeps/i386/crti.S:74\n\t#5  0x00000000 in ?? ()\n\t(gdb) p environ\n\t$1 \u003d (char **) 0x0\n\nI don\u0027t know why it only happend in the chroot, but glibc can call its\nown functions and impose any restrictions before main() is started, so\nwe have to adapt.\n\nAlso, do not return error if there is an environment, but the\nenvironment variable is not found. If uname() is called by kmod, then\nthe respective test will simply fail later. If it\u0027s something else\ncalling uname(), then we do not want to disturb the program.\n"
    },
    {
      "commit": "3be5bf464658ec4b7134768feca598fd008d8d21",
      "tree": "bef5e6fe4e36c502366fa05b2e2cc3a96bdb54e3",
      "parents": [
        "eb18b26905fc6ae0fa55308ba6b5165e6b4b4478"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 02:47:05 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 02:47:05 2014 -0300"
      },
      "message": "man: use systemd as example instead of udev\n\nNowadays udev doesn\u0027t create nodes in /dev anymore. This role is rather\ntaken by systemd-tmpfiles on early boot so reference it generically as\nsystemd.\n"
    },
    {
      "commit": "eb18b26905fc6ae0fa55308ba6b5165e6b4b4478",
      "tree": "b000db99cd5833e7c0280915f9f35160ff5d0b7d",
      "parents": [
        "bccb4b2545a409a909d2ad1bc19a73300ae07c49"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 02:46:27 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 02:46:27 2014 -0300"
      },
      "message": "man: clarify the support to modules.dep file\n"
    },
    {
      "commit": "bccb4b2545a409a909d2ad1bc19a73300ae07c49",
      "tree": "495f59df5a845548cbdf52677ade569bd3d8ee82",
      "parents": [
        "06eb29e1171e5def51554adf559b78597e559bbe"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Feb 24 10:52:58 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 02:07:20 2014 -0300"
      },
      "message": "build-sys: Do not require xsltproc for installation of man pages\n\nSame reason as found in this commit to systemd:\n\n\tcommit 4ca39b280fce3c60d2fdecbd478fd9bf7f9d3e64\n\tAuthor: Mike Gilbert \u003cfloppym@gentoo.org\u003e\n\tDate:   Sun Feb 23 11:21:13 2014 -0500\n\n\t    configure: Do not require xsltproc for installation of man pages\n\n\t    The release tarballs ship with pre-generated man pages, so we do not\n\t    need xsltproc for a typical end-user build.\n\n\t    Developers will probably have xsltproc anyway, but if not they will now\n\t    encounter a build-time failure instead of an error in configure.\n"
    },
    {
      "commit": "06eb29e1171e5def51554adf559b78597e559bbe",
      "tree": "726b03a4581f9340328398508719f4f7a6505667",
      "parents": [
        "49776627e60f2718c9511569e73e4d671065dd61"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 01:51:33 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 01:59:58 2014 -0300"
      },
      "message": "build-sys: add small redirecting Makefiles\n\nThese redirecting makefiles simplifies compiling from some editors and\nwhen CWD is not the root of the source tree. This is similar to what was\nintroduced in systemd in 340d89e (\"build-sys: add small redirecting\nMakefiles to simplify compilation from within emacs\")\n"
    },
    {
      "commit": "49776627e60f2718c9511569e73e4d671065dd61",
      "tree": "d8f6c05ad045fef7866b022fb39ef1968535caf0",
      "parents": [
        "42149024828509d93dd7d93464ac96b040160ba1"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 01:36:02 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 01:36:02 2014 -0300"
      },
      "message": "testsuite: add test for \u0027.\u0027 correctly parsed in param\u0027s value\n\nIn kcmdline it\u0027s possible to have a dot in the param\u0027s value. The\nsupport for this was added in 66f3228 (\"libkmod: Add support for \u0027.\u0027 in\nmodule parameter on kcmdline\") and is needed to correctly support some\nmodules that depend on it.\n\nThis test was added in order to make sure the commit  aa87854\n(\"libkmod-config: Only match dot before \u0027\u003d\u0027 in /proc/cmdline\") didn\u0027t\nbreak it. Although that commit  message says it\u0027s allowing to match a\ndot before \u0027\u003d\u0027 it\u0027s actually enforcing the first part of the string to\nbe always in the format \"\u003cmodule-name\u003e.param\". Dots after \u0027\u003d\u0027 are still\ncorrectly allowed.\n"
    },
    {
      "commit": "42149024828509d93dd7d93464ac96b040160ba1",
      "tree": "68f97149b9a2c6a4b739f7c45256938bf64fc573",
      "parents": [
        "bad84a9e6ef3f3ee0fb214d2b55d61b2e55aff2f"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 01:24:32 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 01:30:56 2014 -0300"
      },
      "message": "testsuite: add test to ignore unrelated strings in kcmdline\n\nStrings unrelated to modules and modprobe should be ignored and not\nappear in the output of \"modprobe -c\".\n\nThis adds a test for the fix provided in aa87854 (\"libkmod-config: Only\nmatch dot before \u0027\u003d\u0027 in /proc/cmdline\").\n"
    },
    {
      "commit": "bad84a9e6ef3f3ee0fb214d2b55d61b2e55aff2f",
      "tree": "1adc6dcc173059b151289ec32feee0ac6dbaf051",
      "parents": [
        "55bcc4a5bdb8cf9317de4420584f676515c1f763"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 01:14:12 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 01:30:08 2014 -0300"
      },
      "message": "testsuite: give a more suitable description to test\n\nWe are not only checking if those options are correctly parsed from\nkcmdline, but if in fact they are being passed to the final\n(f)init_module call. This is why we use \u0027modprobe --show-depends\u0027\ninstead of the simpler \u0027modprobe -c\u0027.\n"
    },
    {
      "commit": "55bcc4a5bdb8cf9317de4420584f676515c1f763",
      "tree": "9eeea880fc973ccf88da390f7d7244de50e075cb",
      "parents": [
        "aa878540e6f3825cd5cc86d0771e203a6da6231a"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 01:09:30 2014 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Mar 06 01:29:41 2014 -0300"
      },
      "message": "testsuite: add test for kcmdline params with no value\n\nUse \"modprobe -c\" to dump the configuration. Since we configure our\nrootfs to have only a /proc/cmdline file, this should dump the knowledge\nwe have from its parsed content.\n\nTest if \u003cmodule\u003e.option, without any value is correctly parsed, as fixed\nin commit 493dc65 (\"libkmod: Fix getting param with no value from kcmdline\")\n"
    },
    {
      "commit": "aa878540e6f3825cd5cc86d0771e203a6da6231a",
      "tree": "5839fa4093ee4fbbbb30afc1fbdad44f24d2f08d",
      "parents": [
        "519d27de5a209e3b64453e982feb6882ffd839c8"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Wed Mar 05 13:27:41 2014 +0100"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 05 12:30:52 2014 -0300"
      },
      "message": "libkmod-config: Only match dot before \u0027\u003d\u0027 in /proc/cmdline\n\nOtherwise, we also parse strings like\n\n  BOOT_IMAGE\u003d/boot/vmlinuz-3.12.12-57.g5f654cf-default\n\nIn practice, this is not a problem, because there is no module named\nBOOT_IMAGE\u003d/boot/vmlinuz-3. It just disturbs in modprobe -c output.\n"
    },
    {
      "commit": "519d27de5a209e3b64453e982feb6882ffd839c8",
      "tree": "13f2d4eb1f83c44ef70af985c424b20217898ed9",
      "parents": [
        "c2f4d85a9adea895958fc85b9b87ce95a7dc7774"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Tue Mar 04 16:51:25 2014 +0100"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 05 12:27:24 2014 -0300"
      },
      "message": "libkmod-config,depmod: Accept special files as configuration files, too\n\nIf we can open it and read it, it\u0027s good enough for us. Otherwise, we\ncannot use -C /dev/null to skip the system configuration for instance:\n\n$ ./tools/modprobe -C /dev/null -c\nlibkmod: ERROR libkmod/libkmod-config.c:821 conf_files_list: unsupported\nfile mode /dev/null: 0x21b6\n...\n"
    },
    {
      "commit": "c2f4d85a9adea895958fc85b9b87ce95a7dc7774",
      "tree": "c207e5f1700af8ea919ad2a2d9709d2bbb8ff6d0",
      "parents": [
        "be29c40e25b71d35708b9fad5772ebcd8e4685b3"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Fri Feb 28 13:05:32 2014 +0100"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 05 12:22:37 2014 -0300"
      },
      "message": "libkmod-module: Simplify kmod_module_insert_module()\n\nStore the file and elf pointer in the kmod_module structure and have it\nfreed together with the module.\n"
    },
    {
      "commit": "be29c40e25b71d35708b9fad5772ebcd8e4685b3",
      "tree": "f6ba35d7fe01e11678cc8c356d637c3ac9277b10",
      "parents": [
        "063086e038657de64f9980bc51954b0817fa8e6c"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Fri Feb 28 13:05:31 2014 +0100"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 05 12:22:37 2014 -0300"
      },
      "message": "Add some tests for kernels without finit_module(2)\n"
    },
    {
      "commit": "063086e038657de64f9980bc51954b0817fa8e6c",
      "tree": "d4a83ad2ca1c20ece3194e1354e67e0b672feb8e",
      "parents": [
        "2ce5de0ae6c191920a4eeeab757ccfad092d9e0f"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Fri Feb 28 13:05:30 2014 +0100"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 05 12:22:37 2014 -0300"
      },
      "message": "testsuite: Do not provide finit_module(2) on older kernels\n\nIf the test\u0027s uname -r is less that 3.8, return -ENOSYS from\nfinit_module(), so that the fallback is tested.\n"
    },
    {
      "commit": "2ce5de0ae6c191920a4eeeab757ccfad092d9e0f",
      "tree": "ed254c5f0f89f9dbf743b7df7cc7b71d82212561",
      "parents": [
        "88ac40840f0d13aaca844bb7198c252178968878"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Fri Feb 28 13:05:29 2014 +0100"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 05 12:22:37 2014 -0300"
      },
      "message": "testsuite: Add test for modprobe --force\n\nThere is no check if the correct flags are passed to finit_module, but\nat least we cover the respective code path in kmod.\n"
    },
    {
      "commit": "88ac40840f0d13aaca844bb7198c252178968878",
      "tree": "2374655f32dc6441f383ee025ebe8f1926f25aa0",
      "parents": [
        "a4bd1441e5c7e8903a9ae065801d4f06f13d06e9"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Fri Feb 28 13:05:28 2014 +0100"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Wed Mar 05 12:22:37 2014 -0300"
      },
      "message": "testsuite: Check the list of loaded modules after a test\n\nAdd a -\u003emodules_loaded member to struct test, which is a comma-separated\nlist of modules that should be present after the test finishes. Both\nmissing and excess modules cause an error.\n"
    },
    {
      "commit": "a4bd1441e5c7e8903a9ae065801d4f06f13d06e9",
      "tree": "f6c590274a26dc7e45040ca5247b7b431444ead5",
      "parents": [
        "3d51a2f6ef28766e5c3512b00b20e734e14a969c"
      ],
      "author": {
        "name": "Stephen Kitt",
        "email": "steve@sk2.org",
        "time": "Sun Jan 26 18:00:23 2014 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Sun Jan 26 18:00:23 2014 -0200"
      },
      "message": "Remove \"rmmod -w\" documentation and getopt entry\n\nThis patch removes the cmdopts declaration and the documentation. They\nwere leftover from the -w removal.\n"
    },
    {
      "commit": "3d51a2f6ef28766e5c3512b00b20e734e14a969c",
      "tree": "924b6690a8e8698aa2ac67e28923e2afd7b6b51c",
      "parents": [
        "366e2ed7913410bfd5b2bcbe88128686f153d501"
      ],
      "author": {
        "name": "Lukas Berk",
        "email": "lberk@redhat.com",
        "time": "Thu Jan 23 14:08:58 2014 -0500"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Fri Jan 24 10:23:30 2014 -0200"
      },
      "message": "man: insmod documentation fix\n\nAdd comma between lsmod(8) and modinfo(8)\n\nSigned-off-by: Lukas Berk \u003clberk@redhat.com\u003e\n"
    },
    {
      "commit": "366e2ed7913410bfd5b2bcbe88128686f153d501",
      "tree": "21e88fb37ef584466810c2f923715542ee3e3ef9",
      "parents": [
        "2726da57686a6015047b8c4a73b0a664b82b2758"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Jan 21 14:03:02 2014 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Jan 21 14:03:02 2014 -0200"
      },
      "message": "Remove duplicate includes\n\nFound by\nhttps://raw.github.com/karelzak/util-linux/master/tools/checkincludes.pl\n"
    },
    {
      "commit": "2726da57686a6015047b8c4a73b0a664b82b2758",
      "tree": "60346c4524127bc1e2a321ba40556ce9cf1e6a3e",
      "parents": [
        "36c4bb928a6a7962dd0ad3aa64c0b18120ca5b46"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Jan 02 17:13:38 2014 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Jan 02 17:13:38 2014 -0200"
      },
      "message": "man: Change my contact email address\n"
    },
    {
      "commit": "36c4bb928a6a7962dd0ad3aa64c0b18120ca5b46",
      "tree": "9a796e13f71a4b8ad778b89e8f0d2e2de694b274",
      "parents": [
        "d96ca9c42930a2a0942b807b9afb3053f38ec9b9"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Sun Dec 22 19:45:19 2013 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Sun Dec 22 19:45:19 2013 -0200"
      },
      "message": "kmod 16\n"
    },
    {
      "commit": "d96ca9c42930a2a0942b807b9afb3053f38ec9b9",
      "tree": "b60b2b71eee2f24076a25dcd70fa009dd9d9393b",
      "parents": [
        "9f02561d84235608c3c97ef97e957e331a4c1d82"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Dec 17 19:10:16 2013 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Dec 17 19:10:16 2013 -0200"
      },
      "message": "Use C11\u0027s noreturn\n\nAlso define noreturn w/o \u003cstdnoreturn.h\u003e and move it to macro.h instead\nof in the testsuite.\n\nBased on similar commit on systemd by Shawn Landden\n\u003cshawn@churchofgit.com\u003e.\n"
    },
    {
      "commit": "9f02561d84235608c3c97ef97e957e331a4c1d82",
      "tree": "a486087bbc1c1d07a46416b946dd2680c719a8a8",
      "parents": [
        "d3c16c7946e72b8b88cb41b95dc3d014d24f0e8a"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 11:52:53 2013 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 11:56:57 2013 -0200"
      },
      "message": "module: use _cleanup_free and remove useless call to free()\n"
    },
    {
      "commit": "d3c16c7946e72b8b88cb41b95dc3d014d24f0e8a",
      "tree": "2fbb66359cd27e36ccbed141e03052ef5858ab2e",
      "parents": [
        "cacbcc4215f65c3ae1a49e9b3c6858226f56e1a2"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 11:43:10 2013 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 11:43:10 2013 -0200"
      },
      "message": "file: use _cleanup_free_\n"
    },
    {
      "commit": "cacbcc4215f65c3ae1a49e9b3c6858226f56e1a2",
      "tree": "638ca9007d008392aa7a9c3782eda9bc71f51b74",
      "parents": [
        "9c306bad2e0ad2d032d248dc2067e0f66daab643"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 11:28:28 2013 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 11:29:11 2013 -0200"
      },
      "message": "array: avoid duplicate code to reallocate\n"
    },
    {
      "commit": "9c306bad2e0ad2d032d248dc2067e0f66daab643",
      "tree": "23467738cd94371e2bf58799506e52efa2fe522f",
      "parents": [
        "1dda626f6b2ba5975467a5507277d632f615a5ce"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 05:31:14 2013 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 11:01:16 2013 -0200"
      },
      "message": "util: Be OOM-safe and use _cleanup_free_\n"
    },
    {
      "commit": "1dda626f6b2ba5975467a5507277d632f615a5ce",
      "tree": "9504ccae3b65a8a188dfe055ac82ceac33686042",
      "parents": [
        "b93d800640ca4ebe433400abcf743d9521b3f58a"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 05:13:59 2013 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 11:01:16 2013 -0200"
      },
      "message": "testsuite: add basic test for getline_wrapped\n"
    },
    {
      "commit": "b93d800640ca4ebe433400abcf743d9521b3f58a",
      "tree": "7ae947edc357153626e5b6b3bc7ffc5f62cf460d",
      "parents": [
        "342e9cea262578ca847678692b2cc73d659434fd"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Nov 14 04:16:16 2013 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 05:22:33 2013 -0200"
      },
      "message": "util: use _cleanup_free_ on path_make_absolute_cwd()\n"
    },
    {
      "commit": "342e9cea262578ca847678692b2cc73d659434fd",
      "tree": "e4781c340f8fbe7cdda8e480afd6d1a8a1e2ed08",
      "parents": [
        "d7aa6e23fcf69ef71d411fb154ffe6409a7a00fd"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Nov 14 00:33:28 2013 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 04:35:04 2013 -0200"
      },
      "message": "config: Use _cleanup_free_\n"
    },
    {
      "commit": "d7aa6e23fcf69ef71d411fb154ffe6409a7a00fd",
      "tree": "103c17366678b9741622103db47b005250577d78",
      "parents": [
        "807c601df259d577f7a285c87d58bff8cb81ac30"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Nov 14 00:19:15 2013 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 04:35:04 2013 -0200"
      },
      "message": "util: Add cleanup attribute\n"
    },
    {
      "commit": "807c601df259d577f7a285c87d58bff8cb81ac30",
      "tree": "751fcd3c5e34d6e35cdcb0f64329252a8ac71864",
      "parents": [
        "f5cc26c77d2f332a9b40f51f0ec72e95711edf1e"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 04:32:45 2013 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Mon Nov 18 04:35:03 2013 -0200"
      },
      "message": "testsuite: Move test-alias to test-util\n\nMove file so we can use the same file to test other functions from\nlibkmod-util.c\n"
    },
    {
      "commit": "f5cc26c77d2f332a9b40f51f0ec72e95711edf1e",
      "tree": "40a2ee1abc366edfddcd81e022950606379551a0",
      "parents": [
        "b3e0a07566b1544b2bd9df6f611ad9d2d2128709"
      ],
      "author": {
        "name": "Anders Olofsson",
        "email": "anders.olofsson@axis.com",
        "time": "Sun Nov 10 23:41:25 2013 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Sun Nov 10 23:41:32 2013 -0200"
      },
      "message": "build: Allow disabling maintainer mode\n\nThis allows make rules for generated build files (i.e.  configure,\nMakefile.in, ... ) to be skipped.  This is useful when\nthe source is stored without timestamps (for example in CVS or GIT).\n\nWhen the build rules trigger to regenerate the build files, it tries to\nuse the same autotools version (currently 1.14) as was originally used\nfor the release.  Since many of our build machines run Debian Squeeze,\nthey only have autotools 1.11 available and the build fails.\n\nCurrently, we have to work around this by touching all the generated\nfiles before building to avoid triggering the make rule. With this\npatch, we would be able to just run configure with\n--disable-maintainer-mode instead.  The patch sets the default to enable\nto not change the default behavior.\n"
    },
    {
      "commit": "b3e0a07566b1544b2bd9df6f611ad9d2d2128709",
      "tree": "8734056385d77c4f64f66be3c2f3e62bd39e8cc2",
      "parents": [
        "518daf4fd1f3a08e2624375079bc9fc93958ca0d"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Sat Oct 26 02:51:05 2013 -0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Sat Oct 26 02:54:21 2013 -0200"
      },
      "message": "build-sys: enable colored diagnostics if available\n"
    },
    {
      "commit": "518daf4fd1f3a08e2624375079bc9fc93958ca0d",
      "tree": "e5dc9df364fa2b50257ecf4f40ae21e2341f5631",
      "parents": [
        "16535abe3a6823b0abd01c0dbc8f64aa43c58d16"
      ],
      "author": {
        "name": "Saul Wold",
        "email": "sgw@linux.intel.com",
        "time": "Wed Oct 09 23:49:48 2013 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Oct 10 11:23:44 2013 -0300"
      },
      "message": "Makefile.am: add mkdir testsuite\n\nIf we are note building in the existing source tree and have disabled\ndependency-tracking then the testsuite directory is not created during\nthe configure phase and will not exist when the cp of ROOTFS_PRISTINE\noccurs, thus causing an error and fail.\n"
    },
    {
      "commit": "16535abe3a6823b0abd01c0dbc8f64aa43c58d16",
      "tree": "481af217995bc06d2106545335ab8f83b605b4c0",
      "parents": [
        "8f67ab5340bdba008503019d6941c06e5de534af"
      ],
      "author": {
        "name": "Saul Wold",
        "email": "sgw@linux.intel.com",
        "time": "Wed Oct 09 18:09:52 2013 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Oct 10 01:17:09 2013 -0300"
      },
      "message": "Makefile.am: Add target to all cross-compilation of testsuite\n\nThe buildtest-TESTS target allows for cross-compilation of the testsuites\nwithout the actual running of the tests that check normally does.\n"
    },
    {
      "commit": "8f67ab5340bdba008503019d6941c06e5de534af",
      "tree": "bd3ae942256055d8378da718bc554a487a64d733",
      "parents": [
        "017893f244dd9e6d16311743121ca82e39ab5a01"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Fri Sep 20 01:50:40 2013 -0500"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Fri Sep 20 01:50:40 2013 -0500"
      },
      "message": "NEWS: add entries\n"
    },
    {
      "commit": "017893f244dd9e6d16311743121ca82e39ab5a01",
      "tree": "5ac4c59b53551b596647cb6a1ab0078f5b5c23c1",
      "parents": [
        "7ab8804448377fb6b8854f2dd288608db01bb43b"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Fri Sep 20 01:40:58 2013 -0500"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Fri Sep 20 01:42:04 2013 -0500"
      },
      "message": "rmmod: remove --wait option\n\nLet libkmod enforce KMOD_REMOVE_NOWAIT.\n"
    },
    {
      "commit": "7ab8804448377fb6b8854f2dd288608db01bb43b",
      "tree": "b45f97fbe7f859aa4072988b9cb4df485e736724",
      "parents": [
        "82fc7d986cdc60aeb34224f59a92a04e2d514da9"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Fri Sep 20 01:30:07 2013 -0500"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Fri Sep 20 01:37:24 2013 -0500"
      },
      "message": "libkmod: always pass O_NONBLOCK to kernel\n\nNot passsing O_NONBLOCK to delete_module() is deprecated since kmod 11\nand is being removed from the kernel. Force this flag in libkmod.\n"
    },
    {
      "commit": "82fc7d986cdc60aeb34224f59a92a04e2d514da9",
      "tree": "bc8e205d6950aca01ddccd547eabb3f0b13e3c52",
      "parents": [
        "3ba7f59e84857eb4dbe56a68fc7a3ffe8a650393"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Aug 22 01:36:45 2013 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Fri Sep 20 01:10:37 2013 -0500"
      },
      "message": "libkmod-hash: always align n_buckets to power of 2\n\nBy aligning n_buckets to power of 2 we can turn the \"bucket \u003d hashval %\nn_buckets\" into a less expensive bucket \u003d hashval \u0026 (n_buckets - 1).\nThis removes the DIV instruction as shown below.\n\nBefore:\n\txor    %edx,%edx\n\tdivl   0x8(%rbx)\n\tmov    %edx,%eax\n\tadd    $0x1,%rax\n\tshl    $0x4,%rax\n\tadd    %rbx,%rax\n\nAfter:\n\tlea    -0x1(%rdi),%edx\n\tand    %edx,%eax\n\tadd    $0x1,%rax\n\tshl    $0x4,%rax\n\tadd    %rbx,%rax\n\nWith a microbenchmark, measuring the time to locate the bucket (i.e.\ntime_to_calculate_hashval + time_to_calculate_bucket_position) we have\nthe results below (time in clock cycles):\n\n\tkeylen      before   after\n\t2-10          79.0    61.9 (-21.65%)\n\t11-17         81.0    64.4 (-20.48%)\n\t18-25         90.0    73.2 (-18.69%)\n\t26-32        104.7    87.0 (-16.82%)\n\t33-40        108.4    89.6 (-17.37%)\n\t41-48        111.2    91.9 (-17.38%)\n\t49-55        120.1   102.1 (-15.04%)\n\t56-63        134.4   115.7 (-13.91%)\n\nAs expected the gain is constant, regardless of the key length.\nThe time to clculate the hashval varies with the key length, which\nexplains the bigger gains for short keys.\n"
    },
    {
      "commit": "3ba7f59e84857eb4dbe56a68fc7a3ffe8a650393",
      "tree": "14f75fb0dcf0469fdf2aaeecd658ff97fb97cac5",
      "parents": [
        "6506ddf5a37849049509324eeff72697f94584e3"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Thu Aug 22 01:10:13 2013 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Fri Sep 20 01:08:46 2013 -0500"
      },
      "message": "util: Add ALIGN_POWER2\n\nAdd static inline function to align a value to it\u0027s next power of 2.\nThis is commonly done by a SWAR like the one in:\n\nhttp://aggregate.org/MAGIC/#Next Largest Power of 2\n\nHowever a microbench shows that the implementation herer is a faster.\nIt doesn\u0027t really impact the possible user of this function, but it\u0027s\ninteresting nonetheless.\n\nUsing a x86_64 i7 Ivy Bridge it shows a ~4% advantage by using clz\ninstead instead of the OR and SHL chain. And this is by using a BSR\nsince Ivy Bridge doesn\u0027t have LZCNT. New Haswell processors have the\nLZCNT instruction which can make this even better. ARM also has a CLZ\ninstruction so it should be better, too.\n\nCode used to test:\n\n\t...\n\tv \u003d val[i];\n\tt1 \u003d get_cycles(0);\n\ta \u003d ALIGN_POWER2(v);\n\tt1 \u003d get_cycles(t1);\n\n\tt2 \u003d get_cycles(0);\n\tv \u003d nlpo2(v);\n\tt2 \u003d get_cycles(t2);\n\n\tprintf(\"%u\\t%llu\\t%llu\\t%d\\n\", v, t1, t2, v \u003d\u003d a);\n\t...\n\nIn which val is an array of 20 random unsigned int, nlop2 is the SWAR\nimplementation and get_cycles uses RDTSC to measure the performance.\n\nAverages:\n\tALIGN_POWER2: \t30 cycles\n\tnlop2:\t\t31.4 cycles\n"
    },
    {
      "commit": "6506ddf5a37849049509324eeff72697f94584e3",
      "tree": "ba2f3373c2a22b8307296ae73ff2c20fc8b4b2cf",
      "parents": [
        "4c2dc16a2ef46cf139f505379927a68fdb798ce9"
      ],
      "author": {
        "name": "Tom Gundersen",
        "email": "teg@jklm.no",
        "time": "Mon Sep 09 20:01:01 2013 +0200"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@intel.com",
        "time": "Tue Sep 10 00:49:41 2013 -0300"
      },
      "message": "depmod: warn on invalid devname specification\n\nDuring the last merge window (3.12) a couple of modules gained devname\naliases, but without the necessary major and minor information. These were\nthen silently ignored when generating modules.devname.\n\nComplain loudly to avoid such errors sneaking in undetected in the future:\n\n    depmod: ERROR: Module \u0027zram\u0027 has devname (zram) but lacks major and minor information. Ignoring.\n    depmod: ERROR: Module \u0027uhid\u0027 has devname (uhid) but lacks major and minor information. Ignoring.\n\nCc: Kay Sievers \u003ckay@vrfy.org\u003e\nCc: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    }
  ],
  "next": "4c2dc16a2ef46cf139f505379927a68fdb798ce9"
}
