Show a cover letter.

GET /api/covers/63399/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 63399,
    "url": "http://patches.dpdk.org/api/covers/63399/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20191129210905.1865-1-kevin.laatz@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20191129210905.1865-1-kevin.laatz@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20191129210905.1865-1-kevin.laatz@intel.com",
    "date": "2019-11-29T21:08:58",
    "name": "[v3,0/7] Add ABI compatibility checks to the meson build",
    "submitter": {
        "id": 921,
        "url": "http://patches.dpdk.org/api/people/921/?format=api",
        "name": "Kevin Laatz",
        "email": "kevin.laatz@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20191129210905.1865-1-kevin.laatz@intel.com/mbox/",
    "series": [
        {
            "id": 7693,
            "url": "http://patches.dpdk.org/api/series/7693/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=7693",
            "date": "2019-11-29T21:08:58",
            "name": "Add ABI compatibility checks to the meson build",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/7693/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/63399/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 588FFA04E0;\n\tFri, 29 Nov 2019 22:09:24 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 3773D9E4;\n\tFri, 29 Nov 2019 22:09:23 +0100 (CET)",
            "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n by dpdk.org (Postfix) with ESMTP id 678FC235\n for <dev@dpdk.org>; Fri, 29 Nov 2019 22:09:21 +0100 (CET)",
            "from orsmga008.jf.intel.com ([10.7.209.65])\n by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n 29 Nov 2019 13:09:19 -0800",
            "from silpixa00399838.ir.intel.com (HELO\n silpixa00399838.ger.corp.intel.com) ([10.237.222.120])\n by orsmga008.jf.intel.com with ESMTP; 29 Nov 2019 13:09:17 -0800"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.69,258,1571727600\"; d=\"scan'208\";a=\"203832617\"",
        "From": "Kevin Laatz <kevin.laatz@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "david.marchand@redhat.com, thomas@monjalon.net,\n bruce.richardson@intel.com,\n ray.kinsella@intel.com, Kevin Laatz <kevin.laatz@intel.com>",
        "Date": "Fri, 29 Nov 2019 21:08:58 +0000",
        "Message-Id": "<20191129210905.1865-1-kevin.laatz@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20191129171024.56165-1-kevin.laatz@intel.com>",
        "References": "<20191129171024.56165-1-kevin.laatz@intel.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v3 0/7] Add ABI compatibility checks to the meson\n\tbuild",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "With the recent changes made to stabilize ABI versioning in DPDK, it will\nbecome increasingly important to check patches for ABI compatibility. We\npropose adding the ABI compatibility checking to be done as part of the\nbuild.\n\nThe advantages to adding the ABI compatibility checking to the build are\ntwo-fold. Firstly, developers can easily check their patches to make sure\nthey don’t break the ABI without adding any extra steps. Secondly, it\nmakes the integration into existing CI seamless since there are no extra\nscripts to make the CI run. The build will run as usual and if an\nincompatibility is detected in the ABI, the build will fail and show the\nincompatibility. As an added bonus, enabling the ABI compatibility checks\ndoes not impact the build speed.\n\nThe proposed solution works as follows:\n1. Generate the ABI dump of the baseline. This can be done with the new\n   script added in this RFC. This step will only need to be done when the\n   ABI version changes (so once a year) and can be added to master so it\n   exists by default. This step can be skipped if the dump files for the\n   baseline already exist.\n2. Build with meson. If there is an ABI incompatibility, the build will\n   fail and print the incompatibility information.\n\nThe patches accompanying this RFC add the ABI dump file generating script,\nthe meson option required to enable/disable the checks, and the required\nmeson changes to run the compatibility checks during the build.\n\n---\nv2:\n  - Rebased on master for 19.11.\n  - Moved the experimental syms checks next to the abi checks. This also\n    removed the dependency on the experimental checks from the shared\n    build.\n  - General cleanup.\n\nv3:\n  - Fixed typo in meson option name in buildtools/meson.build.\n\nBruce Richardson (2):\n  build: enable debug info by default in meson builds\n  build: use meson warning levels\n\nKevin Laatz (5):\n  devtools: add abi dump generation script\n  build: add meson option for abi related checks\n  build: add lib abi checks to meson\n  build: add drivers abi checks to meson\n  build: clean up experimental syms check\n\n buildtools/meson.build   |  4 ++++\n config/meson.build       | 40 +++++++++++++++++++++-------------------\n devtools/gen-abi-dump.sh | 24 ++++++++++++++++++++++++\n drivers/meson.build      | 34 ++++++++++++++++++++++++----------\n lib/meson.build          | 34 ++++++++++++++++++++++++----------\n meson.build              |  9 ++++++++-\n meson_options.txt        |  2 ++\n 7 files changed, 107 insertions(+), 40 deletions(-)\n create mode 100755 devtools/gen-abi-dump.sh"
}