)]}'
{
  "log": [
    {
      "commit": "5dae9a550a7478c8d6a7da2336d3ceeebf90ab84",
      "tree": "15936b08138ed2f8abfee946c3f2c31b76a4e491",
      "parents": [
        "64e6c1e12372840e7caf8e25325a9e9c5fd370e6"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Mon Dec 01 14:21:03 2008 -0800"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Dec 03 22:33:12 2008 +0100"
      },
      "message": "genksyms: allow to ignore symbol checksum changes\n\nThis adds an \"override\" keyword for use in *.symvers / *.symref files.\nWhen a symbol is overridden, the symbol\u0027s old definition will be used for\ncomputing checksums instead of the new one, preserving the previous\nchecksum.  (Genksyms will still warn about the change.)\n\nThis is meant to allow distributions to hide minor actual as well as fake\nABI changes.  (For example, when extra type information becomes available\nbecause additional headers are included, this may change checksums even\nthough none of the types used have actully changed.)\n\nThis approach also allows to get rid of \"#ifdef __GENKSYMS__\" hacks in the\ncode, which are currently used in some vendor kernels to work around\nchecksum changes.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "64e6c1e12372840e7caf8e25325a9e9c5fd370e6",
      "tree": "aa47aa4e170dd4bb39c99cc7356231e2c61d64d2",
      "parents": [
        "a680eedc6c621c75695c68198533fc3c98f4053b"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Mon Dec 01 14:21:01 2008 -0800"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Dec 03 22:33:11 2008 +0100"
      },
      "message": "genksyms: track symbol checksum changes\n\nSometimes it is preferable to avoid changes of exported symbol checksums\n(to avoid breaking externally provided modules).  When a checksum change\noccurs, it can be hard to figure out what caused this change: underlying\ntypes may have changed, or additional type information may simply have\nbecome available at the point where a symbol is exported.\n\nAdd a new --reference option to genksyms which allows it to report why\nchecksums change, based on the type information dumps it creates with the\n--dump-types flag.  Genksyms will read in such a dump from a previous run,\nand report which symbols have changed (and why).\n\nThe behavior can be controlled for an entire build as follows: If\nKBUILD_SYMTYPES is set, genksyms uses --dump-types to produce *.symtypes\ndump files.  If any *.symref files exist, those will be used as the\nreference to check against.  If KBUILD_PRESERVE is set, checksum changes\nwill fail the build.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "15fde6751886fd972a64ed65ba49db309919c504",
      "tree": "513c1eec2135f65ba0d980627346f7c07ad2b897",
      "parents": [
        "3041e47e8b08d51188b2cbdbd9c1e6f43314c8f1"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Tue May 09 20:37:30 2006 +0200"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Sat Jun 24 23:42:46 2006 +0200"
      },
      "message": "kbuild: support for %.symtypes files\n\nHere is a patch that adds a new -T option to genksyms for generating dumps of\nthe type definition that makes up the symbol version hashes. This allows to\ntrace modversion changes back to what caused them. The dump format is the\nname of the type defined, followed by its definition (which is almost C):\n\n  s#list_head struct list_head { s#list_head * next , * prev ; }\n\nThe s#, u#, e#, and t# prefixes stand for struct, union, enum, and typedef.\nThe exported symbols do not define types, and thus do not have an x# prefix:\n\n  nfs4_acl_get_whotype int nfs4_acl_get_whotype ( char * , t#u32 )\n\nThe symbol type defintion of a single file can be generated with:\n\n  make fs/jbd/journal.symtypes\n\nIf KBUILD_SYMTYPES is defined, all the *.symtypes of all object files that\nexport symbols are generated.\n\nThe single *.symtypes files can be combined into a single file after a kernel\nbuild with a script like the following:\n\nfor f in $(find -name \u0027*.symtypes\u0027 | sort); do\n    f\u003d${f#./}\n    echo \"/* ${f%.symtypes}.o */\"\n    cat $f\n    echo\ndone \\\n| sed -e \u0027\\:UNKNOWN:d\u0027 \\\n      -e \u0027s:[,;] }:}:g\u0027 \\\n      -e \u0027s:\\([[({]\\) :\\1:g\u0027 \\\n      -e \u0027s: \\([])},;]\\):\\1:g\u0027 \\\n      -e \u0027s: $::\u0027 \\\n      $f \\\n| awk \u0027\n/^.#/   { if (defined[$1] \u003d\u003d $0) {\n            print $1\n            next\n          }\n          defined[$1] \u003d $0\n        }\n        { print }\n\u0027\n\nWhen the kernel ABI changes, diffing individual *.symtype files, or the\ncombined files, against each other will show which symbol changes caused the\nABI changes. This can save a tremendous amount of time.\n\nDump the types that make up modversions\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "ce560686947fd50b30eaf42045554797f53949dd",
      "tree": "ae04b6c366eec6c6ff9726a8034ffd61c269ce1b",
      "parents": [
        "78c041530ac2e65c9290137bfe3004340e0840d2"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Sun Mar 12 23:26:29 2006 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Sun Mar 12 23:26:29 2006 +0100"
      },
      "message": "kbuild: clean-up genksyms\n\no remove all inlines\no declare everything static which is only used by genksyms.c\no delete unused functions\no delete unused variables\no delete unused stuff in genksyms.h\no properly ident genksyms.h\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
