get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 80793,
    "url": "http://patches.dpdk.org/api/patches/80793/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20201014183136.22239-3-dmitry.kozliuk@gmail.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": "<20201014183136.22239-3-dmitry.kozliuk@gmail.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20201014183136.22239-3-dmitry.kozliuk@gmail.com",
    "date": "2020-10-14T18:31:35",
    "name": "[v7,2/3] build: use Python pmdinfogen",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "fa5ced5532b833afabead3cb2e469c951c276d6e",
    "submitter": {
        "id": 1581,
        "url": "http://patches.dpdk.org/api/people/1581/?format=api",
        "name": "Dmitry Kozlyuk",
        "email": "dmitry.kozliuk@gmail.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/20201014183136.22239-3-dmitry.kozliuk@gmail.com/mbox/",
    "series": [
        {
            "id": 12968,
            "url": "http://patches.dpdk.org/api/series/12968/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=12968",
            "date": "2020-10-14T18:31:33",
            "name": "pmdinfogen: rewrite in Python",
            "version": 7,
            "mbox": "http://patches.dpdk.org/series/12968/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/80793/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/80793/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 C3453A04DB;\n\tWed, 14 Oct 2020 20:32:34 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 284131BF99;\n\tWed, 14 Oct 2020 20:31:57 +0200 (CEST)",
            "from mail-lj1-f178.google.com (mail-lj1-f178.google.com\n [209.85.208.178]) by dpdk.org (Postfix) with ESMTP id 030141DB18;\n Wed, 14 Oct 2020 20:31:47 +0200 (CEST)",
            "by mail-lj1-f178.google.com with SMTP id c21so433456ljn.13;\n Wed, 14 Oct 2020 11:31:46 -0700 (PDT)",
            "from localhost.localdomain (broadband-37-110-65-23.ip.moscow.rt.ru.\n [37.110.65.23])\n by smtp.gmail.com with ESMTPSA id d21sm32942lfl.62.2020.10.14.11.31.45\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 14 Oct 2020 11:31:45 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=ckUUpp/68YWeTyJx5dyVIlt3VIXvd8FgnKyroCqZu8E=;\n b=H0AbZvhJzvwnoPHg6radrSTuIPR8iaH0lhwrjxO7OXm9iY1WUGWkZvhfrCBdihqxdq\n tCigK1xnPkPcAWdMUo56MX2Nx+AWsKvN28JXh5HDc1pQXK0CxF6tsxwiCWWp23s4JmnL\n MxCO2Rjr0m0q5QRJcLeAb1NdtsXYX9c4kFkcMHLyAaFSzMFtulwhAjyFw6lMz0Jj8v8w\n JHuOem01dm59lGJvztxR/xwmTVfWJADwi3qSgrAxiqqUkn9yUeUrJiYr0K1IARgOZ8ut\n gHCbO9pyNAivGtA92qxyhFaqdMfqx//YP3rEgaMBIxR5atOv3HNwqpJeqRNReY35X882\n VTXA==",
        "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=ckUUpp/68YWeTyJx5dyVIlt3VIXvd8FgnKyroCqZu8E=;\n b=flOQm2u4exDlxKGoMqCdnzgZzZW4QX7Lk4umxMu9FBIhiHFlnn+c5ZB14moEozJwpj\n YuSVh37beUEaGltWGb7FLXoddbEWEFPUvVMwW5VAF2JK94nnwJqsTeMibxY10w6xxaDm\n G07m+TxYznpEmPex31zOAEZtGmoZ3qQh34PfWirjg0SZHphDD5vD9JRlyR2OPM4uRe+o\n ws4Q3x3Nh7jP61z3MdavLhKvUZKiyElMB4UsG3WKrV7s8GXjCyb1qpz3tvsZMgTf/bG8\n DacbBkJLM9uRmL+nLiZ3ybgXIp53imDwBkL8diD9sPXR0i1JUdDRXoBKKY92573QWiA8\n THbw==",
        "X-Gm-Message-State": "AOAM530J3qNmIcJIGp99bNhPQBXqFJDRhj0Rm67LsUYOAJEK5f9yeBp+\n UYJEudJRpdjCDOLqDJxRj6m+tYHeHheG2Q==",
        "X-Google-Smtp-Source": "\n ABdhPJwtYjSFuS5q6n254khQEvHqJSGO6/DEzPhhuzIBWjv9z/2QSOK63DGS0D3QazaUjkn3luZkOg==",
        "X-Received": "by 2002:a2e:a54c:: with SMTP id e12mr14476ljn.164.1602700306279;\n Wed, 14 Oct 2020 11:31:46 -0700 (PDT)",
        "From": "Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>",
        "To": "dev@dpdk.org",
        "Cc": "ci@dpdk.org, Stephen Hemminger <stephen@networkplumber.org>,\n David Marchand <david.marchand@redhat.com>,\n Thomas Monjalon <thomas@monjalon.net>,\n Maxime Coquelin <maxime.coquelin@redhat.com>,\n Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>,\n Aaron Conole <aconole@redhat.com>,\n Michael Santana <maicolgabriel@hotmail.com>,\n Bruce Richardson <bruce.richardson@intel.com>",
        "Date": "Wed, 14 Oct 2020 21:31:35 +0300",
        "Message-Id": "<20201014183136.22239-3-dmitry.kozliuk@gmail.com>",
        "X-Mailer": "git-send-email 2.28.0",
        "In-Reply-To": "<20201014183136.22239-1-dmitry.kozliuk@gmail.com>",
        "References": "<20201004015947.9012-1-dmitry.kozliuk@gmail.com>\n <20201014183136.22239-1-dmitry.kozliuk@gmail.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v7 2/3] build: use Python pmdinfogen",
        "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": "Use the same interpreter to run pmdinfogen as for other build scripts.\nAdjust wrapper script accordingly and also don't suppress stderr from ar\nand pmdinfogen.\n\nAdd configure-time check for elftools Python module.\n\nAdd python3-pyelftools to CI configuration. The package is available on\nall major distributions. FreeBSD has no system requirements section in\nits GSG. Currently neither Windows uses pmdinfogen, nor is COFF (PE)\nsupported.\n\nSigned-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>\n---\n .travis.yml                       |  2 +-\n buildtools/gen-pmdinfo-cfile.sh   |  6 +++---\n buildtools/meson.build            | 15 +++++++++++++++\n doc/guides/linux_gsg/sys_reqs.rst |  6 ++++++\n drivers/meson.build               |  2 +-\n meson.build                       |  1 -\n 6 files changed, 26 insertions(+), 6 deletions(-)",
    "diff": "diff --git a/.travis.yml b/.travis.yml\nindex 5e12db23b..6744f6fc1 100644\n--- a/.travis.yml\n+++ b/.travis.yml\n@@ -11,7 +11,7 @@ addons:\n   apt:\n     update: true\n     packages: &required_packages\n-      - [libnuma-dev, python3-setuptools, python3-wheel, python3-pip, ninja-build]\n+      - [libnuma-dev, python3-setuptools, python3-wheel, python3-pip, python3-pyelftools, ninja-build]\n       - [libbsd-dev, libpcap-dev, libibverbs-dev, libcrypto++-dev, libfdt-dev, libjansson-dev]\n \n _aarch64_packages: &aarch64_packages\ndiff --git a/buildtools/gen-pmdinfo-cfile.sh b/buildtools/gen-pmdinfo-cfile.sh\nindex 43059cf36..109ee461e 100755\n--- a/buildtools/gen-pmdinfo-cfile.sh\n+++ b/buildtools/gen-pmdinfo-cfile.sh\n@@ -4,11 +4,11 @@\n \n arfile=$1\n output=$2\n-pmdinfogen=$3\n+shift 2\n+pmdinfogen=$*\n \n # The generated file must not be empty if compiled in pedantic mode\n echo 'static __attribute__((unused)) const char *generator = \"'$0'\";' > $output\n for ofile in `ar t $arfile` ; do\n-\tar p $arfile $ofile | $pmdinfogen - - >> $output 2> /dev/null\n+\tar p $arfile $ofile | $pmdinfogen - - >> $output\n done\n-exit 0\ndiff --git a/buildtools/meson.build b/buildtools/meson.build\nindex 04808dabc..0c668eb46 100644\n--- a/buildtools/meson.build\n+++ b/buildtools/meson.build\n@@ -17,3 +17,18 @@ else\n endif\n map_to_win_cmd = py3 + files('map_to_win.py')\n sphinx_wrapper = py3 + files('call-sphinx-build.py')\n+pmdinfogen = py3 + files('pmdinfogen.py')\n+\n+# TODO: starting from Meson 0.51.0 use\n+# \tpython3 = import('python').find_installation('python',\n+#\t\tmodules : python3_required_modules)\n+python3_required_modules = ['elftools']\n+foreach module : python3_required_modules\n+\tscript = \\\n+\t\t'import importlib.util;' + \\\n+\t\t'import sys;' + \\\n+\t\t'exit(importlib.util.find_spec(\"@0@\") is None)'.format(module)\n+\tif run_command(py3, '-c', script).returncode() != 0\n+\t\terror('missing python module: @0@'.format(module))\n+\tendif\n+endforeach\ndiff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst\nindex 6ecdc04aa..89c9f2570 100644\n--- a/doc/guides/linux_gsg/sys_reqs.rst\n+++ b/doc/guides/linux_gsg/sys_reqs.rst\n@@ -52,6 +52,12 @@ Compilation of the DPDK\n     * If the packaged version is below the minimum version, the latest versions\n       can be installed from Python's \"pip\" repository: ``pip3 install meson ninja``\n \n+*   ``pyelftools`` (version 0.22+)\n+\n+    * For RHEL/Fedora systems it can be installed using ``dnf install python-pyelftools``\n+\n+    * For Ubuntu/Debian it can be installed using ``apt install python3-pyelftools``\n+\n *   Library for handling NUMA (Non Uniform Memory Access).\n \n     * ``numactl-devel`` in RHEL/Fedora;\ndiff --git a/drivers/meson.build b/drivers/meson.build\nindex 5f9526557..88364259d 100644\n--- a/drivers/meson.build\n+++ b/drivers/meson.build\n@@ -137,7 +137,7 @@ foreach subpath:subdirs\n \t\t\t\t\t\tcommand: [pmdinfo, tmp_lib.full_path(),\n \t\t\t\t\t\t\t'@OUTPUT@', pmdinfogen],\n \t\t\t\t\t\toutput: out_filename,\n-\t\t\t\t\t\tdepends: [pmdinfogen, tmp_lib])\n+\t\t\t\t\t\tdepends: [tmp_lib])\n \t\t\tendif\n \n \t\t\t# now build the static driver\ndiff --git a/meson.build b/meson.build\nindex 61d9a4f5f..a6e8c09c2 100644\n--- a/meson.build\n+++ b/meson.build\n@@ -45,7 +45,6 @@ subdir('buildtools')\n subdir('config')\n \n # build libs and drivers\n-subdir('buildtools/pmdinfogen')\n subdir('lib')\n subdir('drivers')\n \n",
    "prefixes": [
        "v7",
        "2/3"
    ]
}