get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 74024,
    "url": "http://patchwork.dpdk.org/api/patches/74024/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20200714232101.32544-1-stephen@networkplumber.org/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<20200714232101.32544-1-stephen@networkplumber.org>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200714232101.32544-1-stephen@networkplumber.org",
    "date": "2020-07-14T23:21:01",
    "name": "[v5] devtools: add new SPDX license compliance checker",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "15e3122805457597a492a6e5f95fef177aeb33cd",
    "submitter": {
        "id": 27,
        "url": "http://patchwork.dpdk.org/api/people/27/?format=api",
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org"
    },
    "delegate": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20200714232101.32544-1-stephen@networkplumber.org/mbox/",
    "series": [
        {
            "id": 11024,
            "url": "http://patchwork.dpdk.org/api/series/11024/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=11024",
            "date": "2020-07-14T23:21:01",
            "name": "[v5] devtools: add new SPDX license compliance checker",
            "version": 5,
            "mbox": "http://patchwork.dpdk.org/series/11024/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/74024/comments/",
    "check": "warning",
    "checks": "http://patchwork.dpdk.org/api/patches/74024/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 6396BA0540;\n\tWed, 15 Jul 2020 01:21:13 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 994131C1B2;\n\tWed, 15 Jul 2020 01:21:12 +0200 (CEST)",
            "from mail-pj1-f67.google.com (mail-pj1-f67.google.com\n [209.85.216.67]) by dpdk.org (Postfix) with ESMTP id A4A371C115\n for <dev@dpdk.org>; Wed, 15 Jul 2020 01:21:11 +0200 (CEST)",
            "by mail-pj1-f67.google.com with SMTP id k71so141495pje.0\n for <dev@dpdk.org>; Tue, 14 Jul 2020 16:21:11 -0700 (PDT)",
            "from hermes.corp.microsoft.com (204-195-22-127.wavecable.com.\n [204.195.22.127])\n by smtp.gmail.com with ESMTPSA id d5sm145703pju.15.2020.07.14.16.21.08\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 14 Jul 2020 16:21:08 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=networkplumber-org.20150623.gappssmtp.com; s=20150623;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=iAH05qDFUk2RYGfNs3U066xY2DWlmv4tMDummuyukQM=;\n b=MzanTq5qJcuBAVEfUgHHl1YTsIk7KfZdqX4URHwYOeTwx6LEWMZ47+w6AV721406re\n si3ZrTMc0b0m3xWjXg+NeiqPzCcYGeGNy6D3yhfuaVeJRGfcrxKEoDrSpA0c5OiG3tcw\n aBMZwXlbz3fOLahTMAG1zypQ4TaayZ3qAitbK1GxfqkFimR/XF8niyhuAEOs3h2kp7Ci\n FXgV0WxTqDAOTn7G6LRA8Tb92tkny+vyz6GG/m1vq0c9x95p7F2ks5qBhUFpkvXg4ab/\n UcDTbzUEYXBqlOEKwKBkZaIWOa9DPa9KmBI6JNcmnBSzFw98O3vyTWBaWRYIUEEEBb9E\n 1caQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version:content-transfer-encoding;\n bh=iAH05qDFUk2RYGfNs3U066xY2DWlmv4tMDummuyukQM=;\n b=QmBYnNGykIu3d4Dd1MbI8ydTGoOfuSR0/SIbMBjcBaBqGhqgMOmm1ypp0BC1zaouHR\n JSaatI6aBP69xCzgPi/Hp1xuEJFfsWWAkUtR/MUxl9lHLsMizJ6U6809qzBsMBHurevr\n HOrHfbufn5GsJtEqj89CHdR18ZsB8+BVEb4TyWQ2l/LMBH63PUWCtXoeLSr5/KasoRXI\n bwiVCHvH5K1g28dZvytAGdFWcXAqyaQmFYl7nupPzA6M/8W1KsSTeNAdnxSudcL0DdkS\n k8OgM3ueZpjnLVXEJmQb7M5aIdnVTW+bef+5o6ddX1BwU5jXr12dr7oOdwu2MBOxuLvn\n mcow==",
        "X-Gm-Message-State": "AOAM533k4xrDkftA6iCp/5ieoxIO9fldvNqqqibzuHdkqCDaCYzZ6Dun\n yNxArL83KJ2WRC5V2h49uP8CiSoRwk4/cw==",
        "X-Google-Smtp-Source": "\n ABdhPJw0KdEdFC99XKJlOJMdEgEoEyFBBfS34bjtUpQq8hjnWrWaVxAMnnHXIqR91Cp3zT7Sv5Zmeg==",
        "X-Received": "by 2002:a17:90b:94f:: with SMTP id\n dw15mr7200734pjb.199.1594768870078;\n Tue, 14 Jul 2020 16:21:10 -0700 (PDT)",
        "From": "Stephen Hemminger <stephen@networkplumber.org>",
        "To": "dev@dpdk.org",
        "Cc": "Stephen Hemminger <stephen@networkplumber.org>",
        "Date": "Tue, 14 Jul 2020 16:21:01 -0700",
        "Message-Id": "<20200714232101.32544-1-stephen@networkplumber.org>",
        "X-Mailer": "git-send-email 2.27.0",
        "In-Reply-To": "<20200129155907.20556-1-stephen@networkplumber.org>",
        "References": "<20200129155907.20556-1-stephen@networkplumber.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v5] devtools: add new SPDX license compliance\n\tchecker",
        "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": "Simple script to look for drivers and scripts that\nare missing requires SPDX header.\n\nSigned-off-by: Stephen Hemminger <stephen@networkplumber.org>\n---\n\nv5 - address review comments\n     simplify the display logic\n     scan doc and buildtools as well\n\n MAINTAINERS                              |  1 +\n devtools/check-spdx-tag.sh               | 70 ++++++++++++++++++++++++\n doc/guides/contributing/coding_style.rst |  9 ++-\n 3 files changed, 78 insertions(+), 2 deletions(-)\n create mode 100755 devtools/check-spdx-tag.sh",
    "diff": "diff --git a/MAINTAINERS b/MAINTAINERS\nindex 3cd402b34c91..a9e01330a71e 100644\n--- a/MAINTAINERS\n+++ b/MAINTAINERS\n@@ -90,6 +90,7 @@ F: devtools/check-maintainers.sh\n F: devtools/check-forbidden-tokens.awk\n F: devtools/check-git-log.sh\n F: devtools/check-includes.sh\n+F: devtools/check-spdx-tag.sh\n F: devtools/check-symbol-maps.sh\n F: devtools/checkpatches.sh\n F: devtools/get-maintainer.sh\ndiff --git a/devtools/check-spdx-tag.sh b/devtools/check-spdx-tag.sh\nnew file mode 100755\nindex 000000000000..ff9e9c61b697\n--- /dev/null\n+++ b/devtools/check-spdx-tag.sh\n@@ -0,0 +1,70 @@\n+#! /bin/sh\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright 2020 Microsoft Corporation\n+#\n+# Produce a list of files with incorrect license tags\n+\n+errors=0\n+warnings=0\n+quiet=false\n+verbose=false\n+\n+print_usage () {\n+    echo \"usage: $(basename $0) [-q] [-v]\"\n+    exit 1\n+}\n+\n+check_spdx() {\n+    if  $verbose;  then\n+\techo \"Files without SPDX License\"\n+\techo \"--------------------------\"\n+    fi\n+    git grep -L SPDX-License-Identifier -- \\\n+\t':^.git*' ':^.ci/*' ':^.travis.yml' \\\n+\t':^README' ':^MAINTAINERS' ':^VERSION' ':^ABI_VERSION' \\\n+\t':^*/Kbuild' ':^*/README' \\\n+\t':^license/' ':^config/' ':^buildtools/' \\\n+\t':^*.cocci' ':^*.abignore' \\\n+\t':^*.def' ':^*.map' ':^*.ini' ':^*.data' ':^*.cfg' ':^*.txt' \\\n+\t':^*.svg' ':^*.png'\\\n+\t> $tmpfile\n+\n+    errors=$(wc -l < $tmpfile)\n+    $quiet || cat $tmpfile\n+}\n+\n+check_boilerplate() {\n+    if $verbose ; then\n+\techo\n+\techo \"Files with redundant license text\"\n+\techo \"---------------------------------\"\n+    fi\n+\n+    git grep -l Redistribution -- \\\n+\t':^license/' ':^/devtools/check-spdx-tag.sh' > $tmpfile\n+\n+    warnings=$(wc -l <$tmpfile)\n+    $quiet || cat $tmpfile\n+}\n+\n+while getopts qvh ARG ; do\n+\tcase $ARG in\n+\t\tq ) quiet=true ;;\n+\t\tv ) verbose=true ;;\n+\t\th ) print_usage ; exit 0 ;;\n+\t\t? ) print_usage ; exit 1 ;;\n+\tesac\n+done\n+shift $(($OPTIND - 1))\n+\n+tmpfile=$(mktemp)\n+trap 'rm -f -- \"$tmpfile\"' INT TERM HUP EXIT\n+\n+check_spdx\n+$quiet || echo\n+\n+check_boilerplate\n+\n+$quiet || echo\n+echo \"total: $errors errors, $warnings warnings\"\n+exit $errors\ndiff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst\nindex 4efde93f6af0..b55075eaa240 100644\n--- a/doc/guides/contributing/coding_style.rst\n+++ b/doc/guides/contributing/coding_style.rst\n@@ -54,8 +54,13 @@ To document a public API, a doxygen-like format must be used: refer to :ref:`dox\n License Header\n ~~~~~~~~~~~~~~\n \n-Each file should begin with a special comment containing the appropriate copyright and license for the file.\n-Generally this is the BSD License, except for code for Linux Kernel modules.\n+Each file must begin with a special comment containing the\n+`Software Package Data Exchange (SPDX) License Identfier <https://spdx.org/using-spdx-license-identifier>`_.\n+\n+Generally this is the BSD License, except for code granted special exceptions.\n+The SPDX licences identifier is sufficient, a file should not contain\n+an additional text version of the license (boilerplate).\n+\n After any copyright header, a blank line should be left before any other contents, e.g. include statements in a C file.\n \n C Preprocessor Directives\n",
    "prefixes": [
        "v5"
    ]
}