get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 63940,
    "url": "http://patches.dpdk.org/api/patches/63940/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20191216162242.1898285-1-thomas@monjalon.net/",
    "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": "<20191216162242.1898285-1-thomas@monjalon.net>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20191216162242.1898285-1-thomas@monjalon.net",
    "date": "2019-12-16T16:22:42",
    "name": "devtools: avoid config backup during test build setup",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "8cd2e3a822f0f9159c7266b9f940d701425534e5",
    "submitter": {
        "id": 685,
        "url": "http://patches.dpdk.org/api/people/685/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas@monjalon.net"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20191216162242.1898285-1-thomas@monjalon.net/mbox/",
    "series": [
        {
            "id": 7853,
            "url": "http://patches.dpdk.org/api/series/7853/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=7853",
            "date": "2019-12-16T16:22:42",
            "name": "devtools: avoid config backup during test build setup",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/7853/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/63940/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/63940/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 25866A04F0;\n\tMon, 16 Dec 2019 17:22:59 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id BD6AC1D9E;\n\tMon, 16 Dec 2019 17:22:58 +0100 (CET)",
            "from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com\n [66.111.4.29]) by dpdk.org (Postfix) with ESMTP id 51498330;\n Mon, 16 Dec 2019 17:22:57 +0100 (CET)",
            "from compute1.internal (compute1.nyi.internal [10.202.2.41])\n by mailout.nyi.internal (Postfix) with ESMTP id 840B121D73;\n Mon, 16 Dec 2019 11:22:55 -0500 (EST)",
            "from mailfrontend1 ([10.202.2.162])\n by compute1.internal (MEProxy); Mon, 16 Dec 2019 11:22:55 -0500",
            "from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184])\n by mail.messagingengine.com (Postfix) with ESMTPA id 086968005B;\n Mon, 16 Dec 2019 11:22:53 -0500 (EST)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n from:to:cc:subject:date:message-id:mime-version\n :content-transfer-encoding; s=mesmtp; bh=t7fXQtmWyUPvfWti2fjn1f+\n V5LPy2K8II3Jum69WRNU=; b=J50+k0HDv6L9ySvicZKFELWV7fdGoHoWQ+XhqaY\n mR45r/ac3l8GPDlPNrnjziLVByJkt8Iw2bdzH2E1GwhQxU9gSeeuwCBue9mUyRIl\n YbyhMS4BOAPydi+uXvdaa2NzfvNeFLS9CnEqYVUpdC7TSZwscft3jqQsXBhFCe0L\n IesU=",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n messagingengine.com; h=cc:content-transfer-encoding:date:from\n :message-id:mime-version:subject:to:x-me-proxy:x-me-proxy\n :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=t7fXQtmWyUPvfWti2\n fjn1f+V5LPy2K8II3Jum69WRNU=; b=KyWMKbv2x67/XS63pDszvNMIz517QKEze\n W5VLJ6OBE/KeQa2s9wnWSa978ZVdrs6aC7T/k+Z8Nslt8MGy4BH0DFzU0Fcl8sRq\n WbmKjH7s6XdT8k/ofEKpfyhPYPudrfDu6XCX0cRZG6Hvc7oifCcYsd+dINB3m177\n xUM+nLX0AH8sScezCW9DRO9PhrzcuRWesd/KYg8W5frQK9x6hhMmoMaDOjmP+4/f\n kf6+MDeMgf/DCjUAke5UrrzRUra9Sd1tPe8H3wiDkLoKVVYWbOgQND27b/KwBmwo\n HlZzi/Ap0nyX2qqSMf1Ql4ND9L5ccW928wQFoZibGjds9fFo3dy3Q=="
        ],
        "X-ME-Sender": "<xms:Xq_3XUWiexSRO2ZqdIThJ0IQu0cJjJCgSbm9UMVODarncO-SfYKYmw>",
        "X-ME-Proxy-Cause": "\n gggruggvucftvghtrhhoucdtuddrgedufedrvddthedgkeekucetufdoteggodetrfdotf\n fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen\n uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne\n cujfgurhephffvufffkffoggfgsedtkeertdertddtnecuhfhrohhmpefvhhhomhgrshcu\n ofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecuffhomh\n grihhnpehfrhgvvggsshgurdhorhhgnecukfhppeejjedrudefgedrvddtfedrudekgeen\n ucfrrghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth\n enucevlhhushhtvghrufhiiigvpedt",
        "X-ME-Proxy": "<xmx:Xq_3Xev_PsYE9051Wxklx3IC_3PffZkI8rR5sdLW0CWFKmL4GnDckQ>\n <xmx:Xq_3XbFpv7NrQIx0nTex3p7w8z6U7V-Nu4lxqONqI_PyFJ_4F2KVmg>\n <xmx:Xq_3XRIV_L6NBHl0krWzqio3cpRXG0lBzGZ62Xq7yrAivSODHfDiBw>\n <xmx:X6_3Xb2t65nCl8Kudy-4-3CtvIRioR--mbToZ7CdTqUmySFSyHr9zA>",
        "From": "Thomas Monjalon <thomas@monjalon.net>",
        "To": "dev@dpdk.org",
        "Cc": "olivier.matz@6wind.com, stable@dpdk.org,\n Ali Alnubani <alialnu@mellanox.com>,\n David Marchand <david.marchand@redhat.com>",
        "Date": "Mon, 16 Dec 2019 17:22:42 +0100",
        "Message-Id": "<20191216162242.1898285-1-thomas@monjalon.net>",
        "X-Mailer": "git-send-email 2.24.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH] devtools: avoid config backup during test build\n\tsetup",
        "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": "The config options are updated with sed and the short inline option.\nIn FreeBSD, the suffix argument of the inline option is mandatory.\nIn order to avoid creating a backup file when using sed inline,\nthe argument is set as an empty suffix.\n\nThe short option '-i' does not expect '=' before the suffix argument,\nso it understands '=' as the file suffix.\nAs a consequence, a backup file named '.config=' was created\nin the build directory.\n\nRemoving the '=' sign while keeping an empty suffix\navoids creating a backup file.\n\nFixes: 4a4a20c4775b (\"devtools: support FreeBSD\")\nCc: olivier.matz@6wind.com\nCc: stable@dpdk.org\n\nReported-by: Ali Alnubani <alialnu@mellanox.com>\nSigned-off-by: Thomas Monjalon <thomas@monjalon.net>\n---\n\nThis patch does not work on FreeBSD.\nDoes it mean the equal sign is required on FreeBSD?\nThis is not what I see on the documentation:\nhttps://www.freebsd.org/cgi/man.cgi?query=sed&sektion=&n=1\n\n---\n devtools/test-build.sh | 76 +++++++++++++++++++++---------------------\n 1 file changed, 38 insertions(+), 38 deletions(-)",
    "diff": "diff --git a/devtools/test-build.sh b/devtools/test-build.sh\nindex 52305fbb8c..8b6e484a8e 100755\n--- a/devtools/test-build.sh\n+++ b/devtools/test-build.sh\n@@ -141,82 +141,82 @@ config () # <directory> <target> <options>\n \t\techo 'Customize configuration'\n \t\t# Built-in options (lowercase)\n \t\t! echo $3 | grep -q '+default' || \\\n-\t\tsed -ri=\"\" 's,(RTE_MACHINE=\")native,\\1default,' $1/.config\n+\t\tsed -ri'' 's,(RTE_MACHINE=\")native,\\1default,' $1/.config\n \t\techo $3 | grep -q '+next' || \\\n-\t\tsed -ri=\"\"           's,(NEXT_ABI=)y,\\1n,' $1/.config\n+\t\tsed -ri''           's,(NEXT_ABI=)y,\\1n,' $1/.config\n \t\t! echo $3 | grep -q '+shared' || \\\n-\t\tsed -ri=\"\"         's,(SHARED_LIB=)n,\\1y,' $1/.config\n+\t\tsed -ri''         's,(SHARED_LIB=)n,\\1y,' $1/.config\n \t\t! echo $3 | grep -q '+debug' || ( \\\n-\t\tsed -ri=\"\"  's,(RTE_LOG_DP_LEVEL=).*,\\1RTE_LOG_DEBUG,' $1/.config\n-\t\tsed -ri=\"\"           's,(_DEBUG.*=)n,\\1y,' $1/.config\n-\t\tsed -ri=\"\"  's,(_STAT)([S_].*=|=)n,\\1\\2y,' $1/.config\n-\t\tsed -ri=\"\" 's,(TEST_PMD_RECORD_.*=)n,\\1y,' $1/.config )\n+\t\tsed -ri'' 's,(RTE_LOG_DP_LEVEL=).*,\\1RTE_LOG_DEBUG,' $1/.config\n+\t\tsed -ri''           's,(_DEBUG.*=)n,\\1y,' $1/.config\n+\t\tsed -ri''  's,(_STAT)([S_].*=|=)n,\\1\\2y,' $1/.config\n+\t\tsed -ri'' 's,(TEST_PMD_RECORD_.*=)n,\\1y,' $1/.config )\n \n \t\t# Automatic configuration\n \t\ttest \"$DPDK_DEP_NUMA\" != n || \\\n-\t\tsed -ri=\"\"             's,(NUMA.*=)y,\\1n,' $1/.config\n-\t\tsed -ri=\"\"    's,(LIBRTE_IEEE1588=)n,\\1y,' $1/.config\n-\t\tsed -ri=\"\"             's,(BYPASS=)n,\\1y,' $1/.config\n+\t\tsed -ri''             's,(NUMA.*=)y,\\1n,' $1/.config\n+\t\tsed -ri''    's,(LIBRTE_IEEE1588=)n,\\1y,' $1/.config\n+\t\tsed -ri''             's,(BYPASS=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_ARCHIVE\" != y || \\\n-\t\tsed -ri=\"\"       's,(RESOURCE_TAR=)n,\\1y,' $1/.config\n+\t\tsed -ri''       's,(RESOURCE_TAR=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_BPF\" != y || \\\n-\t\tsed -ri=\"\"         's,(PMD_AF_XDP=)n,\\1y,' $1/.config\n+\t\tsed -ri''         's,(PMD_AF_XDP=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_ISAL\" != y || \\\n-\t\tsed -ri=\"\"           's,(PMD_ISAL=)n,\\1y,' $1/.config\n+\t\tsed -ri''           's,(PMD_ISAL=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_MLX\" != y || \\\n-\t\tsed -ri=\"\"           's,(MLX._PMD=)n,\\1y,' $1/.config\n+\t\tsed -ri''           's,(MLX._PMD=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_NFB\" != y || \\\n-\t\tsed -ri=\"\"            's,(NFB_PMD=)n,\\1y,' $1/.config\n+\t\tsed -ri''            's,(NFB_PMD=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_SZE\" != y || \\\n-\t\tsed -ri=\"\"       's,(PMD_SZEDATA2=)n,\\1y,' $1/.config\n+\t\tsed -ri''       's,(PMD_SZEDATA2=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_ZLIB\" != y || \\\n-\t\tsed -ri=\"\"          's,(BNX2X_PMD=)n,\\1y,' $1/.config\n+\t\tsed -ri''          's,(BNX2X_PMD=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_ZLIB\" != y || \\\n-\t\tsed -ri=\"\"           's,(PMD_ZLIB=)n,\\1y,' $1/.config\n+\t\tsed -ri''           's,(PMD_ZLIB=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_ZLIB\" != y || \\\n-\t\tsed -ri=\"\"   's,(COMPRESSDEV_TEST=)n,\\1y,' $1/.config\n+\t\tsed -ri''   's,(COMPRESSDEV_TEST=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_PCAP\" != y || \\\n-\t\tsed -ri=\"\"               's,(PCAP=)n,\\1y,' $1/.config\n+\t\tsed -ri''               's,(PCAP=)n,\\1y,' $1/.config\n \t\ttest -z \"$ARMV8_CRYPTO_LIB_PATH\" || \\\n-\t\tsed -ri=\"\"   's,(PMD_ARMV8_CRYPTO=)n,\\1y,' $1/.config\n+\t\tsed -ri''   's,(PMD_ARMV8_CRYPTO=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_IPSEC_MB\" != y || \\\n-\t\tsed -ri=\"\"       's,(PMD_AESNI_MB=)n,\\1y,' $1/.config\n+\t\tsed -ri''       's,(PMD_AESNI_MB=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_IPSEC_MB\" != y || \\\n-\t\tsed -ri=\"\"      's,(PMD_AESNI_GCM=)n,\\1y,' $1/.config\n+\t\tsed -ri''      's,(PMD_AESNI_GCM=)n,\\1y,' $1/.config\n \t\ttest -z \"$LIBSSO_SNOW3G_PATH\" || \\\n-\t\tsed -ri=\"\"         's,(PMD_SNOW3G=)n,\\1y,' $1/.config\n+\t\tsed -ri''         's,(PMD_SNOW3G=)n,\\1y,' $1/.config\n \t\ttest -z \"$LIBSSO_KASUMI_PATH\" || \\\n-\t\tsed -ri=\"\"         's,(PMD_KASUMI=)n,\\1y,' $1/.config\n+\t\tsed -ri''         's,(PMD_KASUMI=)n,\\1y,' $1/.config\n \t\ttest -z \"$LIBSSO_ZUC_PATH\" || \\\n-\t\tsed -ri=\"\"            's,(PMD_ZUC=)n,\\1y,' $1/.config\n+\t\tsed -ri''            's,(PMD_ZUC=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_SSL\" != y || \\\n-\t\tsed -ri=\"\"            's,(PMD_CCP=)n,\\1y,' $1/.config\n+\t\tsed -ri''            's,(PMD_CCP=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_SSL\" != y || \\\n-\t\tsed -ri=\"\"        's,(PMD_OPENSSL=)n,\\1y,' $1/.config\n+\t\tsed -ri''        's,(PMD_OPENSSL=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_SSL\" != y || \\\n-\t\tsed -ri=\"\"            's,(QAT_SYM=)n,\\1y,' $1/.config\n+\t\tsed -ri''            's,(QAT_SYM=)n,\\1y,' $1/.config\n \t\ttest -z \"$FLEXRAN_SDK\" || \\\n-\t\tsed -ri=\"\"     's,(BBDEV_TURBO_SW=)n,\\1y,' $1/.config\n-\t\tsed -ri=\"\"           's,(SCHED_.*=)n,\\1y,' $1/.config\n+\t\tsed -ri''     's,(BBDEV_TURBO_SW=)n,\\1y,' $1/.config\n+\t\tsed -ri''           's,(SCHED_.*=)n,\\1y,' $1/.config\n \t\ttest -z \"$LIBMUSDK_PATH\" || \\\n-\t\tsed -ri=\"\"   's,(PMD_MVSAM_CRYPTO=)n,\\1y,' $1/.config\n+\t\tsed -ri''   's,(PMD_MVSAM_CRYPTO=)n,\\1y,' $1/.config\n \t\ttest -z \"$LIBMUSDK_PATH\" || \\\n-\t\tsed -ri=\"\"          's,(MVPP2_PMD=)n,\\1y,' $1/.config\n+\t\tsed -ri''          's,(MVPP2_PMD=)n,\\1y,' $1/.config\n \t\ttest -z \"$LIBMUSDK_PATH\" || \\\n-\t\tsed -ri=\"\"         's,(MVNETA_PMD=)n,\\1y,' $1/.config\n+\t\tsed -ri''         's,(MVNETA_PMD=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_ELF\" != y || \\\n-\t\tsed -ri=\"\"            's,(BPF_ELF=)n,\\1y,' $1/.config\n+\t\tsed -ri''            's,(BPF_ELF=)n,\\1y,' $1/.config\n \t\ttest \"$DPDK_DEP_JSON\" != y || \\\n-\t\tsed -ri=\"\"          's,(TELEMETRY=)n,\\1y,' $1/.config\n+\t\tsed -ri''          's,(TELEMETRY=)n,\\1y,' $1/.config\n \t\tbuild_config_hook $1 $2 $3\n \n \t\t# Explicit enabler/disabler (uppercase)\n \t\tfor option in $(echo $3 | sed 's,[~+], &,g') ; do\n \t\t\tpattern=$(echo $option | cut -c2-)\n \t\t\tif echo $option | grep -q '^~' ; then\n-\t\t\t\tsed -ri=\"\" \"s,($pattern=)y,\\1n,\" $1/.config\n+\t\t\t\tsed -ri'' \"s,($pattern=)y,\\1n,\" $1/.config\n \t\t\telif echo $option | grep -q '^+' ; then\n-\t\t\t\tsed -ri=\"\" \"s,($pattern=)n,\\1y,\" $1/.config\n+\t\t\t\tsed -ri'' \"s,($pattern=)n,\\1y,\" $1/.config\n \t\t\tfi\n \t\tdone\n \tfi\n",
    "prefixes": []
}