get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/81803/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 81803,
    "url": "http://patches.dpdk.org/api/patches/81803/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20201022145944.470054-2-bruce.richardson@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": "<20201022145944.470054-2-bruce.richardson@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20201022145944.470054-2-bruce.richardson@intel.com",
    "date": "2020-10-22T14:59:42",
    "name": "[RFC,1/3] build: add a dpdk-specific meson log file",
    "commit_ref": null,
    "pull_url": null,
    "state": "rejected",
    "archived": true,
    "hash": "2692f19be6161be3e8761e9419270a393464ece6",
    "submitter": {
        "id": 20,
        "url": "http://patches.dpdk.org/api/people/20/?format=api",
        "name": "Bruce Richardson",
        "email": "bruce.richardson@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20201022145944.470054-2-bruce.richardson@intel.com/mbox/",
    "series": [
        {
            "id": 13218,
            "url": "http://patches.dpdk.org/api/series/13218/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=13218",
            "date": "2020-10-22T14:59:42",
            "name": "add custom logging to DPDK meson runs",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/13218/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/81803/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/81803/checks/",
    "tags": {},
    "related": [],
    "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 22B86A04DD;\n\tThu, 22 Oct 2020 17:00:06 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 5B465AA08;\n\tThu, 22 Oct 2020 17:00:03 +0200 (CEST)",
            "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n by dpdk.org (Postfix) with ESMTP id 9B12FAA05\n for <dev@dpdk.org>; Thu, 22 Oct 2020 17:00:00 +0200 (CEST)",
            "from orsmga005.jf.intel.com ([10.7.209.41])\n by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 22 Oct 2020 07:59:56 -0700",
            "from silpixa00399126.ir.intel.com ([10.237.222.4])\n by orsmga005.jf.intel.com with ESMTP; 22 Oct 2020 07:59:55 -0700"
        ],
        "IronPort-SDR": [
            "\n CWvq7YT2ppv8sRIb6GJFjXIyQVaisNviVeeTgu+hW7s5+4RLX3Rw1X3pFsu5zFPFyflR9W2XTL\n 4O/kZdZv8WiQ==",
            "\n nrC5wM7IuSiPUkQB78QWzf4NEdt0cSIUNJ7MyrxdtySKqA5/LpivKQvFprdB9YLvbmf+/S/B04\n x49+J1+GOaFQ=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6000,8403,9781\"; a=\"185218988\"",
            "E=Sophos;i=\"5.77,404,1596524400\"; d=\"scan'208\";a=\"185218988\"",
            "E=Sophos;i=\"5.77,404,1596524400\"; d=\"scan'208\";a=\"533997464\""
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "From": "Bruce Richardson <bruce.richardson@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "Bruce Richardson <bruce.richardson@intel.com>",
        "Date": "Thu, 22 Oct 2020 15:59:42 +0100",
        "Message-Id": "<20201022145944.470054-2-bruce.richardson@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20201022145944.470054-1-bruce.richardson@intel.com>",
        "References": "<20201022145944.470054-1-bruce.richardson@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [RFC PATCH 1/3] build: add a dpdk-specific meson log file",
        "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": "While meson itself writes a log file of all the tests it runs and the\noutput of those, to help debug any build problems and provide more\ndeveloper information it can be helpful to have a logfile created and\ncontrolled by the dpdk meson.build files themselves.\n\nSince meson doesn't directly support this we need to use run_command to\nimplement it manually. Using a python script to do the writing of the log\nmakes things cross-platform, and as initial log entries we can add in the\nmessages about the defined internal dependencies, since these are of\ndeveloper interest only.\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n buildtools/meson.build        |  1 +\n buildtools/write-log-entry.py | 23 +++++++++++++++++++++++\n drivers/meson.build           |  2 +-\n lib/meson.build               |  2 +-\n meson.build                   |  8 ++++++--\n 5 files changed, 32 insertions(+), 4 deletions(-)\n create mode 100644 buildtools/write-log-entry.py",
    "diff": "diff --git a/buildtools/meson.build b/buildtools/meson.build\nindex 04808dabc..35a8f4290 100644\n--- a/buildtools/meson.build\n+++ b/buildtools/meson.build\n@@ -17,3 +17,4 @@ else\n endif\n map_to_win_cmd = py3 + files('map_to_win.py')\n sphinx_wrapper = py3 + files('call-sphinx-build.py')\n+log = py3 + [files('write-log-entry.py'), 'dpdk-meson.log']\ndiff --git a/buildtools/write-log-entry.py b/buildtools/write-log-entry.py\nnew file mode 100644\nindex 000000000..6ec748a4f\n--- /dev/null\n+++ b/buildtools/write-log-entry.py\n@@ -0,0 +1,23 @@\n+#!/usr/bin/env python3\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright(c) 2020 Intel Corporation\n+\n+from sys import argv, exit\n+from time import strftime\n+from os import environ\n+from os.path import join as path_join\n+\n+if len(argv) < 2: # error if no filename\n+    exit(1)\n+if len(argv) < 3: # do nothing if no contents to log\n+    exit(0)\n+\n+build_dir = environ.get('MESON_BUILD_ROOT', '.')\n+filename = path_join(build_dir, argv[1])\n+\n+# append dates to headings\n+if argv[2].startswith('===='):\n+    argv.append(strftime('@@ %Y-%m-%d %X'))\n+\n+with open(filename, 'a') as log:\n+    print(\" \".join(argv[2:]), file=log)\ndiff --git a/drivers/meson.build b/drivers/meson.build\nindex a5a6fed06..c008abd4a 100644\n--- a/drivers/meson.build\n+++ b/drivers/meson.build\n@@ -228,7 +228,7 @@ foreach subpath:subdirs\n \t\t\tset_variable('shared_@0@'.format(lib_name), shared_dep)\n \t\t\tset_variable('static_@0@'.format(lib_name), static_dep)\n \t\t\tdependency_name = ''.join(lib_name.split('rte_'))\n-\t\t\tmessage('drivers/@0@: Defining dependency \"@1@\"'.format(\n+\t\t\trun_command(log, 'drivers/@0@: Defining dependency \"@1@\"'.format(\n \t\t\t\t\tdrv_path, dependency_name))\n \t\tendif # build\n \tendforeach\ndiff --git a/lib/meson.build b/lib/meson.build\nindex dd55b5cb5..2715c0f66 100644\n--- a/lib/meson.build\n+++ b/lib/meson.build\n@@ -200,7 +200,7 @@ foreach l:libraries\n \n \t\tset_variable('shared_rte_' + name, shared_dep)\n \t\tset_variable('static_rte_' + name, static_dep)\n-\t\tmessage('lib/@0@: Defining dependency \"@1@\"'.format(\n+\t\trun_command(log, 'lib/@0@: Defining dependency \"@1@\"'.format(\n \t\t\t\tdir_name, name))\n \tendif # if build\n endforeach\ndiff --git a/meson.build b/meson.build\nindex 61d9a4f5f..ab950a2ce 100644\n--- a/meson.build\n+++ b/meson.build\n@@ -11,6 +11,11 @@ project('DPDK', 'C',\n \tmeson_version: '>= 0.47.1'\n )\n \n+# get tool paths and scripts\n+subdir('buildtools')\n+\n+run_command(log, '======= Starting meson =======')\n+\n # set up some global vars for compiler, platform, configuration, etc.\n cc = meson.get_compiler('c')\n dpdk_conf = configuration_data()\n@@ -40,8 +45,7 @@ global_inc = include_directories('.', 'config',\n \t'lib/librte_eal/@0@/include'.format(arch_subdir),\n )\n \n-# do configuration and get tool paths\n-subdir('buildtools')\n+# do main build config\n subdir('config')\n \n # build libs and drivers\n",
    "prefixes": [
        "RFC",
        "1/3"
    ]
}